애플리케이션 현대화는 레거시 소프트웨어 패키지를 변환, 재작성 또는 이식하여 최신 인프라에서 보다 효율적으로 운영할 수 있는 프로세스입니다. 여기에는 클라우드로 마이그레이션, 서버리스 아키텍처로 앱 생성, 서비스 컨테이너화 또는 최신 DevOps 모델을 사용하여 데이터 파이프라인을 정비하는 것이 포함될 수 있습니다.
다음 기사에서는 "리프트 앤 시프트"와 같은 간단한 절차부터 마이크로서비스 배포 전략 재설계와 같은 보다 복잡한 접근 방식에 이르기까지 모든 것을 이해하는 데 도움이 되는 애플리케이션 현대화에 사용되는 다양한 전략에 대해 설명합니다.
레거시 애플리케이션 현대화는 오래된 애플리케이션에 새로운 활력을 불어넣습니다. 일반적으로 더 광범위한 엔터프라이즈 디지털 변환 계획 내에서 발생하지만 궁극적으로는 운영 비효율성을 줄이고 비즈니스 프로세스를 간소화하는 것을 목표로 합니다. 레거시 애플리케이션을 현대화하는 것의 몇 가지 이점은 다음과 같습니다.
계획 단계에서는 어떤 기술이 상당한 비즈니스 가치를 제공할지, 이를 통해 애플리케이션을 폐기할 수 있을지, 어떤 절차를 통해 위험을 최소화하면서 투자에서 최대의 ROI를 얻을 수 있을지 결정해야 합니다.
다음 질문을 하면 애플리케이션 현대화 이니셔티브에서 최대 가치를 얻는 데 도움이 됩니다.
레거시 애플리케이션을 현대화할 때 조직이 알아야 할 7가지 R이 있습니다. 어떤 R을 선택할지는 사용 사례에 따라 달라지지만, 좋은 경험 법칙은 항상 더 간단한 애플리케이션을 먼저 마이그레이션하는 것입니다.
1. 교체
이 접근 방식을 사용하면 애플리케이션을 완전히 교체해야 합니다. 아무리 애플리케이션을 현대화해도 쓸모없는 코드 언어나 API와 같은 기술적 한계를 극복할 수 없습니다. 애플리케이션이 최신 Windows 또는 Linux 운영 체제에서 지원되지 않을 수도 있고, AWS, Azure 또는 GCP와 같은 클라우드 공급자가 지원하지 않을 수도 있습니다.
2. 리호스팅
기업이 애플리케이션을 리호스팅하는 경우, 앱 자체를 변경하지 않고 다른 호스트 플랫폼으로 애플리케이션을 이동하는 것을 의미합니다. 디지털 변환 전략에는 빠른 클라우드 마이그레이션이 필요하므로 최소한의 중단으로 서비스 가동 시간을 유지하는 좋은 옵션입니다.
이는 앱의 현재 인스턴스가 새 인프라 플랫폼과 호환되는 경우에만 가능합니다. 호환되지 않는 경우 이 목록의 다음 항목이 적용됩니다.
3. 리플랫폼
애플리케이션 리플랫폼은 리호스팅과 유사합니다. 이 방법은 종종 DBaaS, SaaS 및 IaaS 솔루션과 함께 사용됩니다.
한 가지 예는 비용을 절감하기 위해 전자상거래 웹사이트를 Microsoft Azure에서 AWS로 옮기는 것입니다. 웹사이트 자체는 동일하게 유지되며, 핵심 종속성은 새로운 플랫폼과의 호환성을 위해 수정됩니다.
4. 리팩토링
리팩토링은 소프트웨어 개발 및 DevOps 팀에 더 적합합니다. 기존 기능을 변경하지 않고 운영 성능을 개선하기 위해 애플리케이션의 기본 코드를 다시 작성하는 것을 포함합니다. 이를 코드 리팩토링이라고 하며, AWS와 같은 클라우드 플랫폼의 일부 이점을 잠금 해제하지만 최대 기능을 잠금 해제하는 것은 포함하지 않습니다.
이 프로세스의 일부는 중복된 코드나 앱 로직을 제거하는 것을 포함할 수 있습니다. 10줄짜리 함수를 동일한 기능을 가진 5줄로 축약할 수 있다면, 그것은 성공적인 리팩토링 시도입니다. 그렇지 않으면 클래스와 메서드의 수를 줄이면 성능이 향상되고 통합 개발 환경(IDE) 내에서 관리가 간소화됩니다.
5. 재설계
애플리케이션을 재설계한다는 것은 애플리케이션을 처음부터 다시 설계하는 것입니다. 이는 일반적으로 모놀리식 애플리케이션 패키지에서 볼 수 있으며, 기업은 마이크로서비스 아키텍처를 활용하고자 할 수 있습니다.
애플리케이션을 재구축하는 한 가지 방법은 독점 API와 소프트웨어 종속성을 Microsoft SQL Server에서 PostgreSQL로의 오픈 소스 대안으로 대체하는 것입니다. 이러한 노력은 총 소유 비용(TCO)을 줄이고, 클라우드 민첩성을 높이고, 중단 및 성능 문제에 대한 애플리케이션 복원력을 개선할 수 있습니다.
6. 재건하다
애플리케이션 재구축은 개인 또는 구성 요소 모음을 처음부터 시작하는 것을 포함합니다. 재구축 시 원래 범위와 사양은 동일하게 유지되는 반면, 새로운 기술 또는 운영 요구 사항을 충족합니다.
애플리케이션 레거시 현대화의 재구축 단계는 시간이 지남에 따라 완료될 수 있습니다. 예를 들어, 가장 중요한 구성 요소 중 하나 또는 두 개를 재구축하여 라이브 환경에 배포합니다. 그런 다음 추가 구성 요소를 천천히 재구축하여 전체 애플리케이션이 AWS와 같은 클라우드 플랫폼에서 최적의 사용을 위해 변환될 때까지 진행합니다.
7. 재매수
이것은 아마도 애플리케이션을 현대화하는 가장 쉬운 방법일 것입니다. 기업은 리팩토링, 재구축 또는 리호스팅 대신 새로운 소프트웨어를 다시 구매합니다. 이 소프트웨어는 동일한 공급업체에서 다시 구매하지 않고 비즈니스 요구 사항을 충족하는 대체 공급업체에서 다시 구매합니다.
이는 일반적으로 SaaS(Software-as-a-Service) 플랫폼을 사용하여 달성됩니다. 다른 옵션으로는 DBaaS(Database-as-a-Service) 및 PaaS(Platform-as-a-Service)가 있습니다. 가장 큰 장애물은 유사한 기능을 제공하는 새로운 애플리케이션 공급자를 식별하는 동시에 데이터 마이그레이션과 새로운 앱에 대한 구성 병합을 용이하게 하는 것입니다.
또한 읽어보세요 : ECS 대 EC2
어떤 클라우드 플랫폼, 프로그래밍 언어 또는 컨설턴트와 협력할지 결정하기 전에 기존 애플리케이션 아키텍처의 현재 상태를 매핑하는 것이 필수적입니다. 성공적인 전략은 기술보다 비즈니스에 초점을 맞춰야 합니다. 이를 통해 이상적인 미래 상태를 만드는 데 도움이 됩니다.
모든 로드맵은 각 기업마다 고유하지만, 모든 애플리케이션 현대화 전략에 포함되어야 하는 6가지 공통점은 다음과 같습니다.
저작권 © 2022 Trianz
Trianz는 모든 주요 클라우드 플랫폼 공급업체와 컨설팅 파트너입니다. 당사는 레거시 시스템의 마이그레이션 및 현대화에 대한 광범위한 전문 지식을 보유하고 있습니다. 현대화 전략의 범위에 대해 확신이 없다면 Trianz가 7R 중 어느 것이 귀하의 애플리케이션 이니셔티브에 가장 적합한지 식별하는 데 도움을 드릴 수 있습니다.
현대화 여정의 어느 단계에 있든 Trianz는 변화하는 비즈니스 요구에 대응할 수 있는 유연성, 확장성, 민첩성을 제공하는 최종 상태에 도달할 수 있도록 도와드립니다.
AWS로 애플리케이션을 마이그레이션하는 데 관심이 있으신가요?
광범위한 서비스와 세계에서 가장 빠르고 안정적인 인프라를 갖춘 AWS는 귀하의 비즈니스에 적합한 애플리케이션 현대화 경로가 될 수 있습니다.