애플리케이션 마이그레이션이란?

URL 복사

애플리케이션 마이그레이션은 애플리케이션을 환경 간에 이동하여 워크로드를 개선할 수 있는 프로세스입니다. 애플리케이션 마이그레이션의 일반적인 유형으로는 클라우드 환경 간 마이그레이션, 데이터 센터 간 마이그레이션, 퍼블릭 클라우드에서 프라이빗 또는 하이브리드 클라우드 서비스로의 마이그레이션, 온프레미스 데이터 센터에서 클라우드 공급업체로의 마이그레이션 등이 있습니다.

클라우드 마이그레이션은 데이터와 애플리케이션을 온프레미스 데이터 센터에서 클라우드 기반 인프라로 또는 클라우드 환경 간에 옮기는 프로세스로, 클라우드 간 마이그레이션이라고도 합니다. 또한 애플리케이션을 변경하여 클라우드 환경에서 확장하거나 성능을 개선하는 작업도 포함될 수 있습니다. 또한 데이터 마이그레이션은 스토리지 시스템/컴퓨팅 환경에서 동종 환경으로 데이터를 전송하는 프로세스입니다.

애플리케이션 마이그레이션 및 현대화 여정 계획하기

애플리케이션 마이그레이션에는 다음과 같은 다양한 패턴 또는 경로가 있습니다.

사용 종료/교체: 이 패턴은 애플리케이션을 제거하거나 새로 선택할 때 가장 적합한 옵션입니다. 애플리케이션의 가치가 감소하거나, 환경 내의 다른 위치에서 해당 기능을 사용할 수 있거나, 애플리케이션을 서비스로서의 소프트웨어(Software-as-a-Service, SaaS) 플랫폼과 같은 새 솔루션으로 교체하여 비용을 절감할 수 있기 때문입니다.

리호스팅(Rehosting): 애플리케이션이 중요한 변경 없이 이동하는 경우입니다. 리프트 앤 시프트라고도 하는 이 프로세스는 다른 마이그레이션 경로보다 더 빠르고 마이그레이션 관련 비용이 더 저렴합니다. 하지만 애플리케이션 수정 없이 리호스팅하는 경우 애플리케이션이 클라우드 네이티브 기능 없이 클라우드에서 실행되기 때문에 장기적으로 비용이 증가하게 될 수 있습니다. 

리플랫포밍(Replatform): 이 패턴은 애플리케이션을 소폭 변경하는 경우와 관련이 있습니다. 그러한 변경에는 운영 체제를 변경하거나 클라우드 네이티브 관리형 데이터베이스에서 사용되도록 애플리케이션을 조정하는 것이 포함됩니다.

리팩토링(Refactor): 이 패턴은 재설계(Rearchitect)로도 알려져 있으며, 클라우드 네이티브 기능을 포함하도록 애플리케이션 일부의 코드를 수정하는 것과 같이 애플리케이션에 중요한 변경을 수행하는 것을 의미합니다.

재작성(Rewrite): 재구축이라고도 하며, 애플리케이션을 클라우드에 맞게 특별히 재작성하는 것을 의미합니다.

Red Hat 리소스

애플리케이션을 클라우드로 마이그레이션하면 운영 효율성 향상, 배포 시간 단축, 비용 절감 등 여러 가지 장점이 있습니다. 하지만 다음과 같은 몇 가지 과제도 있습니다.

비용: 신중하게 계획하지 않으면 예상치 못한 비용이 발생할 수 있습니다. 팀은 운영 비용, 새 라이센스 비용, 새로운 툴 교육 관련 비용 및 그 밖의 요인들을 고려해 예산 범위를 벗어나지 않도록 해야 합니다. 

다운타임: 애플리케이션에 중요한 변경을 수행하면 예기치 않은 다운타임을 초래하는 문제가 발생할 수 있습니다.

기술적 복잡성: 종속성으로 인해 애플리케이션을 리팩토링하거나 리플랫포밍하는 작업이 훨씬 복잡하고 시간이 많이 소요될 수 있습니다. 또한 복잡성으로 인해 마이그레이션을 효과적으로 관리할 수 있는 전문가를 찾을 때 기술 격차가 발생할 수 있습니다.

변경 관리: 조직의 애플리케이션 사용 방식 차이로 인해 마이그레이션 프로젝트 진행이 더뎌질 수 있습니다.

라이센스 및 컴플라이언스: 소프트웨어 라이센스를 적절히 관리할 수 있어야 합니다. 엔터프라이즈 애플리케이션을 문서화하고 클라우드 컴퓨팅과 관련된 라이센스에 유의하는 것이 좋습니다. 또한 조직은 클라우드로 전환할 때 클라우드로 이동한 데이터가 안전한지 확인하고 모든 관련 업계 및 정부 규정을 준수해야 합니다.

