개요
애플리케이션 마이그레이션은 애플리케이션을 환경 간에 이동하여 워크로드를 개선할 수 있는 프로세스입니다. 애플리케이션 마이그레이션의 일반적인 유형으로는 클라우드 환경 간 이동, 데이터 센터 간 이동, 퍼블릭 클라우드에서 프라이빗 또는 하이브리드 클라우드 서비스로의 이동, 온프레미스 데이터 센터에서 클라우드 제공업체로 마이그레이션하는 것 등이 있습니다.
클라우드 마이그레이션은 데이터와 애플리케이션을 온프레미스 데이터 센터에서 클라우드 기반 인프라로 또는 클라우드 환경 간에 옮기는 프로세스로, 클라우드 간 마이그레이션이라고도 합니다. 또한 애플리케이션을 변경하여 클라우드 환경에서 확장하거나 성능을 개선하는 작업도 포함될 수 있습니다. 또한 데이터 마이그레이션은 스토리지 시스템/컴퓨팅 환경에서 동종 환경으로 데이터를 전송하는 프로세스입니다.
애플리케이션 마이그레이션 패턴
애플리케이션 마이그레이션에는 다음과 같은 다양한 패턴 또는 경로가 있습니다.
사용 종료/교체: 이 패턴은 애플리케이션을 제거하거나 새로 선택할 때 가장 적합한 옵션입니다. 애플리케이션의 가치가 감소하거나, 환경 내의 다른 위치에서 해당 기능을 사용할 수 있거나, 애플리케이션을 서비스로서의 소프트웨어(Software-as-a-Service, SaaS) 플랫폼과 같은 새 솔루션으로 교체하여 비용을 절감할 수 있기 때문입니다.
리호스팅(Rehosting): 이는 애플리케이션이 중요한 변경 없이 이동하는 경우입니다. 리프트 앤 시프트라고도 하는 이 프로세스는 다른 마이그레이션 경로보다 더 빠르고 마이그레이션 관련 비용이 더 저렴합니다. 하지만 애플리케이션 수정 없이 리호스팅하는 경우 애플리케이션이 클라우드 네이티브 기능 없이 클라우드에서 실행되기 때문에 장기적으로 비용이 증가하게 될 수 있습니다.
리플랫포밍(Replatform): 이 패턴은 애플리케이션을 소폭 변경하는 경우와 관련이 있습니다. 그러한 변경에는 운영 체제를 변경하거나 클라우드 네이티브 관리형 데이터베이스에서 사용되도록 애플리케이션을 조정하는 것이 포함됩니다.
리팩토링(Refactor): 이 패턴은 재설계(Rearchitect)로도 알려져 있으며, 클라우드 네이티브 기능을 포함하도록 애플리케이션 일부의 코드를 수정하는 것과 같이 애플리케이션에 중요한 변경을 수행하는 것을 의미합니다.
재작성(Rewrite): 재구축이라고도 하며, 애플리케이션을 클라우드에 맞게 특별히 재작성하는 것을 의미합니다.
Red Hat 리소스
애플리케이션 마이그레이션 과제
애플리케이션을 클라우드로 마이그레이션하면 운영 효율성 향상, 배포 시간 단축, 비용 절감 등 여러 가지 장점이 있습니다. 하지만 다음과 같은 몇 가지 과제도 있습니다.
비용: 신중하게 계획하지 않으면 예상치 못한 비용이 발생할 수 있습니다. 팀은 운영 비용, 새 라이센스 비용, 새로운 툴 교육 관련 비용 및 그 밖의 요인들을 고려해 예산 범위를 벗어나지 않도록 해야 합니다.
다운타임: 애플리케이션에 중요한 변경을 수행하면 예기치 않은 다운타임을 초래하는 이슈가 발생할 수 있습니다.
기술적 복잡성: 종속성으로 인해 애플리케이션을 리팩토링하거나 리플랫포밍하는 작업이 훨씬 복잡하고 시간이 많이 소요될 수 있습니다. 또한 복잡성으로 인해 마이그레이션을 효과적으로 관리할 수 있는 전문가를 찾을 때 기술 격차가 발생할 수 있습니다.
변경 관리: 조직의 애플리케이션 사용 방식 차이로 인해 마이그레이션 프로젝트 진행이 더뎌질 수 있습니다.
라이센스 및 컴플라이언스: 소프트웨어 라이센스를 적절히 관리할 수 있어야 합니다. 엔터프라이즈 애플리케이션을 문서화하고 클라우드 컴퓨팅과 관련된 라이센스에 유의하는 것이 좋습니다. 또한 조직은 클라우드로 전환할 때 클라우드로 이동한 데이터가 안전한지 확인하고 모든 관련 업계 및 정부 규정을 준수해야 합니다.
애플리케이션을 마이그레이션해야 하는 이유
마이그레이션은 유연성, 유지 관리 간소화 및 성능 향상 기회를 제공합니다. 애플리케이션을 마이그레이션해야 하는 이유에는 현대화 및 컨테이너화, 기술 부채, 혁신 등 여러 가지가 있습니다.
조직에서 애플리케이션의 운영상의 과제를 분석하여 개선하려는 경우, 다음과 같은 질문을 하는 것이 도움이 될 수 있습니다.
복잡성: 애플리케이션을 사내에서 개발했는지? 애플리케이션을 얼마나 오래 사용했는지? 해당 애플리케이션에 종속된 다른 애플리케이션이나 워크플로우가 있는지? 있다면 그 수는 얼마인지?
중요도: 이 애플리케이션의 일일 사용량은 얼마나 되는지? 누가 애플리케이션을 관리하는지? 회사 운영에 지장을 주지 않는 상태에서 허용 가능한 다운타임은 얼마나 되는지? 애플리케이션이 프로덕션, 개발 또는 테스트에 사용되거나 이 세 가지 모두에 사용되는지?
컴플라이언스: 애플리케이션이 어떤 규제 요건을 준수해야 하는지?
가용성: 이 애플리케이션이 어떤 가동 시간 표준을 준수해야 하는지?
애플리케이션 마이그레이션 단계 및 모범 사례
마이그레이션의 이유를 파악하고 설정한 후에는 모범 사례를 유지 관리하는 동시에 4단계 프로세스를 진행할 수 있습니다.
애플리케이션 평가
첫 번째 단계에서는 IT 인프라, 레거시 시스템, 마이그레이션에 영향을 미칠 수 있는 제한 사항을 포함하여 애플리케이션 포트폴리오에 대한 평가를 완료해야 합니다. 또한 컴플라이언스 요구 사항, 확장성, 비즈니스 요구 사항을 고려하여 대상 환경을 준비해야 합니다. 평가 단계는 클라우드에 적합한 애플리케이션과 변경이 필요한 애플리케이션을 식별하는 데 있어 중요합니다.
조직적 측면 평가
애플리케이션을 평가한 후에는 관련 팀과 협업해야 합니다. 이러한 팀은 마이그레이션 계획에 참여할 수 있으며, 마이그레이션이 해당 팀과 기존 비즈니스 프로세스에 어떤 영향을 미칠 수 있는지 알 수 있습니다. 이 단계에서는 커뮤니케이션이 핵심입니다.
마이그레이션 방법 선택 및 전략 수립
이 단계에서는 먼저 애플리케이션을 그룹화한 다음 단계적으로 마이그레이션을 수행할 수 있습니다. 체계적인 진행을 위해 각 단계를 문서화하여 팀이 정보를 얻고 지원 문서를 수집하도록 할 수 있습니다.
자동화 및 테스트
효율성을 높이기 위해 조직은 반복되는 패턴을 자동화할 수 있습니다. 자동화를 통해 마이그레이션 처리 속도를 높이고, 위험을 줄이고, 비용을 절약할 수 있습니다. 마이그레이션을 완료한 후에 마이그레이션이 성공적인지 여부를 확인하기 위한 테스트를 실행할 수 있습니다.
Red Hat의 지원
Red Hat® OpenShift®는 빌드 및 배포부터 실행 및 관리에 이르는 애플리케이션 개발의 전체 라이프사이클을 간소화합니다. 멀티클라우드 및 하이브리드 환경에서 AI로 애플리케이션을 구축하고 현대화하는 등 애플리케이션 현대화 및 마이그레이션의 복잡성을 간소화하여 개발자와 IT 운영 팀의 효율성과 생산성을 높여줍니다.
애플리케이션 마이그레이션을 지원하는 OpenShift의 기능이 포함된 Red Hat OpenShift Virtualization을 활용하면 IT 팀이 컨테이너와 함께 현대적인 플랫폼에서 가상 머신(VM)을 실행하여 관리를 간소화하고 프로덕션까지 걸리는 시간을 단축할 수 있습니다. 조직은 온프레미스, 퍼블릭 클라우드, 엣지에서 실행되는 일관된 단일 플랫폼으로 VM을 마이그레이션하고 관리하면서 운영 복잡성을 줄일 수 있습니다. 또한 단일 관리 인터페이스와 개발 및 운영 툴 세트를 통해 VM에서 실행되는 애플리케이션에 OpenShift와 쿠버네티스의 장점을 제공할 수 있습니다.
Red Hat Application Foundations에는 개발 팀이 현대화 여정을 평가, 계획 및 설계하고 비즈니스 또는 최종 사용자 환경을 저해하지 않으면서 새로운 최신 클라우드 네이티브 아키텍처와 쉽게 통합하도록 지원하는 애플리케이션을 위한 마이그레이션 툴킷이 포함되어 있습니다. 온프레미스 또는 클라우드에서 실행되는 애플리케이션과 함께 사용할 수 있으며, OpenShift와 결합되는 경우 전체 애플리케이션 라이프사이클에 걸쳐 실행을 간소화하는 플랫폼을 생성합니다.
레드햇 공식 블로그
레드햇 공식 블로그에서 고객, 파트너, 커뮤니티 에코시스템 등 현재 화제가 되는 최신 정보를 살펴 보세요.