애플리케이션 현대화를 유연하게 지원한다는 의미

[인터뷰] 한국IBM 조상철 상무

컴퓨팅입력 :2024/05/08 10:57

“애플리케이션 현대화는 오래전 나온 주제지만 여전히 보수적인 산업의 경우 발빠르게 채택되지 못하고 있다. 기업이 보유한 애플리케이션 포트폴리오는 수백, 수천개에 이른다. 보수적인 엔터프라이즈 고객의 경우 코어 시스템도 있지만,

“기업마다 애플리케이션 현대화 여정의 시작점이 다르고, 현대화에 적합한 방안도 처한 상황에 따라 다르다. 비록 기본접근방식은 6R에 근거하지만, IBM의 관점은 고객의 목표나 속도에 맞춰서 선택할 수 있는 다양한 옵션을 제공하자는 것이다. 라이선스 체계나 도구, 기타 등등을 세트로 준비해서 제공한다. IBM은 애플리케이션 현대화를 폭넓게, 유연하게 실행할 수 있는 다양한 툴과 역량을 지원할 수 있다.”

조상철 한국IBM 상무는 본지와 인터뷰에서 IBM의 애플리케이션 현대화 사업 전략에 대해 이같이 밝혔다.

조상철 한국IBM 상무

기업의 애플리케이션 현대화는 급변하는 시장에서 생존과 재도약을 위해 반드시 수행해야 하는 사업으로 여겨진다. 그러나 현대화 숙명론이 대세를 이루는 가운데서도 실제로 애플리케이션 현대화 여정에서 발빠르게 나아간 엔터프라이즈 기업은 드물다. 애플리케이션 현대화를 한다고 할 때 기업의 출발점은 모두 다르다. 기업마다 그전까지 투자해온 IT 환경이 제각각이고, 현대화로 갈 수 있는 능력과 투자 규모도 천차만별이다. 딱 꼬집어 ‘애플리케이션 현대화의 정답’이라 할 게 없으므로 솔루션 기업의 접근법도 다 다를 수 있다.

그중 IBM은 매우 폭넓게 애플리케이션 현대화를 정의한다. 기업 내외부 시스템의 기능을 더 현대적으로 바꾸는 것을 애플리케이션 현대화라 한다. 오랜 시간 기업 고객의 IT서비스를 지원해온 만큼 수많은 경우의수가 존재한다는 것을 이해하고 있고, 상황별로 필요한 솔루션이 다양하다는 것도 알고 있기에 광범위하게 정의하는 것이다.

저마다 다른 상황이지만, 애플리케이션 현대화 과정에서 기업이 만나게 되는 어려움은 거의 비슷하다. 조상철 상무는 그를 경험 부족, 레거시와 통합, 성능 등으로 정리했다.

조상철 상무는 “애플리케이션 현대화에서 나오는 용어는 마이크로서비스아키텍처(MSA), 컨테이너, 쿠버네티스 등인데, 현재 엔터프라이즈 기업의 IT시스템 운영 인력은 그 이전 세대의 기술인 객체지향, SOA 등에 익숙하기에 현대화를 곧바로 추진하기 어렵다”며 “교육도 필요하지만, 현대화를 직접 도와줄 수 있는 도구를 제공해서 안정적으로 프로젝트를 진행하도록 하는 게 필요하다”고 설명했다.

그는 “한 기업에 수십에서 수천개에 이르는 애플리케이션이 존재하는데, 이를 일거에 다 현대화할  수 없으니 순차적으로 진행되게 된다”며 “일부 앱은 현대화되고 일부는 레거시에 남게 되는 과정에서 IT 서비스를 지속하면서 통합을 계속 빠르게 해야 하는 레거시와 통합 문제가 발생한다”고 말했다.

그는 “마지막으로 힘겹게 애플리케이션 현대화를 진행했는데 성능을 보장받지 못할 수 있다”고 덧붙였다.

IBM은 애플리케이션 현대화 도구로 크게 2종을 제공한다. 경험과 인력 부족을 해결할 수 있는 ‘트랜스포메이션 어드바이저’와 ‘모노투마이크로’ 등이다. 트팬스포메이션 어드바이저는 IBM 클라우드팩포애플리케이션이란 패키지에 포함된 도구로 기존 자바 애플리케이션을 리프트앤시프트나 컨테이너화 방식으로 전환하기 위해 원본 코드를 분석하고, 전환 가능 여부를 판단한 뒤 작업 난이도와 필요한 작업 등을 정리해 보여준다. 트랜스포메이션 어드바이저는 작업 수행에 앞서 할 수 있는 것과 할 수 없는 것을 식별하고, 어떻게 해야 처한 상황에서 가장 적절한 방법을 택해야 하는지 선택지를 제시하는 역할이다.

