오늘날 애플리케이션 현대화는 주로 모놀리식 레거시 애플리케이션을 마이크로서비스 아키텍처에 기반한 클라우드 애플리케이션으로 전환하는 것을 말합니다.
애플리케이션 현대화는 기존 레거시 애플리케이션을 가져와 플랫폼 인프라, 내부 아키텍처 및/또는 기능을 현대화하는 프로세스입니다. 오늘날 애플리케이션 현대화에 대한 많은 논의는 모놀리식 온프레미스 애플리케이션(일반적으로 폭포수 개발 프로세스를 사용하여 업데이트 및 유지 관리)과 이러한 애플리케이션을 클라우드 아키텍처 및 릴리스 패턴(즉, 마이크로서비스 및 DevOps)으로 가져오는 방법에 초점을 맞춥니다.
애플리케이션 현대화의 이점은 일반적으로 새로운 기능 제공 속도를 개선하고, 기존 애플리케이션의 기능을 다른 서비스의 API를 통해 사용할 수 있도록 공개하고, 애플리케이션 규모와 성능, 장기적인 데이터 센터 및 IT 전략을 목적으로 온프레미스에서 클라우드로 애플리케이션을 다시 플랫폼화하는 것으로 요약할 수 있습니다.
애플리케이션 현대화의 과제는 일반적으로 비용과 복잡성으로 요약됩니다. ROI를 고려하지 않고 애플리케이션을 온프레미스에서 클라우드로 옮기는 것은 단순히 애플리케이션을 옮기기 위해 애플리케이션을 옮기는 것입니다. 반대로, 다른 애플리케이션은 리플랫포밍 또는 재설계로 의미 있는 이점을 얻을 수 있지만 기존 시스템 및 인프라와 너무 밀접하게 연결되어 있어 현대화의 복잡성이 이점을 능가할 수 있습니다.
애플리케이션 현대화 성공의 열쇠는 대부분의 경우와 마찬가지로 궁극적으로 클라우드의 이점, 속도, 성능, 확장성, 새로운 기능 개발 등을 통해 해당 애플리케이션에 고객 경험과 ROI를 개선할 수 있는 명확한 경로를 제공하는 애플리케이션 현대화 프로젝트를 선택하고 전략을 세우는 데 달려 있습니다.
레거시 애플리케이션은 모놀리식 애플리케이션인 경우가 많습니다. 모놀리식 애플리케이션은 업데이트가 어렵고 확장하기 어렵고 비용이 많이 든다는 두 가지 특징이 있어 현대화하는 것이 바람직합니다.
모놀리식 앱은 아키텍처상의 이유로 업데이트가 어렵습니다. 애플리케이션의 모든 구성 요소가 함께 제공되기 때문에 복잡성과 통합 문제로 인한 오버헤드 때문에 기능을 추가하기가 어렵고 비용이 많이 듭니다.
비슷한 이유로 확장하기가 어렵고 비용이 많이 듭니다. 앱의 구성 요소 중 하나라도 부하 및 성능 문제에 직면하면 가장 까다로운 단일 구성 요소에 서비스를 제공하기 위해 전체 앱을 확장해야 할 수 있습니다. 이러한 접근 방식은 상당한 컴퓨팅 낭비를 초래합니다.
애플리케이션을 더 많은 마이크로서비스 아키텍처로 현대화하면 구성 요소가 더 작고 느슨하게 결합되며 서로 독립적으로 배포 및 확장할 수 있습니다. 이 접근 방식은 나름의 과제를 안고 있지만, 현대화의 핵심 가치를 대부분 찾을 수 있습니다.
애플리케이션 현대화 프로젝트를 시작하는 가장 중요한 방법은 애플리케이션 평가입니다. 현재 보유하고 있는 애플리케이션의 재고를 파악하는 것은 이와 같은 혁신을 시작하는 가장 확실한 방법 중 하나입니다.
목록을 만든 후에는 모든 애플리케이션을 용이성/난이도 및 현대화 시 잠재적 가치 증가를 x 및 y 축에 대해 표시할 수 있습니다. 또한 애플리케이션이 고객 경험과 조직의 미래에 얼마나 중요한지를 '잠재적' 가치로 생각할 수도 있습니다.
가치가 높고 노력이 적은 이 그리드의 오른쪽 위 사분면에 해당하는 애플리케이션은 애플리케이션 현대화 프로젝트를 시작하기에 가장 분명하고 가장 적은 노력이 필요한 후보가 될 것입니다.
가장 까다로운 결정은 이동하기 어려운 고부가가치 앱에 대한 것입니다. 이러한 경우 처음부터 전부 아니면 전무 전략을 취할 필요는 없습니다. 이러한 경우에는 위험과 비용을 줄이면서도 포트폴리오를 올바른 방향으로 전환할 수 있는 애플리케이션 현대화 접근 방식이 있습니다.
플랫폼과 애플리케이션의 아키텍처를 결합하고 API를 통해 애플리케이션의 기능을 노출하는 데 중점을 둔 애플리케이션 현대화에 대한 몇 가지 잘 알려진 접근 방식이 있습니다.
애플리케이션 현대화의 가장 일반적인 패턴은 모놀리식 애플리케이션을 리팩토링하고 느슨하게 결합된 작은 마이크로 서비스 컬렉션으로 분해하는 것입니다.
위의 마이크로서비스 아키텍처 예시에서 소매 애플리케이션은 단일 n-티어 애플리케이션에서 앱 내의 모든 개별 서비스의 마이크로서비스 모음으로 세분화되었으며, 각각 데이터베이스와 데이터 모델을 갖추고 있습니다.
이 분야의 한 가지 접근 방식은 "스트랭글러 패턴"으로 알려져 있습니다. 스트랭글러 패턴은 모놀리스를 한꺼번에 분해하는 대신 애플리케이션을 조금씩 분해하여 가장 쉽고 가치 있는 부분을 먼저 꺼내어 이 접근 방식이 진행됨에 따라 결국에는 모놀리스에 아무것도 남지 않게 하는 방식입니다.
마이크로서비스로의 리팩토링, 리플랫포밍 또는 애플리케이션 리호스팅은 거의 항상 현대화 프로세스의 일부인 경우가 많습니다. 애플리케이션을 크게 다시 작성하지 않고 단순히 애플리케이션을 리프트 앤 시프트할 수도 있지만, 컨테이너와 Kubernetes를 활용하여 클라우드 모델을 더 잘 활용하도록 애플리케이션을 재구성하는 데서 가치를 찾을 수 있는 경우도 많습니다(클라우드 마이그레이션에 대해 자세히 보기).
대부분의 조직이 겪고 있는 현대화 프로세스를 촉진할 수 있는 광범위한 기술 포트폴리오가 있습니다.
퍼블릭 클라우드는 모든 현대화 전략의 중요한 부분이지만, 프라이빗 클라우드, 하이브리드 클라우드 및 멀티클라우드 전략도 보안, 지연 시간 및 아키텍처 측면에서 매우 중요합니다.
조직은 여러 가지 이유로 데이터 센터에서 바로 퍼블릭 클라우드로 전환할 준비가 되어 있지 않을 수 있습니다. 다른 클라우드 모델은 고유한 특성을 기반으로 특정 워크로드가 상주해야 하는 위치와 관련된 모든 아키텍처 및 정책 복잡성을 해결하는 데 도움이 될 수 있습니다.
컨테이너와 Kubernetes는 클라우드의 다목적 컴퓨팅 한 형태인 가상 머신(VM)에 대한 도전자일 뿐만 아니라 하이브리드 클라우드 및 애플리케이션 현대화 전략의 핵심 원동력으로 부상했습니다.
컨테이너화 통해 애플리케이션을 일관되고 가벼운 방식으로 패키징하여 데스크톱, 클라우드 또는 온프레미스 환경에서 일관되게 실행할 수 있습니다. 이러한 유형의 유연성은 클라우드에서 앞으로 나아갈 길을 계획하는 조직에 실질적인 이점입니다.
안전한 하이브리드 클라우드 환경 내에서 배포를 가속화하고, 마이그레이션 위험을 줄이며, 클라우드 네이티브 개발을 지원하세요.
생성형 AI를 사용하여 메인프레임 애플리케이션 현대화를 가속화하고 간소화하세요.
IBM Instana Observability는 포괄적인 모니터링과 실행 가능한 인사이트를 제공하여 클라우드 마이그레이션 여정을 간소화합니다.