마이그레이션 유형은 이동 중인 항목과 관련 환경에 따라 결정됩니다. 각 유형에는 자체적인 기술적 고려 사항, 장애 모드 및 계획 요구 사항이 있습니다. 마이그레이션 전략이 어떤 유형 또는 유형의 조합이 프로젝트에 적용되는지 이해하는 것은 마이그레이션 전략이 가장 먼저 내려야 하는 결정 중 하나입니다.
데이터베이스 마이그레이션
데이터베이스 마이그레이션은 공급업체를 전환하거나 데이터베이스 소프트웨어를 업그레이드하기 위해 두 데이터베이스 시스템 간에 데이터 또는 애플리케이션을 전송합니다. 일반적인 트리거로는 데이터베이스 벤더의 단종 공지, 라이선스 비용 변경, 현재 플랫폼의 성능 제한 또는 오픈소스 대안으로의 전환 등이 있습니다.
스키마의 차이점은 복잡성의 주요 원인입니다. 두 데이터베이스는 개념적으로 유사한 데이터를 다음과 같이 구조적으로 호환되지 않는 방식으로 저장할 수 있습니다.
- 다양한 데이터 유형
- 명명 규칙
- 제약 규칙
- 인덱싱 방식
하나의 데이터베이스 방언에 저장된 절차와 사용자 정의 기능은 종종 대상 시스템에 대한 재작성이 필요합니다.
애플리케이션 종속성은 도전과제를 해결합니다. 대부분의 프로덕션 데이터베이스는 이를 읽고 쓰는 여러 애플리케이션에서 사용됩니다. 이러한 각 애플리케이션은 컷오버 전에 대상 데이터베이스와 비교하여 테스트해야 하며, 벤더별 동작에 의존하는 쿼리는 식별하여 다시 작성해야 합니다. 이 단계를 놓치는 것은 데이터베이스 마이그레이션이 사후 검증에 실패하는 가장 일반적인 이유 중 하나입니다.
주의해야 할 사항:
- 플랫폼마다 다르게 작용하는 암시적 데이터 유형 변환
- 텍스트 데이터를 손상시키는 문자 인코딩 차이(예: UTF-8 대 Latin-1)
- 벤더 간에 원활하게 전송되지 않는 시퀀스 및 자동 증가 동작
- 벤더별 SQL 방언으로 작성된 트리거 및 저장된 절차
클라우드 마이그레이션
클라우드 마이그레이션은 데이터 또는 애플리케이션을 온-프레미스 환경에서 클라우드 인프라로, 또는 클라우드 제공업체 간에 이동시킵니다. 데이터베이스 마이그레이션, 스토리지 마이그레이션 및 병렬로 실행되는 애플리케이션 마이그레이션이 자주 포함되기 때문에, 가장 규모가 크고 조직적으로 가장 복잡한 마이그레이션 유형인 경우가 많습니다.
최소한의 수정만으로 워크로드를 클라우드로 이동시키는 리프트-앤-시프트 마이그레이션은 실행이 가장 빠르지만, 성능 및 비용 문제는 그대로 둡니다. 클라우드 네이티브 서비스를 활용하기 위해 워크로드를 재플랫폼하거나 리팩토링하면 마이그레이션 복잡성이 증가하지만 일반적으로 더 나은 장기적 결과를 얻을 수 있습니다.
규정 준수 요건, 데이터 상주 규칙 및 네트워크 레이턴시 모두 온-프레미스 마이그레이션이 직면하지 않는 차원을 추가합니다. GDPR, HIPAA 및 기타 규정은 데이터가 일시적으로 전송되거나 상주할 수 있는 위치를 제한할 수 있습니다. 대규모 데이터 세트를 이동하는 조직의 경우, 네트워크 대역폭은 진정한 병목 현상이 될 수 있습니다. 일부 마이그레이션은 유선 전송보다 물리적 데이터 전송 서비스를 사용하여 더 빠르고 저렴합니다.
클라우드 간 마이그레이션(예: AWS, Microsoft Azure 및 Google Cloud 간 이동)은 조직이 벤더 관계를 재평가하거나 멀티 클라우드 환경을 통합함에 따라 점점 더 흔해지고 있습니다. 이러한 마이그레이션을 위해서는 소스 클라우드, 오브젝트 스토리지 API, 매니지드 데이터베이스 서비스, 서버리스 기능에 축적된 독점적인 서비스 종속성을 이해하고 대상에 동등한 서비스가 존재하는지 여부를 판단해야 합니다.
주의해야 할 사항:
- 마이그레이션 예산을 크게 확장하는 비용 절감
- 대상 공급업체와 직접 동일하지 않은 독점 서비스 종속성
- 데이터 상주가 규정 준수 요건과 충돌합니다.
- 대기 시간이 짧은 온프레미스 액세스를 위해 설계된 애플리케이션에 미치는 대기 시간 영향
스토리지 마이그레이션
스토리지 마이그레이션은 기존 스토리지 어레이에서 새로운 하드웨어로 데이터를 이동시킵니다. 하드웨어 리프레시 사이클, 용량 확장 요구, 회전 디스크에서 올플래시 아키텍처로의 전환에 의해 구동되는 엔터프라이즈 환경에서 가장 일반적인 마이그레이션 유형 중 하나입니다.
데이터베이스 또는 애플리케이션 마이그레이션과 달리, 스토리지 마이그레이션은 본질적으로 데이터 변환을 수반하지 않습니다. 데이터 형식은 변경되지 않습니다. 블록이나 파일을 물리적인 한 위치에서 다른 위치로 이동하고 있습니다. 그러나 운영 리스크는 실제와 같습니다. 프로덕션 데이터에 대한 액세스를 방해하는 스토리지 어레이 마이그레이션은 스토리지에 따라 모든 애플리케이션과 사용자에게 영향을 미칩니다.
호스트 기반 마이그레이션은 서버에서 실행되는 소프트웨어를 사용하여 소스에서 대상 스토리지로 데이터를 복사합니다. 유연성이 뛰어나고 특수 하드웨어가 필요하지 않지만, 마이그레이션 중에 서버 CPU와 메모리 리소스를 소비합니다. 어레이 기반 마이그레이션은 스토리지 하드웨어에 내장된 복제 기능을 사용하며, 일반적으로 호스트 측 오버헤드를 줄이고 무중단 컷오버를 지원합니다.
올플래시 어레이를 사용하는 조직의 경우, 스토리지 마이그레이션은 보다 광범위한 인프라 현대화 노력과 일치하는 경우가 많습니다. 하이브리드 또는 스피닝 디스크 스토리지에서 올플래시로 전환하면 성능 특성이 크게 변화합니다. 새로운 환경을 최대한 활용하기 위해 더 높은 레이턴시 스토리지에 맞게 조정된 애플리케이션을 재구성해야 할 수 있습니다.
주의해야 할 사항:
- 스토리지 목표 변경 시 업데이트가 필요한 호스트 다중 경로 구성
- 마이그레이션 후 중단되는 하드코딩된 스토리지 경로가 있는 애플리케이션
- 애플리케이션 동작에 영향을 미치는 소스 어레이와 타겟 어레이 간의 성능 차이
- 기존 하드웨어와 새로운 하드웨어 간의 다양한 데이터 절감 비율을 고려한 용량 계획
애플리케이션 마이그레이션
애플리케이션 마이그레이션은 환경 간, 온프레미스에서 클라우드로, 클라우드에서 클라우드로 또는 새로운 SaaS 플랫폼으로 애플리케이션을 이동시킵니다. 거의 항상 데이터베이스와 스토리지 마이그레이션을 종속성으로 트리거하기 때문에 계획과 실행이 가장 복잡한 마이그레이션 유형입니다.
복잡성은 빠르게 증가합니다. 예를 들어, ERP 시스템을 마이그레이션하려면 기본 데이터베이스, 실행되는 스토리지, 의존하는 네트워크 서비스 및 다른 애플리케이션과의 통합을 마이그레이션해야 할 수 있습니다. 각 애플리케이션은 자체 마이그레이션 요구 사항과 시퀀싱 제약이 있습니다.
또한 애플리케이션 마이그레이션은 사용자와 비즈니스 프로세스에 직접적인 영향을 미치기 때문에 모든 마이그레이션 유형의 비즈니스 위험이 가장 높습니다. 스토리지 마이그레이션이 잘못되면 인프라 문제가 발생합니다. 애플리케이션 마이그레이션이 잘못되면 사람들이 업무를 수행하는 데 의존하는 워크플로우가 중단됩니다.
자체 관리형 애플리케이션에서 벤더 관리형 클라우드 서비스로 이동하는 SaaS 마이그레이션은 다양한 문제를 야기합니다. 사용자 지정 옵션이 제한된 멀티 테넌트 환경으로 이동하는 경우가 많습니다. 즉, 데이터가 이동하기 전에 대상 플랫폼이 현재 워크플로우를 실제로 지원할 수 있는지 여부를 평가해야 합니다.
주의해야 할 사항:
- 문서화되거나 문서화되지 않은 API를 통해 애플리케이션에 연결되는 타사 통합
- 복제 또는 마이그레이션이 필요한 사용자 인증 종속성(LDAP, Active Directory)
- 대상 환경으로 전송되지 않는 사용자 지정 구성 및 확장
- 프로젝트 타임라인에 반영해야 하는 최종 사용자 교육 요건