반면, 모노투마이크로는 실제로 기존 자바 애플리케이션을 마이크로서비스로 전환해주는 도구다. 원본 자바 코드를 정적 및 동적, 도메인 드리븐 등으로 분석하고, 클러스터링 알고리즘이 원하는 수준의 단계에 따라 묶음으로 만들어준다. 다양한 변수에 따른 API 호출 코드도 만든다. 필요하다면 로직도 변경한다. 알고리즘은 수천개 자바클래스 속에서 조합을 반복하면서 최적값을 찾아낸다.

사실 엔터프라이즈 기업의 애플리케이션 현대화에서 가장 힘든 부분이 코드 검토다. 클라우드 네이티브로 여정은 리호스트(Rehost), 리플랫폼(Replatform), 리팩토링(Refactoring), 재구매(Repurchase), 리타이어(Retire), 리테인(Retain) 등 6R이란 접근방식을 대표적으로 사용한다. 어떤 방식을 채택하든 시작 단계에 기존 애플리케이션의 코드를 살펴보고 의사결정을 내려야 하는데, 방대한 코드를 사람이 일일이 살펴본다는 게 사실상 불가능한 일이다.

인터뷰에 동석한 김홍석 한국IBM 전문위원은 “수십년 전 만들어진 코드의 작성자가 은퇴하거나 퇴사했을 수도 있고, 개발자마다 조금씩 다르게 로직을 구현했을 수 있다”며 “소스는 있는데 런타임이 없거나, 그 반대일 수도 있고, 코드 중 한번 쓰이는데 그치지 않고 여러번 쓰이는 것도 있다”고 설명했다.

그는 “만약 3천 줄의 코드를 3개 마이크로서비스로 쪼갠다고 해서 사업을 하고 났더니 애초에 기대했던 1천줄짜리 3개로 나뉜게 아니라 2천줄짜리 3개로 나뉘기도 한다”며 “어떤 코드는 여러곳에서 참조된다고 하는데 실제론 하나도 안쓰이는 것도 있어서, 모노투마이크로로 분석해보면 실제 앱 코드 중 30%는 쓰이지 않는 ‘데드코드’다”라고 덧붙였다.

모노투마이크로는 수많은 코드 가운데 데드코드를 찾아내고 최적화된 마이크로서비스를 만들 수 있도록 도와준다. 정적 분석뿐 아니라 동적 분석도 가능하므로 현대화 과정에서 나타나는 여러 불필요한 투자를 없애준다.

조상철 상무는 “고객은 트랜스포메이션 어드바이저와 모노투마이크로를 통해 얻는 이점이 명확하다”며 “개발시간을 단축하고 코드 품질도 향상시킬 수 있다”고 강조했다.

IBM은 레거시 애플리케이션과 통합 문제에 대해선 노코드 기반 통합 도구를 제공해 발빠르게 대응할 수 있도록 하고 있다. 클라우드팩포인티그레이션이 그것이다 또한, 현대화 후 애플리케이션 성능 향상을 보장할 수 있도록 고성능 런타임을 선택하도록 해 초기 구동은 빠르고 CPU나 메모리 자원을 덜 쓰면서 전체 스루풋을 향상시킬 수 있게 한다.

관련기사

엔터프라이즈 애플리케이션 현대화에서 정답은 없다고 본다. 다만 상황에 가장 적절한 답안은 있다. 조 상무는 “애플리케이션 현대화는 비용과 노력, 시간 그리고 거기서 얻는 성과 등을 다 따져볼 때 어느 게 가장 ROI 높을지 여러 답안이 있을 수 있다”고 말했다.

그는 “상황과 니즈에 맞게 선택할 수 있게 패키징해서. 런타임 여러개로. 라이선스도 구독형이나 영구형으로 유연하게 사용할 수 있게 하는게 우리의 전략”이라며 “고객이 원하는 속도대로 리스크와 비용을 절감하며 가장 적절한 수준의 현대화를 할 수 있도록 돕고 있다”고 강조했다.