학습 과정: 확장 가능한 애플리케이션 - 개요


이 튜토리얼 모음은 Google Kubernetes Engine(GKE)에서 실행되는 최신 애플리케이션 환경을 배포, 실행, 관리하는 방법을 배우려는 IT 관리자와 운영자를 대상으로 합니다.

이 튜토리얼 모음에서는 직접 수행하면서 학습합니다. 먼저 Cymbal Bank라는 샘플 마이크로서비스 기반 애플리케이션을 GKE 클러스터에 배포합니다. Cymbal Bank는 Python 및 Java를 사용하여 다양한 서비스를 실행하며 PostgreSQL 백엔드를 포함합니다. Cymbal Bank는 GKE에서 비즈니스 니즈를 지원하는 방법을 보여주는 애플리케이션 예시에 불과하므로 튜토리얼 시리즈를 완료하는 데 이러한 언어나 데이터베이스 플랫폼에 대한 경험이 필요하지 않습니다. 그런 다음 각 튜토리얼은 이 샘플 애플리케이션을 바탕으로 비즈니스 니즈와 목표에 맞게 여러 Google Cloud 제품과 서비스를 사용할 때 실제 프로덕션 환경이 어떻게 표시되는지 보여줍니다.

이 튜토리얼 모음을 진행하면서 다음과 같은 주요 학습 영역을 살펴봅니다.

  • 최신 애플리케이션 기반: 마이크로서비스 기반 애플리케이션을 실행하는 단일 Google Kubernetes Engine 클러스터를 배포합니다.
  • 모니터링: Prometheus를 사용하여 애플리케이션의 성능과 상태를 모니터링합니다.
  • 자동 확장 및 부하 분산: 애플리케이션 수요가 충족되도록 GKE Autopilot을 사용하여 클러스터를 확장하고 수평형 포드 자동 확장을 사용합니다.
  • 장애 조치 시뮬레이션 및 테스트: 가용성이 높고 지리적으로 분산된 배포를 장애 조치하여 고객의 액세스를 유지할 수 있는지 확인합니다.

이 튜토리얼은 순서대로 완료할 수 있도록 설계되었습니다. 각 튜토리얼은 이전 튜토리얼을 기반으로 모니터링 및 자동 확장 가능한 샘플 애플리케이션 인프라를 만들 때 구축됩니다. 튜토리얼 모음을 진행하면서 새로운 기술을 배우고 추가적인 Google Cloud 제품 및 서비스를 사용하게 됩니다. 목표는 자체 환경에서 확장 가능한 애플리케이션을 보다 편리하게 실행하는 데 필요한 모든 핵심 구성요소를 학습하는 것입니다.

내 여정

이 튜토리얼 모음에서는 Cymbal Bank의 플랫폼 책임자 역할을 맡습니다. Cymbal Bank는 약 10년 전 2대의 서버를 기반으로 결제 대행 서비스를 제공하는 중소기업으로 비즈니스를 시작했습니다. 이후 수천 명의 직원을 보유한 대규모 상업 은행으로 성장했으며 엔지니어링 조직도 커졌습니다. Cymbal Bank는 현재 비즈니스를 더 확장하려고 합니다.

그동안은 새로운 비즈니스 가치를 창출하는 것보다 인프라 유지보수에 더 많은 시간과 비용을 투자해 왔습니다. 기존 스택에 대한 경험이 수십 년간 누적되어 있지만 기존 기술로는 확장 시 은행에서 필요로 하는 글로벌 배포 규모를 충족할 수가 없습니다.

확장 목표가 달성되도록 GKE를 채택하여 애플리케이션을 현대화하고 성공적으로 Google Cloud로 마이그레이션했습니다.

비용

이 튜토리얼 시리즈에서 GKE를 사용 설정하고 Cymbal Bank 샘플 애플리케이션을 배포하면 GKE를 중지하거나 프로젝트를 삭제할 때까지 가격 책정 페이지에 나열된 대로 Google Cloud에서 GKE 요금이 클러스터별로 청구됩니다.

Compute Engine VM 및 부하 분산기 요금과 같이 Cymbal Bank 샘플 애플리케이션을 실행하는 동안 발생하는 기타 Google Cloud 비용도 지불해야 합니다.

시작하기 전에

이 튜토리얼을 따라하기 위해 Google Kubernetes Engine 또는 Terraform에 익숙하지 않아도 되지만 클러스터와 같은 기본 Kubernetes 개념을 잘 알고 있어야 합니다. 그렇지 않으면 먼저 Kubernetes 기본사항을 자세히 알아보세요.

각 튜토리얼에서는 Google Cloud 결제 계정과 프로젝트 또는 IAM 역할 필요 등의 특정 기본 요건에 대해 설명합니다.

계획 관련 고려사항

프로덕션 GKE 환경을 계획할 때는 염두에 두어야 할 여러 가지 계획 고려 사항이 있습니다. 이러한 고려사항에는 사용 가능한 네트워킹 옵션, 클러스터 관리 모드, 클러스터 가용성이 포함됩니다.

이 튜토리얼 모음에서는 주요 GKE 기능과 서비스 학습에 집중할 수 있도록 이러한 고려사항 중 일부가 간소화되었습니다. 따라서 이 튜토리얼은 프로덕션에 즉시 사용 가능한 완벽한 환경을 제공하지 않지만 자체 워크로드를 배포하고 실행하는 방법을 학습하는 데 필요한 템플릿을 제공합니다. 이 튜토리얼 모음을 완료한 후에는 확장 가능한 앱 - 프로덕션 고려사항을 검토하는 것이 좋습니다.

다음 단계

마이크로서비스 기반 애플리케이션을 실행하는 단일 GKE 클러스터 배포를 위한 첫 번째 튜토리얼을 완료하여 시작합니다.