레거시 애플리케이션을 마이그레이션하면 마이그레이션과 관련하여 몇 가지 문제가 수반됩니다. 따라서 마이그레이션을 수행하기 전에 모든 레거시 애플리케이션을 철저하게 평가하는 것이 중요합니다. 그런 다음 마이그레이션의 패턴(사용 종료/교체, 리호스팅, 리플랫포밍, 리팩토링, 재작성)을 결정하면 됩니다. 

레거시 애플리케이션을 마이그레이션할 때 직면할 수 있는 문제는 다음과 같습니다.

  1. 호환성 및 통합: 레거시 애플리케이션이 최신 시스템에서 제대로 작동하지 않아 업데이트나 변경이 필요할 수 있습니다.
  2. 데이터 마이그레이션: 오래된 시스템에서 데이터를 전송하는 작업은 복잡하고 위험할 수 있습니다.
  3. 설명서 부족: 문서화된 정보가 부족할 경우 애플리케이션의 작동 방법과 적합한 마이그레이션 방법을 파악하기 어려울 수 있습니다.
  4. 기술 부채: 레거시 애플리케이션은 코드가 구식이거나 설계가 비효율적인 경우가 종종 있습니다.
  5. 리소스 제약: 마이그레이션에는 시간, 숙련된 직원, 예산 등이 필요하며 이러한 리소스를 할당하기가 어려울 수 있습니다.
  6. 보안 위험: 오래된 소프트웨어에는 해결이 필요한 보안 취약점이 존재할 수 있습니다.
  7. 성능 문제: 마이그레이션 후에 애플리케이션이 제대로 작동하지 않아 추가적인 최적화가 필요할 수 있습니다.

마이그레이션은 유연성, 유지 관리 간소화 및 성능 향상 기회를 제공합니다. 애플리케이션을 마이그레이션해야 하는 이유에는 현대화 및 컨테이너화, 기술 부채, 혁신 등 여러 가지가 있습니다.

조직에서 애플리케이션의 운영상의 과제를 분석하여 개선하려는 경우, 다음과 같은 질문을 하는 것이 도움이 될 수 있습니다.

복잡성: 애플리케이션을 사내에서 개발했는지? 애플리케이션을 얼마나 오래 사용했는지? 해당 애플리케이션에 종속된 다른 애플리케이션이나 워크플로우가 있는지? 있다면 그 수는 얼마인지?

중요도: 이 애플리케이션의 일일 사용량은 얼마나 되는지? 누가 애플리케이션을 관리하는지? 회사 운영에 지장을 주지 않는 상태에서 허용 가능한 다운타임은 얼마나 되는지? 애플리케이션이 프로덕션, 개발 또는 테스트에 사용되거나 이 세 가지 모두에 사용되는지?

컴플라이언스: 애플리케이션이 어떤 규제 요건을 준수해야 하는지?

가용성: 이 애플리케이션이 어떤 가동 시간 표준을 준수해야 하는지?

마이그레이션의 이유를 파악하고 설정한 후에는 모범 사례를 유지 관리하는 동시에 4단계 프로세스를 진행할 수 있습니다.

애플리케이션 평가

첫 번째 단계에서는 IT 인프라, 레거시 시스템, 마이그레이션에 영향을 미칠 수 있는 제한 사항을 포함하여 애플리케이션 포트폴리오에 대한 평가를 완료해야 합니다. 또한 컴플라이언스 요구 사항, 확장성, 비즈니스 요구 사항을 고려하여 대상 환경을 준비해야 합니다. 평가 단계는 클라우드에 적합한 애플리케이션과 변경이 필요한 애플리케이션을 식별하는 데 있어 중요합니다. 

조직적 측면 평가

애플리케이션을 평가한 후에는 관련 팀과 협업해야 합니다. 이러한 팀은 마이그레이션 계획에 참여할 수 있으며, 마이그레이션이 해당 팀과 기존 비즈니스 프로세스에 어떤 영향을 미칠 수 있는지 알 수 있습니다. 이 단계에서는 커뮤니케이션이 핵심입니다.

마이그레이션 방법 선택 및 전략 개발 

이 단계에서는 먼저 애플리케이션을 그룹화한 다음 단계적으로 마이그레이션을 수행할 수 있습니다. 체계적인 진행을 위해 각 단계를 문서화하여 팀이 정보를 얻고 지원 문서를 수집하도록 할 수 있습니다. 

자동화

