Offcanvas

CIO / How To / 개발자 / 애플리케이션

때로는 놀랍도록 찰떡궁합··· LCNC로 앱 현대화하기

2023.06.28 Isaac Sacolick  |  InfoWorld
LCNC(low-code, no-code) 플랫폼을 이용해 애플리케이션 현대화를 도모할 수 있을까? 가능한 이야기다. 단 경우에 따라 다르다. 경우별로 살펴본다. 

많은 기업이 구형 애플리케이션을 현대화하고, 모놀리식 애플리케이션 아키텍처를 서비스로 세분화하며, 퍼블릭 또는 프라이빗 클라우드 인프라로 마이그레이션하는 중일 터다. 이 과정에서 사용자 환경을 개선하고, CI/CD 파이프라인을 생성하며, 테스트 자동화를 추가하고, 기타 다양한 데브옵스(DevOps) 모범 사례를 구현하고자 할 수도 있다.

원대한 계획이지만 안타까운 현실이 있다. 최근 연구에 따르면, 애플리케이션 현대화 프로젝트의 79%가 실패한다. 이 연구에 참여한 응답자의 92%는 애플리케이션 현대화를 진행 중이었으며, 평균 프로젝트 기간은 16개월, 비용은 150만 달러였다. 더 심각한 것은 소프트웨어 리더와 아키텍트의 거의 80%가 한 번 이상의 실패를 인정했다는 점이다.

한때는 애플리케이션 현대화와 관련해 리프트 앤 시프트가 인기 있었지만, 이제는 리프트 앤 시프트 방식을 선호하지 않는 사람들이 많다. 이점이 거의 없다는 이유에서다. 마이그레이션 위험이 거의 없을지라도 마이그레이션 및 테스트 비용으로 인해 비즈니스 이점이 희박한 경우가 잦다. 그리고 점점 더 많은 조직이 리프트 앤 시프트의 대안으로 로우코드 및 노코드 플랫폼을 찾고 있다.
 
앱 현대화가 실패하는 이유

‘그냥 클라우드로 옮기는 것’이 쉽지 않은 이유는 ‘7R’로 기억하는 클라우드 앱 현대화 방식 7가지’에서 확인할 수 있다.

로우코드 또는 노코드 플랫폼을 선택해야 하는 경우
로우코드 및 노코드 플랫폼을 사용하는 것은 애플리케이션 현대화를 실용적으로 시도하는 한 방법이다. 기존 코드와 데이터베이스를 LCNC 플랫폼으로 간단히 이전할 수 있는 경우는 드물다. 그러나 구형 애플리케이션을 빠르게 재구축하거나 단점을 해결할 수 있는 잠재력을 제시한다.

코파도(Copado)의 수석 방법론 디렉터인 앤드류 데이비스는 “소프트웨어 아키텍처를 단편적으로 보아선 곤란하다. 관점을 넓혀 더 큰 시스템, 더 넓은 범위의 가능성, 더 긴 시간 규모를 고려해야 한다. 구형 애플리케이션은 장기적으로 유지 보수에 적지 않은 비용을 잡아먹는다. 로우코드 및 노코드 애플리케이션은 복잡성을 줄여 시간이 지남에 따라 유지 보수성을 높여줄 수 있다”라고 말했다.

로우코드 또는 노코드 플랫폼은 애플리케이션 현대화를 가속화하는 데 도움이 될 수 있지만, 모든 경우에 그렇지는 않다. 애플리케이션의 비즈니스 요구 사항, 사용자 경험, 데이터, 아키텍처, 통합, 보안 요구 사항, 규정 준수 요소 및 보고 기능을 로우코드 또는 노코드 플랫폼의 기능과 잘 일치시켜야 한다. 다음은 애플리케이션 현대화 프로젝트에 로우코드 또는 노코드가 적합한 접근 방식인지 판단하는 데 도움이 될 수 있는 몇 가지 팁이다.

적합한 애플리케이션인가?
일부 유형의 애플리케이션과 비즈니스 사례는 로우코드 및 노코드에 잘 들어맞는다. 승인 워크플로우, 온보딩, 콘텐츠 관리, 작업 대기열, 요청 처리, 예산 관리 및 자산 추적과 같은 부서별 비즈니스 프로세스에 사용되는 애플리케이션이 특히 그렇다. 또 다른 사례로는 각종 데이터 세트의 통합, 결합, 병합하는 작업이 있다.

이러한 비즈니스 프로세스와 데이터 흐름의 기반은 스프레드시트, 워드 프로세서, 전자 메일, 마이크로소프트 액세스(Access) 데이터베이스 및 기타 데스크톱 애플리케이션을 사용해 주먹구구식으로 구축된 경우가 많았다. 

