Google Cloud로 마이그레이션: 시작하기

Last reviewed 2024-11-20 UTC

이 문서는 워크로드를 Google Cloud로 마이그레이션하는 프로세스를 계획, 설계, 구현하는 데 도움이 됩니다. 앱을 환경 간에 이전하는 것은 경험이 풍부한 팀에게도 까다로운 태스크이므로 마이그레이션을 계획하고 실행할 때는 주의를 기울여야 합니다.

이 문서는 Google Cloud로 마이그레이션에 대해 여러 편으로 구성된 다음 시리즈 중 일부입니다.

이 문서는 온프레미스 환경, 비공개 호스팅 환경, 다른 클라우드 제공업체에서 Google Cloud로 마이그레이션을 계획 중이거나, 마이그레이션 기회를 평가하고 그 결과를 살펴보고 싶은 경우에 유용합니다.

시작하기

Google Cloud로의 마이그레이션을 계획할 때는 마이그레이션과 관련된 환경을 먼저 정의해야 합니다. 시작점은 온프레미스 환경, 비공개 호스팅 환경 또는 다른 퍼블릭 클라우드 환경일 수 있습니다.

온프레미스 환경은 개발자에게 완전한 소유권과 책임이 있는 환경입니다. 즉, 냉각, 물리적 보안, 하드웨어 유지보수 등 환경의 모든 측면에 대한 전권을 보유합니다.

코로케이션 시설과 같은 비공개 호스팅 환경에서는 물리적 인프라와 관리적 측면의 일부를 타사로 아웃소싱합니다. 고객들 간에 이러한 인프라를 공유하는 것이 일반적입니다. 비공개 호스팅 환경에서는 개발자가 물리적 보안 및 안전 서비스를 관리할 필요가 없습니다. 일부 호스팅 환경에서는 서버, 랙, 네트워크 기기와 같은 물리적 하드웨어 일부를 관리할 수 있지만 나머지 환경에서는 이러한 하드웨어를 자동으로 관리해 줍니다. 일반적으로 전력 및 네트워크 케이블 배선은 서비스 형태로 제공되므로 관리할 필요가 없습니다. 물리적 리소스를 가상화하는 하이퍼바이저, 프로비저닝 대상인 가상화된 인프라, 인프라에서 실행할 워크로드에 대한 전체 제어 권한은 개발자에게 있습니다.

퍼블릭 클라우드 환경에서는 전체 리소스 스택을 직접 관리할 필요가 없다는 이점이 있습니다. 따라서 스택의 가장 중요한 측면에 집중할 수 있습니다. 비공개 호스팅 환경과 마찬가지로 기본적인 물리적 인프라를 관리할 필요가 없습니다. 또한 리소스 가상화 하이퍼바이저를 관리하지 않아도 됩니다. 이 새로운 인프라에 가상화된 인프라를 빌드하고 워크로드를 배포할 수 있습니다. 또한 완전 관리형 서비스를 구매할 경우 런타임 환경을 관리하는 데 따른 운영 부담을 전가하여 워크로드에만 집중할 수 있습니다.

본 문서에서는 각 환경과 관련하여 다음과 같은 측면은 물론 관련 서비스를 누가 제공하고 관리해야 하는지 평가합니다.

리소스 온프레미스 환경 비공개 호스팅 환경 퍼블릭 클라우드 환경
물리적 보안 및 안전 개발자 서비스 제공업체 서비스 제공업체
전력 및 네트워크 케이블 배선 개발자 서비스 제공업체 서비스 제공업체
하드웨어(유지보수 포함) 개발자 서비스 제공업체에 따라 다름 서비스 제공업체
가상화 플랫폼 개발자 개발자 서비스 제공업체
앱 리소스 개발자 개발자 개발자(궁극적으로 완전 관리형 서비스 활용)

이 문서에서 대상 환경은 Google Cloud입니다.

시작 환경과 대상 환경을 정의한 후에 마이그레이션 범위에 속하는 워크로드 유형과 관련 운영 프로세스를 정의합니다. 본 문서에서는 2가지 유형의 워크로드와 운영 즉, 레거시와 클라우드 최적화를 고려합니다.

