애플리케이션 현대화는 최신 기술을 활용하여 레거시 애플리케이션을 업데이트하고, 성능을 향상시키며, DevOps, 코드형 인프라 등과 같은 클라우드 네이티브 원칙을 도입하여 진화하는 비즈니스 속도에 적응할 수 있도록 지원하는 프로세스입니다.
레거시 애플리케이션의 처리 방식은 가치, 중요도, 목표에 따라 전면 재작성부터 재호스팅까지 다양할 수 있습니다. 재작성은 민첩성과 속도가 뛰어난 진정한 클라우드 네이티브 모델로 전환할 수 있는 기회를 제공하기 때문에 가장 큰 효과를 얻을 수 있는 것으로 알려져 있습니다. 그러나 재작성에는 높은 비용과 긴 소요 기간이 따르기 때문에, 많은 CIO와 CTO들은 높은 투자 비용이 드는 재작성 이니셔티브와 상대적으로 가치가 낮은 재호스팅 접근 방식 사이에서 균형을 맞추며 투자를 주저하고 있습니다. 이에 서비스 제공업체와 툴 벤더들은 엔터프라이즈 환경에 맞춰 사용자 정의할 수 있는 가속화 도구를 구축해, 현대화의 특정 영역을 더 빠르게 진행할 수 있도록 지원하고 있습니다. 대표적인 사례로는 Evolvware, IBM Consulting Cloud Accelerators, 그리고 클라우드 서비스 제공업체별 도구들이 있습니다.
현대화 가속화 및 현대화 비용 최적화를 시도하는 과정에서 생성형 AI는 현대화 프로그램을 가속화하는 방식의 변화를 주도하는 데 중요한 역할을 하고 있습니다. 이 문서에서는 애플리케이션 현대화 프로세스에서 생성형 AI의 가능성에 대해 중점적으로 설명합니다.
업계 뉴스레터
가장 중요하고 흥미로운 AI 뉴스에 대한 선별된 인사이트를 확인하세요. 주간 Think 뉴스레터를 구독하세요. IBM 개인정보 보호정책을 참조하세요.
구독은 영어로 제공됩니다. 모든 뉴스레터에는 구독 취소 링크가 있습니다. 여기에서 구독을 관리하거나 취소할 수 있습니다. 자세한 정보는 IBM 개인정보 보호정책을 참조하세요.
애플리케이션 현대화는 최신 기술을 활용하여 레거시 애플리케이션을 업데이트하고, 성능을 향상시키며, DevOps, 코드형 인프라 등과 같은 클라우드 네이티브 원칙을 도입하여 진화하는 비즈니스 속도에 적응할 수 있도록 지원하는 프로세스입니다. 애플리케이션 현대화는 현재의 레거시 애플리케이션, 데이터 및 인프라를 평가하고 원하는 결과를 얻기 위해 적절한 현대화 전략(재호스팅, 리플랫폼, 리팩터링 또는 재구축)을 적용하는 것에서 시작됩니다. 재구축은 최대의 이점을 얻을 수 있지만 높은 수준의 투자가 필요한 반면, 재호스팅은 애플리케이션과 데이터를 최적화하지 않고 그대로 클라우드로 옮기는 것이므로 투자는 적게 필요하지만 가치는 낮습니다. 현대화된 애플리케이션은 기술 및 비즈니스 발전에 발맞추기 위해 지속적인 반복을 통해 배포, 모니터링 및 유지 관리됩니다. 일반적으로 민첩성, 비용 효율성, 경쟁력 향상 등의 이점을 얻을 수 있는 반면, 복잡성 및 리소스 요구 등의 과제도 있습니다. 많은 기업이 클라우드로의 전환이 기본적인 플랫폼 수준의 자동화 이상의 가치나 민첩성, 속도를 제공하지 못한다는 사실을 깨닫고 있습니다. 진짜 문제는 현재 애플리케이션/서비스가 구축되고 관리되는 방식에 반영된 IT 조직 방식에 있습니다(콘웨이의 법칙 참조). 이로 인해 다음과 같은 문제가 발생합니다.
따라서 애플리케이션 현대화 이니셔티브는 비즈니스 가치에 더 중점을 두어야 하며, 여기에는 애플리케이션을 비즈니스 역량에 부합하는 구성 요소 및 서비스로 전환하는 중요한 요소가 포함됩니다. 이 과정에서 가장 큰 문제는 필요한 투자 규모이며, 많은 CIO와 CTO가 가치 실현에 소요되는 비용과 일정 때문에 투자를 주저하고 있습니다. 많은 기업이 현대화의 특정 영역을 가속화하는 데 도움이 되는 기업 맞춤형 액셀러레이터를 구축하여 이 문제를 해결하고 있으며, IBM의 IBM Consulting Cloud Accelerators가 그러한 사례 중 하나입니다. 현대화 가속화 및 현대화 비용 최적화를 시도하는 과정에서 생성형 AI는 현대화 프로그램을 가속화하는 방식의 변화를 주도하는 데 중요한 역할을 하고 있습니다. 이 글에서는 사례를 통해 가속화의 주요 영역을 살펴보겠습니다.
애플리케이션 현대화 프로그램의 단순화된 라이프사이클(완전한 목록은 아님)은 아래와 같습니다. 발견(Discovery) 단계는 레거시 애플리케이션, 인프라, 데이터, 애플리케이션 간 상호작용, 서비스 및 데이터 흐름, 보안 등 관련 요소를 파악하는 데 중점을 둡니다. 계획(Planning) 단계는 복잡한 애플리케이션 포트폴리오를 여러 번의 반복으로 나누어 현대화할 수 있도록 로드맵을 수립하고, 그 로드맵을 실행하기 위한 계획을 마련하는 과정입니다.
청사진/설계(Blueprint/Design) 단계 활동은 현대화 전략에 따라 달라집니다. 예를 들어, 애플리케이션을 분해하고 도메인 기반 설계를 활용하거나, 새로운 기술을 기반으로 목표 아키텍처를 설정하여 실행 가능한 설계를 구축하는 것까지 포함될 수 있습니다. 그 다음 단계는 빌드 및 테스트(Build and Test), 그리고 프로덕션 배포(Deploy to Production)입니다. 이러한 라이프사이클 영역 전반에서 생성형 AI의 가능성을 살펴보겠습니다.
주제별 전문가의 개입을 최소화하면서 레거시 애플리케이션을 이해하는 능력이 중요한 가속화 포인트입니다. 일반적으로 주제별 전문가는 시스템 관련 이니셔티브로 바쁘고, 시스템을 지원해 온 기간에 따라 지식이 제한될 수 있기 때문입니다. 전체적으로 현대화 과정에서는 발견과 설계에 상당한 시간이 소요되지만, 팀이 레거시 애플리케이션의 기능, 통합 측면, 논리 및 데이터 복잡성을 해독한 후에는 개발이 훨씬 수월해집니다.
현대화 팀은 코드 분석을 수행하고 여러 문서(대부분 오래된 문서)를 검토합니다. 이때 코드 분석 도구에 대한 의존도가 중요해집니다. 또한 재작성 이니셔티브의 경우 효과적인 도메인 중심 설계/분해 연습을 수행할 수 있도록 기능적 기능을 레거시 애플리케이션 컨텍스트에 매핑해야 합니다. 생성형 AI는 도메인/기능 역량을 코드와 데이터에 연계하고, 이를 기반으로 비즈니스 역량 관점과 상호 연결된 애플리케이션 코드·데이터 구조를 정립할 수 있다는 점에서 이 단계에서 특히 유용합니다. 물론 이를 위해서는 해당 기업의 도메인 모델 또는 기능 역량 맵에 맞게 모델을 조정하고 컨텍스트를 반영해야 합니다. 이 글에서 소개한 생성형 AI 지원 API 매핑은 이에 대한 작은 예시입니다. 위의 내용은 애플리케이션 분해/설계를 위한 것이지만, 이벤트 스토밍에는 프로세스 맵이 필요하며, 여기서 생성형 AI가 프로세스 마이닝 도구에서 추출한 내용을 컨텍스트화하고 매핑하는 데 도움을 줍니다. 생성형 AI는 코드 인사이트와 기능 매핑을 기반으로 사용 사례를 생성하는 데도 도움이 됩니다. 전반적으로 생성형 AI는 레거시 애플리케이션과 그 종속성에 대한 충분한 가시성을 확보함으로써 현대화 프로그램의 리스크를 줄이는 데 기여합니다.
생성형 AI는 또한 일련의 표준화된 패턴(인그레스/이그레스, 애플리케이션 서비스, 데이터 서비스, 복합 패턴 등)을 기반으로 모델을 조정하여 특정 클라우드 서비스 제공자 프레임워크에 대한 목표 설계를 생성하는 데 도움을 줍니다. 마찬가지로, 보안 제어를 위한 대상 기술 프레임워크별 코드 패턴 생성을 포함하는 몇 가지 다른 생성형 AI 사용 사례도 있습니다. 생성형 AI는 사용자 스토리, 사용자 경험 와이어 프레임, API 사양(예: Swagger 파일), 구성 요소 관계 다이어그램 및 구성 요소 상호 작용 다이어그램과 같은 세부 설계 사양을 생성하는 데 도움이 됩니다.
현대화 프로그램의 어려운 과제 중 하나는 거시적인 로드맵을 수립하는 동시에 병렬적인 노력과 순차적인 종속성의 균형을 맞추고 해결해야 할 공존 시나리오를 식별하는 것입니다. 이는 일반적으로 프로그램 증분(PI)을 통한 지속적인 재정렬과 같은 일회성 작업으로 수행되지만, 실행 수준 입력을 통합하는 계획 연습은 훨씬 더 어렵습니다. 생성형 AI는 과거 데이터를 기반으로 로드맵을 생성하는 데 유용하게 활용될 수 있습니다. 여기에는 애플리케이션-도메인 영역 매핑, 작업량 및 복잡도 요인, 종속성 패턴 등 다양한 정보가 포함됩니다. 생성된 로드맵은 특정 산업이나 도메인 내 현대화 프로그램 범위의 애플리케이션에 적용할 수 있습니다.
이 문제를 해결하는 유일한 방법은 엔터프라이즈 환경의 복잡성을 처리할 수 있는 다양한 자산과 가속기를 통해 이를 활용 가능하도록 만드는 것입니다. 생성형 AI는 애플리케이션 포트폴리오의 세부 정보와 탐지된 종속성을 연계하는 데서 중요한 역할을 수행합니다.
코드를 생성하는 것은 가장 널리 알려진 생성형 AI 활용 사례 중 하나이지만, 실제로는 보다 광범위한 관련 코드 아티팩트 세트를 생성하는 능력이 중요합니다. 이는 IAC(Terraform 또는 CloudFormation 템플릿), 파이프라인 코드 및 구성, 보안 설계 요소(암호화, IAM 통합 등), 스웨거(swagger) 또는 기타 코드 인사이트(레거시 기반)로부터의 애플리케이션 코드 생성, 그리고 방화벽 구성(예: 인스턴스화된 서비스 기반 리소스 파일) 등을 포함합니다. 생성형 AI는 이러한 출력물을 사전에 정의된 애플리케이션 참조 아키텍처(패턴 기반)와 설계 도구의 결과를 결합한 오케스트레이션된 접근 방식을 통해 생성하도록 지원합니다.
테스트 또한 핵심 영역입니다. 생성형 AI는 최적화된 테스트 실행을 위해 필요한 적절한 테스트 케이스, 테스트 코드, 테스트 데이터를 자동으로 생성할 수 있습니다.
현대화 프로그램에서 수많은 중요한 '라스트 마일' 작업을 수행하는 데는 일반적으로 며칠에서 몇 주가 소요되며, 기업의 복잡성에 따라 달라질 수 있습니다. 생성형 AI의 필수적인 활용 사례 중 하나는 애플리케이션 및 플랫폼 로그, 설계 지점, 코드형 인프라 등을 분석하여 보안 검증을 위한 인사이트를 도출하는 기능입니다. 이 기능은 보안 검토 및 승인 프로세스를 크게 가속화합니다. 또한, 생성형 AI는 각 릴리스에서 Agility 도구 작업 항목을 기반으로 생성되는 릴리스 노트를 활용해 구성 관리(CMDB) 및 변경 관리에 필요한 입력값을 생성하는 데에도 중요한 역할을 합니다.
앞서 언급한 사용 사례는 현대화 여정 전반에 걸쳐 엄청난 잠재력을 가지고 있지만, 이러한 생성형 AI 가속기를 효과적으로 활용하려면 기업의 복잡성으로 인해 상황에 맞는 조율된 접근 방식이 필요하다는 점을 인식하는 것이 중요합니다. 기업별 맥락적 패턴을 개발하는 것은 현대화 프로그램을 가속화하기 위한 지속적인 노력입니다. IBM은 사전에 시간과 노력을 투자하고 이러한 생성형 AI 가속기를 지속적으로 맞춤화하여 기업 내에서 반복성을 보이는 특정 패턴에 맞춰 조정함으로써 상당한 이점을 얻을 수 있다는 사실을 확인했습니다.
이제 잠재적으로 입증된 예를 살펴보겠습니다.
문제: 대형 글로벌 은행은 다양한 도메인(예: 소매 금융, 도매 금융, 오픈 뱅킹, 기업 금융)에 걸쳐 3만 개 이상의 API(내부 및 외부)를 오랜 기간에 걸쳐 개발했습니다. 여러 도메인에 걸쳐 API가 중복될 가능성이 매우 높기 때문에 대규모 API 포트폴리오를 유지하기 위한 총소유비용이 증가하고, API 중복 및 중복을 처리하는 데 따른 운영상의 문제가 발생할 수 있습니다. API에 대한 가시성과 발견 기능이 부족하면 API 개발 팀은 재사용할 관련 API를 찾기보다는 동일하거나 유사한 API를 개발하게 됩니다. 은행 산업 모델 관점에서 API 포트폴리오를 시각화할 수 없기 때문에 비즈니스 팀과 IT 팀은 이미 사용 가능한 기능과 은행에 필요한 새로운 기능을 파악하는 데 제약이 있습니다.
생성형 AI 기반 솔루션 접근 방식: 이 솔루션은 BERT 대규모 언어 모델, 문장 변환기, 다중 부정 순위 손실 함수 및 도메인 규칙을 활용하며, BIAN 서비스 풍경 지식으로 미세 조정되어 은행의 API 포트폴리오를 학습하고 BIAN에 자동 매핑하여 API를 검색할 수 있는 기능을 제공합니다. 또한 API 엔드포인트 메서드를 BIAN 서비스 환경 랜드스케이프 구조의 4단계, 즉 BIAN 서비스 오퍼레이션에 매핑합니다.
솔루션의 핵심 기능은 다음과 같습니다.
산업 모델 기반 API 검색을 위한 사용자 인터페이스:
핵심 이점: 이 솔루션을 통해 개발자는 BIAN 비즈니스 도메인을 기반으로 재사용 가능한 API를 쉽게 찾을 수 있었으며, 다양한 필터/검색 옵션을 활용할 수 있었습니다. 또한 팀은 적절한 운영 탄력성 확보에 필요한 주요 API 카테고리를 식별할 수 있었습니다. 다음 버전의 검색 기능은 자연어 기반으로 제공되며, 대화형 사용 사례가 될 예정입니다.
BIAN 서비스 도메인을 기반으로 중복 API를 식별하는 기능은 중복된 기능을 합리화하는 동시에 해결하는 현대화 전략을 수립하는 데 도움이 되었습니다.
이 사용 사례는 6~8주 안에 구현되었으며, 은행이 동일한 작업을 자체적으로 수행할 경우 수천 개의 API를 분석해야 했기 때문에 약 1년이 걸렸을 것으로 추정됩니다.
문제: 기존 팀은 MuleSoft API를 Java Spring Boot로 현대화하는 작업을 진행하고 있었지만, 방대한 API 수, 부족한 문서, 높은 복잡성 때문에 속도가 크게 저하되고 있었습니다.
생성형 AI 기반 솔루션 접근 방식: IBM이 구축한 생성형 AI 기반 가속기를 활용해 Mule API를 Java Spring Boot로 현대화하는 과정을 대폭 자동화했습니다. 먼저 API, 구성 요소, API 로직 전반에 대한 심층적인 이해를 확보한 뒤, 응답 구조와 코드를 확정했습니다. 이후 IBM 버전의 Sidekick AI를 사용해 MuleSoft의 API 사양을 충족하는 Spring Boot 코드를 생성하기 위한 프롬프트를 구성했습니다. 여기에는 단위 테스트 케이스, 설계 문서, 사용자 인터페이스도 포함됩니다.
Mule API 구성 요소들은 프롬프트를 통해 하나씩 도구에 입력되었고, 이에 대응하는 Spring Boot 버전이 생성되었습니다. 이후 발생한 오류들을 해결하며 이 구성 요소들을 연결했습니다. 가속기는 API와 통합 가능한 채널별 UI, 단위 테스트 케이스, 테스트 데이터, 설계 문서를 생성했습니다. 생성된 설계 문서는 시퀀스 및 클래스 다이어그램, 요청·응답·엔드포인트 세부 정보, 오류 코드, 아키텍처 고려 사항을 포함합니다.
핵심 이점: Sidekick AI는 심층적인 도메인 지식과 기술을 통해 상황에 맞는 다중 모델 생성형 AI 기술 전략을 결합하여 애플리케이션 컨설턴트의 일상 업무를 보조합니다. 주요 이점은 다음과 같습니다.
해당 가속기 PoC는 코드 마이그레이션, 단위 테스트 사례, 설계 문서, UI 생성에 대한 네 가지 시나리오를 사용하여 6주에 걸쳐 세 번의 스프린트를 거쳐 완료되었습니다.
많은 CIO와 CTO가 현대화 이니셔티브를 고려할 때 처음에 설명한 여러 가지 문제를 언급하며 유보적인 태도를 보였습니다. 여기에는 광범위한 중소기업의 참여, 변화로 인한 비즈니스 중단 가능성, 보안 및 변경 관리를 비롯한 다양한 조직 기능 전반에 걸쳐 운영 모델을 변경해야 할 필요성에 대한 우려가 포함됩니다. 생성형 AI가 이러한 복잡한 문제를 해결할 수 있는 만능 솔루션은 아니라는 점을 인정하는 것이 중요하지만, 현대화 프로그램의 성공에 기여한다는 것은 부인할 수 없는 사실입니다. 생성형 AI는 프로세스를 가속화하고, 전체 현대화 비용을 절감하며, 가장 중요한 것은 핵심 기능을 간과하지 않도록 하여 위험을 완화함으로써 이를 달성한다는 점입니다. 그러나 대규모 언어 모델(LLM) 및 관련 라이브러리를 엔터프라이즈 환경에 도입하려면 상당한 시간과 노력이 필요하다는 점을 인식해야 합니다. 여기에는 엄격한 보안 및 규정 준수 검토와 스캔 절차가 포함됩니다. 또한 이러한 모델을 미세 조정하는 데 사용되는 데이터 품질을 개선하는 데도 집중적인 노력이 필요하므로 과소평가해서는 안 됩니다. 일관된 생성형 AI 기반 현대화 가속기가 아직 보편화되지는 않았지만, 시간이 지나면 특정 현대화 패턴의 가속화를 촉진하는 통합 툴킷이 등장할 것으로 예상됩니다.
IBM Consulting과 함께 생성형 AI로 무엇을 할 수 있는지 알아보세요.
AI 빌더를 위한 차세대 엔터프라이즈 스튜디오인 IBM watsonx.ai로 생성형 AI, 파운데이션 모델 및 머신 러닝 기능을 학습, 검증, 조정 및 배포하세요. 적은 데이터로 짧은 시간 내에 AI 애플리케이션을 구축하세요.
업계 최고의 AI 전문성과 솔루션 포트폴리오를 보유한 IBM과 함께 AI를 비즈니스에 활용하세요.
AI 추가를 통해 중요한 워크플로와 운영을 혁신함으로써 경험, 실시간 의사 결정 및 비즈니스 가치를 극대화합니다.