학습 과정: 확장 가능한 애플리케이션 - 개요
이 튜토리얼 모음은 Google Kubernetes Engine(GKE) Enterprise 버전에서 실행되는 최신 애플리케이션 환경을 배포, 실행, 관리하는 방법을 알아보려는 IT 관리자 및 운영자를 대상으로 합니다.
이 튜토리얼 모음에서는 실습을 통해 배웁니다. 먼저 Cymbal Bank라는 샘플 마이크로서비스 기반 애플리케이션을 GKE 클러스터에 배포합니다. Cymbal Bank는 Python 및 Java를 사용하여 다양한 서비스를 실행하며 PostgreSQL 백엔드를 포함합니다. Cymbal Bank는 GKE Enterprise가 비즈니스 니즈를 지원하는 방법을 보여주는 애플리케이션 예시에 불과하므로 튜토리얼 시리즈를 완료하는 데 이러한 언어나 데이터베이스 플랫폼에 대한 경험이 필요하지 않습니다. 그런 다음 각 튜토리얼은 이 샘플 애플리케이션을 바탕으로 비즈니스 요구사항 및 목표에 맞게 여러 Google Cloud 제품 및 서비스를 사용할 때 실제 프로덕션 환경이 어떻게 표시되는지 보여줍니다.
이 튜토리얼 모음을 진행하면서 다음과 같은 주요 학습 영역을 살펴봅니다.
- 최신 애플리케이션 기반: 마이크로서비스 기반 애플리케이션을 실행하는 단일 Google Kubernetes Engine 클러스터를 배포합니다.
- 모니터링 및 SLO: Prometheus를 사용하여 애플리케이션의 성능과 상태를 모니터링하고 Cloud Service Mesh를 사용하여 SLO를 설정하고 추적합니다.
- 자동 확장 및 부하 분산: GKE Autopilot으로 애플리케이션 수요가 충족되도록 클러스터를 확장하고 데이터베이스 계층에 수평형 포드 자동 확장을 사용합니다.
- 장애 조치 시뮬레이션 및 테스트: 가용성이 높고 지리적으로 분산된 배포를 장애 조치하여 고객의 액세스를 유지할 수 있는지 확인합니다.
- 변경 관리 중앙화: 구성 동기화로 구성 드리프트를 최소화하고 일관된 변경사항을 적용합니다.
이 튜토리얼은 순서대로 완료할 수 있도록 설계되었습니다. 각 튜토리얼은 이전 튜토리얼을 기반으로 모니터링 및 자동 확장 가능한 샘플 애플리케이션 인프라를 만들 때 구축됩니다. 튜토리얼 모음을 진행하면서 새로운 기술을 배우고 추가적인 Google Cloud 제품 및 서비스를 사용하게 됩니다. 목표는 자체 환경에서 확장 가능한 애플리케이션을 보다 쉽게 실행하는 데 필요한 모든 핵심 구성요소를 학습하는 것입니다.
내 여정
이 튜토리얼 모음에서는 Cymbal Bank의 플랫폼 책임자 역할을 맡습니다. Cymbal Bank는 약 10년 전 2대의 서버를 기반으로 결제 대행 서비스를 제공하는 중소기업으로 비즈니스를 시작했습니다. 이후 수천 명의 직원을 보유한 대규모 상업 은행으로 성장했으며 엔지니어링 조직도 커졌습니다. Cymbal Bank는 현재 비즈니스를 더 확장하려고 합니다.
그동안은 새로운 비즈니스 가치를 창출하는 것보다 인프라 유지보수에 더 많은 시간과 비용을 투자해 왔습니다. 기존 스택에 대한 경험이 수십 년간 누적되어 있지만 기존 기술로는 확장 시 은행에서 필요로 하는 글로벌 배포 규모를 충족할 수가 없습니다.
확장 목표를 이루기 위해 GKE Enterprise를 채택하여 애플리케이션을 현대화하고 Google Cloud로 성공적으로 마이그레이션했습니다.
비용
이 튜토리얼 시리즈에서 GKE Enterprise를 사용 설정하고 Cymbal Bank 샘플 애플리케이션을 배포하면 GKE Enterprise를 중지하거나 프로젝트를 삭제할 때까지 가격 책정 페이지에 나열된 대로 Google Cloud에서 GKE Enterprise 요금이 클러스터별로 청구합니다.
Compute Engine VM 및 부하 분산기 요금과 같이 Cymbal Bank 샘플 애플리케이션을 실행하는 동안 발생하는 기타 Google Cloud 비용도 지불해야 합니다.
시작하기 전에
이 튜토리얼을 따라하기 위해 Google Kubernetes Engine(GKE) Enterprise 버전 또는 Terraform에 익숙하지 않아도 되지만 클러스터와 같은 기본 Kubernetes 개념에 대해서는 잘 알고 있어야 합니다. 그렇지 않다면 Kubernetes 기본 사항에 대해 먼저 알아보세요.
각 튜토리얼에서는 Google Cloud 결제 계정과 프로젝트 또는 IAM 역할 필요 등의 특정 기본 요건에 대해 설명합니다.
계획 관련 고려사항
프로덕션 GKE Enterprise 환경을 계획할 때는 염두에 두어야 할 여러 가지 계획 고려 사항이 있습니다. 고려사항에는 사용 가능한 네트워킹 옵션, 클러스터 관리 모드, 클러스터 가용성이 포함됩니다.
이 튜토리얼 모음에서는 핵심 GKE Enterprise 기능 및 서비스를 알아보는 데 집중할 수 있도록 이러한 고려사항 중 일부를 간소화합니다. 따라서 이 튜토리얼은 프로덕션에 즉시 사용 가능한 완벽한 환경을 제공하지 않고 자체 워크로드를 배포하고 실행하는 방법을 학습하는 데 필요한 템플릿을 제공합니다. 이 튜토리얼 모음을 완료한 후에는 확장 가능한 앱 - 프로덕션 고려사항을 검토하는 것이 좋습니다.
다음 단계
마이크로서비스 기반 애플리케이션을 실행하는 단일 GKE 클러스터 배포를 위한 첫 번째 튜토리얼을 완료하여 시작합니다.