이러한 수동 워크플로우를 그대로 사용하는 비즈니스 부서들도 있지만, 로봇 프로세스 자동화(RPA) 도구를 사용하여 일부 단계를 자동화하거나, 코드가 필요 없는 애플리케이션을 구축한 부서들도 있다. 때로는 IT 부서에 개발을 의뢰하기도 했다. 그리고 의뢰를 받은 IT 부서 다수는 로우코드 또는 비즈니스 프로세스 관리 플랫폼을 사용하는 대신 애플리케이션 코딩을 선택했다.

IT에서 개발하고 코딩한 모든 전용 애플리케이션은 지속적인 유지 보수가 필요하다. 또 소규모 부서용 애플리케이션은 관심의 대상에서 밀려난다. 바로 이러한 앱을 현대화해야 하는 경우 로우코드 및 노코드 플랫폼이 적절한 해답일 수 있다. 특히 구형 애플리케이션에 다음과 같은 특성이 있는 경우 그렇다.

•    소규모 사용자, 사용량 또는 데이터에 맞게 개발됨
•    비교적 간단한 비즈니스 로직으로 구축되었지만 직원의 개입이 필요한 예외가 많을 수 있음
•    간단한 데이터 모델로 생성되었지만 많은 데이터, 많은 필드 및 지저분한 임시 테이블이 있을 수 있음
•    IFTTT 로직 또는 기타 간단한 데이터 흐름과 변환을 통해 일반적인 SaaS 플랫폼과 통합됨
•    시민 데이터 과학 또는 데이터 시각화 도구에서 복제할 수 있는 간단한 보고서로 구축됨
 
로우코드 플랫폼에서 찾아야 할 사항
애플리케이션이 복잡한 경우, 노코드 플랫폼으로는 재구축하기가 어려울 수 있다. 노코드가 아닌, 로우코드 플랫폼이 필요한 유연성을 갖추고 있을 가능성이 더 높다. 일부는 앱 현대화를 돕는 도구도 갖추고 있다.

웨이브메이커(WaveMaker)의 최고 사업 책임자인 비크람 스리바츠는 “현대적인 로우코드 개발 플랫폼에는 다양한 가속 도구가 내장되어 있다. 시간과 비용이 부족한 경우, 로우코드 플랫폼은 유연한 접근 방식을 제공하여 현대화 속도를 획기적으로 높일 수 있다. 또 API를 통해 구형 애플리케이션의 기존 비즈니스 로직을 패키징하고 성능이 우수하고 안전한 최신 프런트엔드에서 이를 사용할 수 있게 해준다”라고 말했다.

현대화 솔루션, 애플리케이션 마켓플레이스 또는 코딩 언어별 번역기가 있는 플랫폼을 찾아보라. 이러한 요소는 해당 플랫폼이 기존 애플리케이션 현대화를 위한 빌딩 블록을 갖췄다는 점을 의미한다.

NCLC 이용한 애플리케이션 현대화 시나리오
다음으로 고려해야 할 요소는 ‘현대화 프로젝트의 유형과 팀이 이를 통해 어떤 결과를 얻고자 하는가?’이다. 로우코드 및 노코드 도구가 다른 도구보다 애플리케이션 현대화 시나리오에 더 적합한 경우도 있다.

- 사용자 경험 현대화
앱 현대화를 위한 일반적인 방법은 사용자 경험, 비즈니스 로직 및 데이터 흐름을 처음부터 다시 세우는 것이다. 비즈니스 프로세스를 혁신해야 할 필요성을 인식하는 비즈니스 리더는 재설계부터 원할 수 있다. 그러나 자체적으로 클라우드 네이티브 애플리케이션을 개발할 시간, 예산이 부족하거나 관심이 없을 수 있다. 

특히 비즈니스 관계자가 유연한 요구 사항을 가지고 있고 로우코드 플랫폼이 단순명료하게 구현하는 강점을 가진 경우, 로우코드 플랫폼에서 새로운 경험을 구축하는 것은 적절한 옵션일 수 있다. 키스플로우(Kissflow)의 최고 제품 책임자인 디네쉬 바라다라잔은 다음과 같이 말했다.
 

“로우코드는 전통적인 관점에서 개발된 구형 시스템을 현대화하기 위한 솔루션으로 부상했다. 목표는 단순히 기존 시스템을 복사하거나 복제하는 것이 아닌, 최신 버전을 만드는 것이다. 이를 달성하기 위해 로우코드 및 노코드는 잘 정의되고 이미 추상화되어 있으며 최신 구성 요소를 제공하는 프레임워크를 제공한다. 이 접근 방식의 장점은 현재 비즈니스 요구 사항에 더 적합한 현대화된 시스템을 신속히 만들 수 있다는 것이다.”