레거시 워크로드 및 운영은 클라우드 환경을 고려하지 않고 개발할 수 있습니다. 이러한 작업 부하 및 운영은 일반적으로 어떠한 유형의 확장성도 지원하지 않으므로 변경이 어렵고 실행 및 유지보수 비용이 많이 들 수 있습니다.

클라우드 최적화 작업 부하 및 운영은 기본적으로 확장성, 이동성, 가용성, 안정성이 뛰어납니다. 워크로드 및 운영은 개발자 생산성과 비즈니스 대응력을 강화하는 데 도움을 줄 수 있는데, 이는 개발자가 개발 환경과 런타임 환경을 관리하고 번거로운 수동 개발 프로세스를 처리하는 데 역량을 투입하는 대신 실제 워크로드를 중점적으로 처리할 수 있기 때문입니다. 또한 Google Cloud에는 보안 책임 공유 모델이 있습니다. Google Cloud는 물리적 보안을 비롯한 인프라 보안을 책임지며 사용자는 인프라에 배포하는 워크로드의 보안을 책임집니다.

이러한 환경과 워크로드 유형을 고려할 때 시작 환경은 다음 중 하나일 수 있습니다.

  • 레거시 워크로드 및 운영으로 구성된 온프레미스 또는 비공개 호스팅 환경
  • 클라우드 최적화 워크로드 및 운영으로 구성된 온프레미스 또는 비공개 호스팅 환경
  • 레거시 워크로드 및 운영으로 구성된 퍼블릭 클라우드 또는 비공개 호스팅 환경
  • 클라우드 최적화 워크로드 및 운영으로 구성된 퍼블릭 클라우드 또는 비공개 호스팅 환경

마이그레이션 프로세스는 시작점에 따라 다릅니다.

기존 온프레미스 환경 또는 비공개 호스팅 환경의 워크로드를 퍼블릭 클라우드와 같은 클라우드 최적화 환경으로 마이그레이션하는 작업은 까다롭고 위험할 수 있습니다. 성공적으로 마이그레이션 작업을 수행하려면 마이그레이션 작업 중에 마이그레이션할 워크로드를 최소화할 수 있어야 합니다. 레거시 온프레미스 앱을 클라우드로 이전하는 경우 여러 마이그레이션 단계를 거쳐야 할 수도 있습니다.

마이그레이션 유형

이 문서에서는 다음과 같은 주요 마이그레이션 유형을 정의합니다.

  • 재호스팅: 리프트 앤 시프트
  • 플랫폼 변경: 리프트 및 최적화
  • 리팩터링: 이동 및 개선
  • 재설계: 지속적인 현대화
  • 재빌드: 삭제 및 교체(전면 교체라고도 함)
  • 재구매

다음 섹션에서는 각 유형의 마이그레이션을 사용할 시점을 예시와 함께 정의합니다.

재호스팅: 리프트 앤 시프트

재호스팅 마이그레이션에서는 소스 환경의 워크로드를 변경을 최소화하거나 변경이나 리팩터링 없이 대상 환경으로 이전합니다. 마이그레이션할 워크로드에는 워크로드가 대상 환경에서 작동하는 데 필요한 최소한의 변경 사항만 적용해야 합니다.

재호스팅 마이그레이션은 워크로드가 대상 환경에서 있는 그대로 작동하거나 변경에 대한 비즈니스 요구가 거의 없거나 전혀 없는 경우에 유용합니다. 이 마이그레이션 유형의 경우 리팩터링 규모가 최소한으로 유지되므로 최소한의 시간만 필요합니다.

기술적 문제로 인해 리호스트 이전을 강제로 수행해야 하는 경우도 있습니다. 마이그레이션할 워크로드를 리팩터링할 수 없고 워크로드를 사용 중단할 수 없는 경우 재호스팅 마이그레이션을 사용해야 합니다. 예를 들어 워크로드의 소스 코드 수정이 어렵거나 불가능할 수 있고, 또는 빌드 프로세스가 간단하지 않기 때문에 소스 코드의 리팩터링 후 새로운 아티팩트 생성이 불가능할 수 있습니다.