효율성을 높이기 위해 조직은 반복되는 패턴을 자동화할 수 있습니다. 자동화를 통해 마이그레이션 처리 속도를 높이고, 위험을 줄이고, 비용을 절약할 수 있습니다. 

통합 테스트

마이그레이션을 완료한 후에 마이그레이션이 성공적인지 여부를 확인하기 위한 테스트를 실행할 수 있습니다. 여기에는 UAT(사용자 승인 테스트)와 보안 테스트가 포함되어야 합니다. 

애플리케이션 마이그레이션에 대해 자세히 알아보기

Red Hat® OpenShift®는 빌드 및 배포부터 실행 및 관리에 이르는 애플리케이션 개발의 전체 라이프사이클을 간소화합니다. 멀티클라우드 및 하이브리드 환경에서 AI로 애플리케이션을 구축하고 현대화하는 등 애플리케이션 현대화 및 마이그레이션의 복잡성을 간소화하여 개발자와 IT 운영 팀의 효율성과 생산성을 높여줍니다.

Red Hat은 Red Hat OpenShift를 기반으로 하이브리드 클라우드 환경 전반에서 대규모 애플리케이션 현대화 작업을 가속화하는 애플리케이션을 위한 마이그레이션 툴킷을 제공합니다. 컨테이너화 준비, 소스 코드 분석, 프로젝트 관리 기능이 포함된 이 툴은 레거시 애플리케이션을 더욱 빠르게 현대화하는 데 유용합니다.

Red Hat은 클라우드 네이티브 개발과 인공지능의 혁신을 위해 애플리케이션을 마이그레이션하고 현대화하고자 하는 조직이 가상 머신(VM)을 포함한 기존 인프라를 통합 애플리케이션 플랫폼으로 이동할 수 있도록 지원합니다. 이 플랫폼에서는 컨테이너화된 애플리케이션과 가상화된 애플리케이션을 동시에 빌드, 실행, 배포할 수 있습니다. 이렇게 마이그레이션이 완료되면 조직은 원하는 속도로 현대화할 준비 태세를 갖추게 됩니다. 

지금 바로 오픈소스 프로젝트 KVM과 KubeVirt를 기반으로 하여 가상 머신과 컨테이너를 동시에 실행할 수 있는 현대적인 애플리케이션 플랫폼인 Red Hat OpenShift Virtualization으로 가상 머신을 마이그레이션할 수 있습니다. 기본 포함된 가상화를 위한 마이그레이션 툴킷은 몇 단계로 간단히 마이그레이션하는 데 필요한 툴을 제공합니다. Red Hat Ansible® Automation Platform을 통해 자동화를 사용하여 규모에 따른 마이그레이션에서 Day 2 오퍼레이션과 문제 해결까지 빠르게 제공할 수 있습니다. Red Hat Advanced Cluster Management for Kubernetes로 단일 콘솔에서 VM의 보안과 성능을 모니터링할 수 있습니다. 스토리지, 백업 및 재해 복구, 네트워킹 등을 위한 추가 지원 옵션과 파트너 통합 등으로 Red Hat은 조직이 하이브리드 클라우드 전체에 걸쳐 가상 인프라의 원활한 운영을 유지하고 준비가 되었을 때 현대화할 수 있도록 지원합니다.

Red Hat을 통한 가상화 살펴보기

허브

레드햇 공식 블로그

레드햇 공식 블로그에서 고객, 파트너, 커뮤니티 에코시스템 등 현재 화제가 되는 최신 정보를 살펴 보세요.

모든 Red Hat 제품 체험판

무료 제품 체험판을 통해 핸즈온 경험을 얻고, 자격증 시험에 대비하거나 해당 제품이 조직에 적합한지 평가할 수 있습니다.

추가 자료

플랫폼 엔지니어를 위한 Red Hat OpenShift

Red Hat OpenShift는 플랫폼 엔지니어링 팀에 내부 개발자 플랫폼을 효과적으로 구축하고 관리하는 데 필요한 툴을 제공합니다.

서버리스(serverless)란?

서버리스(serverless)란 개발자가 서버를 관리할 필요 없이 애플리케이션을 빌드하고 실행할 수 있도록 하는 클라우드 네이티브 개발 모델입니다.

자바 프레임워크(Java Framework)란? 종류, 라이브러리, 차이점

자바 프레임워크란 개발자가 Java 프로그래밍 언어로 애플리케이션 작성을 위해 미리 작성된 코드를 뜻하며, 프레임워크 종류에 따라 사전 정의 클래스가 달라집니다.

애플리케이션 개발과 제공 리소스

관련 기사