디스코프(Descope)의 공동 설립자인 리시 바르가바는 로우코드 접근 방식이 장기적인 이점을 제공하는 이유로 추상화를 언급했다. 로우코드나 노코드 플랫폼의 추상화 도구로 시각화 될 때 더 빠르고 효율적일 수 있다는 설명이다. “새로운 개발자는 이전 코드를 살펴볼 필요 없이 더 쉽게 이해할 수 있다. 커스텀 코드의 경우 유지 관리하고 업데이트하는 데 개발자 리소스가 필요하다”라고 그는 말했다.

재설계 접근 방식은 개방적인 이해 관계자 및 비즈니스 후원자와 협력할 때 특히 효과적이다. 워크플로를 수행하는 새로운 방법을 모색하고, 구현에 있어 기꺼이 타협할 의향이 있으며, 레거시 작업을 어려운 요구 사항으로 간주하지 않는 비즈니스 관계자를 찾아야 한다.

- 수동 프로세스 재설계
수동 단계가 많은 기존 비즈니스 프로세스를 업데이트해야 하는 앱 현대화 사례도 흔하다. 가령 최종 사용자가 애플리케이션 외부에서 더 많은 작업을 수행하거나 고도로 특정 데이터 중심적인 애플리케이션의 경우가 있다. 이러한 구형 애플리케이션을 현대화할 때, 프로세스까지 업데이트하면 비즈니스 효율성을 손쉽게 끌어올릴 수 있다. 또 프로세스 격차에 초점을 맞추면 수동 단계를 대체할 자동화 개발로 이어질 수 있다.

트리센티스(Tricentis)의 데브옵스 비즈니스 최고 기술 책임자인 매브 터너는 “시간이 많이 걸리고 확장성이 제한되며 수동 절차에 의존하는 구형 애플리케이션들이 있다. 이러한 앱은 느리고 오류를 발생시키며 비용이 많이 드는 프로세스와 연관돼 있다. 로우코드 및 노코드 솔루션을 통해 조직은 유지 관리 비용을 줄이면서 더 빠른 속도로 엔드 투 엔드 품질을 자동화하고 개발 팀의 프로세스를 간소화하며 리소스를 절약할 수 있다”라고 말했다.

- 로우코드 테스트 자동화로 UAT 대체하기
때때로 IT 부문은 현업 사용자가 관심을 두지 않는 애플리케이션의 플랫폼을 업그레이드해야 한다. 현업 사용자가 현대화된 애플리케이션에서 사용자 승인 테스트(UAT)를 수행해야 하지만 이들에게는 그래야할 동기가 없다. IT 부서가 반복적인 테스트를 수행하는 데 필요한 동의를 얻지 못하면 결과적으로 병목 현상이 발생한다.

이를 해결하는 한 가지 방법이 로우코드일 수 있다. 이러한 애플리케이션을 현대화한 다음 로우코드 테스트 자동화 플랫폼을 사용하여 회귀 테스트를 구축하는 것이다. 목표는 UAT 병목 현상을 제거하고 향후 업그레이드에 대비해 일련의 회귀 테스트 세트를 마련하는 것이다.

터너는 “AI 증강 품질 엔지니어링 도구의 경우 프로세스를 간소화하고, 잠재적인 병목 현상을 표시하며, 비즈니스 분석가나 테스터와 같은 비개발자 역할을 대신 수행한다. 이를 이용해 개발자 팀은 품질 저하 없이 보다 전문적인 작업에 집중하고 앱 배포를 가속화하는 데 더 많은 시간을 확보할 수 있다”라고 말했다.

앞서 살펴본 바와 같이 로우코드 및 노코드 플랫폼은 애플리케이션 현대화를 가속화할 수 있는 여러 경로를 제공한다. 성공의 열쇠는 요구 사항을 이해하고, 진화하는 비즈니스 프로세스에 대해 이해 관계자와 협력하며, 로우코드 및 노코드 플랫폼이 어떻게 개발을 가속화하는 동시에 지속적인 유지 관리를 간소화할 수 있는지 검토하는 것이다. 

* Isaac Sacolick는 애자일, 데브옵스, 데이터 과학을 다룬 ‘Driving Digital: The Leader’s Guide to Business Transformation through Technology’의 저자다. ciokr@idg.co.kr
CIO Korea 뉴스레터 및 IT 트랜드 보고서 무료 구독하기
추천 테크라이브러리

회사명:한국IDG 제호: CIO Korea 주소 : 서울시 중구 세종대로 23, 4층 우)04512
등록번호 : 서울 아01641 등록발행일자 : 2011년 05월 27일

발행인 : 박형미 편집인 : 천신응 청소년보호책임자 : 한정규
사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2024 International Data Group. All rights reserved.