리호스트 마이그레이션은 팀이 기존에 사용했던 도구와 기술을 계속 사용할 수 있기 때문에 가장 쉽게 수행할 수 있습니다. 이 방식은 기성품 소프트웨어도 지원합니다. 리팩터링이나 재빌드 마이그레이션보다 최소 규모의 리팩터링으로 기존 워크로드를 마이그레이션하기 때문에 재호스팅 마이그레이션이 가장 빠른 경향이 있습니다.

하지만 리호스트 마이그레이션 후에는 대상 환경에서 실행되는 워크로드가 클라우드에 최적화되지 않습니다. 이러한 워크로드는 수평 확장, 세밀한 가격 책정, 고도로 관리되는 솔루션 등 클라우드 플랫폼 기능을 최대한 활용하지 못합니다.

플랫폼 변경: 리프트 및 최적화

플랫폼 변경 마이그레이션에서는 기존 워크로드를 삭제한 후 새 클라우드 환경에 맞게 최적화합니다.

플랫폼 변경 마이그레이션은 클라우드의 모든 핵심 기능을 활용하려는 조직에 가장 적합합니다. 이러한 역량에는 탄력적 컴퓨팅, 중복, 향상된 성능, 보안이 포함됩니다.

예를 들어 Google Kubernetes Engine의 클라우드 기반 마이크로서비스 아키텍처 또는 컨테이너를 활용하기 위해 워크로드의 플랫폼을 클라우드로 변경할 수 있습니다. 그러면 이러한 워크로드는 클라우드에서 더 높은 성능과 효율로 실행됩니다.

하지만 플랫폼 변경 마이그레이션은 재호스팅 마이그레이션보다 더 많은 작업이 필요합니다. 새로운 클라우드 플랫폼에는 다른 기본 코드베이스가 있습니다. 즉, 모든 것이 최적의 수준에서 실행되는지 확인하기 위해 여러 차례 테스트가 필요합니다.

리팩터링: 이동 및 개선

리팩터링 마이그레이션에서는 워크로드가 새 환경에서 작동하도록 수정하는 것이 아니라 클라우드 기능을 활용할 수 있도록 워크로드를 수정합니다. 성능, 기능, 비용, 사용자 환경에 적합하도록 각 워크로드를 개선할 수 있습니다.

워크로드를 클라우드로 이전하는 동안 또는 이전하기 전에 워크로드를 수정할 수 있습니다. 예를 들어 클라우드 이전에 대한 경험이 많지 않은 경우 이전하는 동안 워크로드를 수정하는 것이 좋습니다. 하지만 클라우드 이전 경험이 있다면 워크로드가 클라우드 기능을 최대한 활용하기 위해 필요한 수정사항을 이미 알고 있을 수 있습니다.

현재 아키텍처나 앱의 인프라가 대상 환경에서 있는 그대로 지원되지 않는 경우 이러한 제한을 해결하기 위해서는 일정량의 리팩터링이 필요합니다.

리팩터링 방식을 선택해야 하는 또 다른 상황은 마이그레이션을 수행하는 데 필요한 업데이트 외에 워크로드에 대한 주요 업데이트가 필요할 때입니다.

리팩터링 마이그레이션을 사용하면 확장성 및 고가용성과 같은 클라우드 플랫폼의 기능을 활용할 수 있습니다. 또한 앱의 이동성을 높이기 위해 개선 기능을 설계할 수도 있습니다.

하지만 앱을 마이그레이션하려면 워크로드를 리팩터링해야 하므로 리팩터링 마이그레이션이 재호스팅 마이그레이션보다 오래 걸립니다.

리팩터링 마이그레이션을 수행하려면 새로운 기술을 배워야 합니다.

재설계: 지속적인 현대화

재설계 마이그레이션은 리팩터링 마이그레이션과 유사합니다. 하지만 마이그레이션을 재설계하면 워크로드 코드 작동 방식을 재구성하는 대신 코드의 작동 방식이 변경됩니다. 이러한 코드 변경사항은 워크로드를 최적화하고 확장성, 보안, 민첩성과 같은 클라우드 최적화 속성을 활용합니다. 예를 들어 재설계 마이그레이션은 하나의 대규모 모놀리식 워크로드를 가져와 Google Cloud에 배포하는 여러 독립 마이크로서비스로 변환할 수 있습니다.

재설계 마이그레이션은 리팩터링 마이그레이션보다 더 복잡하므로 더 많은 시간과 노력이 필요합니다. 재설계 마이그레이션으로 인해 새 워크로드에 버그나 보안 문제가 발생할 수도 있습니다. 따라서 재설계 이전에는 모든 것이 최적의 수준에서 실행되는지 확인하기 위해 여러 차례 테스트가 필요합니다.

재빌드: 삭제 및 교체

재빌드 마이그레이션에서는 기존 앱을 사용 중단한 후 해당 앱을 완전히 클라우드에 최적화된 앱으로 재설계하고 다시 작성합니다.

예를 들어 앱을 마이그레이션하고 싶지만 앞서 언급된 방법들 중 하나를 사용하기엔 마이그레이션 비용이 너무 많이 든다거나 앱이 Google Cloud에서 지원되지 않는 경우처럼 현재 앱이 목표에 부합하지 않을 때 재빌드 마이그레이션을 활용할 수 있습니다.

재빌드 마이그레이션을 이용하면 수평 확장성, 고도로 관리되는 서비스, 고가용성 등 Google Cloud 기능을 최대한 활용할 수 있습니다. 앱을 처음부터 다시 작성해야 하기 때문에 기존의 레거시 버전에 대한 기술적 채무를 피할 수도 있습니다.

하지만 재빌드 마이그레이션은 재호스팅 또는 리팩터링 마이그레이션보다 오래 걸릴 수 있습니다. 또한 이 유형의 마이그레이션은 앱을 다시 작성해야 하므로 기성품 앱에는 적합하지 않습니다. 앱 수명 주기의 일부로 앱을 재설계하고 재작성하는 데 투입되는 추가적인 시간과 노력을 감안해야 합니다.

재빌드 마이그레이션에도 새로운 기술이 필요합니다. 새로운 도구 모음을 사용하여 새 환경을 프로비저닝 및 구성하고 이 환경에 앱을 배포해야 합니다.

재구매

재구매 마이그레이션은 구매한 온프레미스 워크로드에서 상응하는 클라우드 호스팅 Software as a service(SaaS) 워크로드로 이동하는 것입니다. 예를 들어 온프레미스 공동작업 소프트웨어 및 로컬 스토리지를 Google Workspace로 이전할 수 있습니다.

리소스 관점에서 보면 재구매 이전이 리팩터링, 재빌드 또는 재설계보다 훨씬 쉬울 수 있습니다. 그러나 재구매 이전은 비용이 훨씬 더 많이 들 수 있으며 자체 클라우드 환경을 제어하는 세분화된 기능을 사용할 수 없을 수도 있습니다.

Google Cloud 도입 프레임워크

마이그레이션을 시작하기 전에 적절한 클라우드 기술을 채택할 수 있도록 조직의 성숙도를 평가해야 합니다. Google Cloud 도입 프레임워크는 현재 보유한 비즈니스 정보 기술 역량을 확인할 수 있는 지도이자 미래에 필요한 역량을 결정할 수 있는 가이드 역할을 합니다.

이 프레임워크를 사용하면 아래 다이어그램에 설명된 것처럼 Google Cloud와 관련한 조직의 준비 상태를 평가하고 간격을 메꾸고 새로운 역량을 개발하기 위해 해야 할 일을 확인할 수 있습니다.

4가지 테마와 3단계로 구성된 Google Cloud 도입 프레임워크 아키텍처

이 프레임워크는 다음의 4가지 테마를 평가합니다.

  • 학습. 학습 프로그램의 품질과 규모를 의미합니다.
  • 리더십. Google Cloud로의 마이그레이션을 위해 IT 부서가 경영진에게 위임받은 권한의 정도를 의미합니다.
  • 규모: 클라우드 최적화 서비스를 사용하는 정도와 운영 자동화 수준을 의미합니다.
  • 보안. 부적절한 무단 액세스로부터 현재 환경을 보호하는 능력을 의미합니다.

프레임워크에 따라 각 테마에는 다음 3가지 단계가 있습니다.

  • 전술. 개별 워크로드를 갖추었지만 모든 워크로드를 포괄하는 일관된 계획이 마련되어 있지 않습니다. 빠른 투자 수익과 IT 조직이 겪는 혼란을 최소화하는 데 초점을 맞춥니다.
  • 전략. 향후 확장을 염두에 두고 개별 워크로드를 개발하려는 계획이 마련되어 있습니다. 효율성이 향상되도록 운영을 간소화하기 위한 중기 목표에 초점을 맞춥니다.
  • 혁신. 원활하게 진행되는 클라우드 운영을 통해 수집한 데이터를 사용하여 IT 비즈니스를 개선합니다. IT 부서가 조직 혁신의 동력으로 자리매김할 수 있도록 하는 장기 목표에 초점을 맞춥니다.

이 3가지 단계와 관련해 4가지 테마를 평가할 때 클라우드 성숙도 검사를 이용합니다. 각 테마에서는 필요에 따라 새 기술을 채택한 시점부터 조직 전체에서 더욱 전략적으로 사용하기까지 벌어지는 일들을 확인할 수 있습니다. 즉, 더 깊고 포괄적이며 일관된 팀 교육으로 이어지게 됩니다.

마이그레이션 경로

기억해야 할 점은 마이그레이션이 여정이라는 것입니다. 기존 인프라 및 환경이 지점 A라면, 이제 지점 B에 도달하려고 합니다. A에서 B로 이동하려면 앞서 설명한 마이그레이션 중 하나를 선택하면 됩니다.

다음 다이어그램은 이 여정의 경로를 보여줍니다.

4가지 단계로 구성된 마이그레이션 경로

마이그레이션은 4가지 단계를 거칩니다.

도움 받기

Google Cloud는 Google Cloud 서비스를 최대한 활용하는 데 필요한 도움과 지원을 받을 수 있는 다양한 옵션과 리소스를 제공합니다.

셀프서비스 자료실

전담 지원이 필요하지 않은 경우에는 다음과 같은 셀프서비스 자료를 사용할 수 있습니다.

  • 제품 문서. Google Cloud는 각 제품과 서비스, API에 대한 문서를 제공합니다.
  • 아키텍처 센터 문서 아키텍처 센터의 마이그레이션 섹션에서는 여러 마이그레이션 시나리오가 다뤄집니다. 예를 들어 마이그레이션 리소스에서는 Google Cloud로의 마이그레이션 여정에 대한 안내를 제공합니다.
  • 도구. Google Cloud는 마이그레이션에 도움이 되는 여러 제품과 서비스를 제공합니다. 예를 들면 다음과 같습니다.
    • Google Cloud Migration Center는 현재 온프레미스 또는 클라우드 환경에서 Google Cloud로의 엔드 투 엔드 클라우드 여정을 가속화하는 데 도움이 되는 통합 플랫폼입니다.
    • Migrate to Virtual Machines는 온프레미스 및 클라우드 환경의 물리적 서버와 가상 머신을 Google Cloud로 마이그레이션하는 제품입니다. Migrate to VMs를 사용하면 백그라운드에서 데이터가 복사되지만 가상 머신이 완전히 작동할 때 몇 분 내에 가상 머신을 Google Cloud로 마이그레이션할 수 있습니다.
    • Storage Transfer Service를 사용하면 다른 클라우드 제공업체, 온라인 리소스, 로컬 데이터에서 Cloud Storage로 데이터를 가져올 수 있습니다.
    • Database Migration Service는 데이터베이스를 Google Cloud로 마이그레이션하는 데 도움이 되는 제품입니다.
    • Transfer Appliance는 비즈니스 운영을 중단하지 않고도 수백 테라바이트에서 최대 1페타바이트에 이르는 대량의 데이터를 Google Cloud로 마이그레이션할 때 사용할 수 있는 하드웨어 어플라이언스입니다.
    • BigQuery 마이그레이션 서비스는 데이터 웨어하우스를 BigQuery로 마이그레이션하기 위한 포괄적인 솔루션입니다.
  • 백서. 이러한 백서에는 참조 아키텍처, 우수사례, 권장사항, 고급 가이드가 포함됩니다.
  • 미디어 콘텐츠. Google Cloud 팟캐스트를 듣거나 Google Cloud YouTube 채널에있는 동영상을 감상할 수 있습니다. 이러한 리소스는 제품 설명부터 개발 전략에 이르기까지 폭넓은 주제를 다룹니다.
  • 온라인 과정 및 실습. Google Cloud는 Coursera에 동영상 콘텐츠, 읽기 자료, 실습을 비롯한 다양한 과정을 제공합니다. 또한 Google Cloud Skills Boost를 사용하여 실습에 참여하거나 실시간 온라인 클래스에 참여할 수도 있습니다.

기술 파트너

Google Cloud는 여러 회사와의 제휴를 통해 제품 사용을 지원합니다. 일부 제품은 무료로 사용할 수 있으니 관련 내용을 회사나 담당 Google Cloud 계정 관리자에게 문의하세요.

시스템 통합업체

Google Cloud는 제품 및 기술 회사뿐만 아니라 실무형 지원을 제공할 수 있는 시스템 통합업체와도 제휴합니다. 파트너 목록에서 클라우드 마이그레이션 전문 시스템 통합업체 목록을 확인할 수 있습니다.

Google Cloud 전문 서비스

Google의 전문 서비스팀은 Google Cloud 투자를 최대한 효과적으로 활용할 수 있도록 지원해 드립니다.

클라우드 계획 및 기초: 마이그레이션 도움 받기

전문 서비스 팀은 마이그레이션을 계획하고 클라우드 계획 및 기초 제품을 사용하여 프로덕션 환경에 워크로드를 배포할 수 있도록 지원해 드립니다. 이러한 전문가들은 Google Cloud 기초 설정부터 고유한 워크로드 요구사항에 맞는 플랫폼 최적화 및 워크로드 배포에 이르기까지 워크로드를 프로덕션 환경으로 마이그레이션하는 각 단계를 안내합니다.

클라우드 계획 및 기초의 목표는 다음과 같습니다.

  • Google Cloud 기초 설정
  • 설계 문서 작성
  • 배포 및 마이그레이션 작업 계획
  • 워크로드를 프로덕션 환경에 배포
  • 문제 및 위험성 추적

전문 서비스 팀은 다음과 같은 활동 및 결과물을 팀에 안내합니다.

  1. 기술 킥오프 워크숍 실시
  2. 기술 설계 문서 작성
  3. 마이그레이션 계획 수립
  4. 프로그램 차터 작성
  5. 프로젝트 관리 제공
  6. 기술 전문 지식 제공

Cloud Sprint: Google Cloud로의 마이그레이션 가속화

Cloud Sprint는 Google Cloud로의 앱 마이그레이션 속도를 높이는 집중 워크숍입니다. 이 워크숍에서 Google Cloud 전문 서비스는 대화형 토론, 화이트보드 세션, 대상 앱 검토를 통해 한 팀의 Google Cloud로의 마이그레이션을 지도합니다. Cloud Sprint 중에는 전문 서비스가 개발팀 팀원들과 협력하여 향후 Google Cloud 마이그레이션을 위한 다음 단계를 이해하는 데 도움이 되는 배포 활동을 통해 클라우드 솔루션을 직접 경험할 수 있도록 지원합니다.

교육: 팀의 기술 개발

Google Cloud 전문 서비스는 팀의 요구에 따라 현장 교육을 제공할 수 있습니다.

다음 단계

참여자

작성자: 마르코 페라리 | 클라우드 솔루션 설계자