콘텐츠로 이동하기
Cloud Operations

Cloud Operations Sandbox로 SRE를 향한 첫걸음 내딛기

2021년 2월 23일
https://storage.googleapis.com/gweb-cloudblog-publish/images/Public-Sector-Momentum_DlrBthg91d9.max-1000x1000.PNG
Daniel Sanche

Developer Programs Engineer

Simon Zeltser

Developer Programs Engineer

GCP 사용해 보기

$300의 무료 크레딧과 20개 이상의 항상 무료인 제품으로 Google Cloud 사용을 시작해보세요.

무료 체험

  * 본 아티클의 원문은 2021년 1월 23일 Google Cloud 블로그(영문)에 게재되었습니다. 

Google Cloud는 조직 권장사항에 대한 교육뿐 아니라 클라우드 서비스를 성공적으로 실행하는 데 필요한 도구를 통해 고객사에 사이트 안정성 엔지니어링(SRE) 문화가 정착되도록 노력하고 있습니다. 그 일환으로 프로덕션 문제의 보다 신속한 해결, 출시 속도 향상, 서비스 안정성 개선에 도움이 되는 로깅, 모니터링, 추적, 프로파일링, 디버깅 같은 종합적인 관측 가능성 도구가 지원됩니다. 

특히 여러 프로그래밍 언어로 구현되고, 다양한 환경에 배포되며, 운영 비용 및 기타 여러 요인이 다른 복잡한 분산 애플리케이션에서 관측 가능성을 실현하기가 어렵다는 의견이 자주 들려옵니다. 그 결과 워크로드를 Google Cloud로 마이그레이션하고 현대화할 때 관측 가능성이 부차적인 요소에 그치는 경우가 많습니다. 

그렇지만 안정적인 프로덕션 시스템을 실행하려면 시스템을 디버깅하고 시스템의 동작에 관한 통계를 확보하는 것이 중요합니다. 고객은 프로덕션 환경을 손상하지 않으면서 Google Cloud가 제공하는 도구를 사용해 관측 가능성을 위한 서비스를 도입하고 SRE 권장사항을 실행할 수 있는 방법을 알고 싶어 합니다. Cloud Operations Sandbox를 사용하면 관측 가능성 여정을 시작하는 실질적인 방법을 배우고 '내 사용 사례에 효과가 있을까?'라는 물음에 답을 얻을 수 있습니다.

Cloud Operations Sandbox는 오픈소스 도구로, Google Cloud 운영 제품군(이전 명칭: Stackdriver)을 사용해 Google의 SRE 관행을 배우고 클라우드 서비스에 적용하는 데 도움이 됩니다. Cloud Operations Sandbox에는 클릭 한 번으로 시작하는 데 필요한 모든 도구가 있습니다. 

  • 데모 서비스 - 최신 클라우드 기반 스택의 마이크로서비스 아키텍처를 사용해 제작된 애플리케이션(Online Boutique 마이크로서비스 데모 앱의 수정된 포크)

  • 원클릭 배포 - 다음과 같이 서비스를 Google Cloud에 배포하고 구성하는 자동 스크립트

    • Service Monitoring 구성

    • OpenTelemetry를 사용한 추적

    • Cloud Profiling, Logging, Error Reporting, 디버깅 등

  • 부하 생성기 - 데모 서비스에서 합성 트래픽을 생성하는 구성요소
  • SRE 레시피 - 프로덕션에서와 마찬가지로 Cloud Operations 도구를 사용해 문제의 근본 원인을 찾을 수 있도록 데모 앱에서 의도적인 오류를 생성하는 사전 빌드된 태스크
  • Cloud Operations 시작을 도와주는 대화형 둘러보기

시작하기

Cloud Operations Sandbox를 시작하는 방법은 무척 간단합니다. 

  • cloud-ops-sandbox.dev로 이동합니다. 
  • 'Google Cloud Shell에서 열기' 버튼을 클릭합니다. 

이렇게 하면 새로운 Google Cloud 프로젝트가 생성됩니다. 생성된 프로젝트 내에서 Terraform 스크립트가 Google Kubernetes Engine(GKE) 클러스터를 만들고 여기에 샘플 애플리케이션을 배포합니다. 데모 앱을 구성하는 마이크로서비스에는 로깅, 모니터링, 추적, 디버깅, 프로파일링이 각 마이크로서비스 언어 런타임에 적합하게 사전 설치되어 있습니다. 따라서 데모 앱에 트래픽을 전송하면 클라우드 서비스의 작업을 진단하는 데 유용한 원격 분석이 생성됩니다. 데모 앱에 프로덕션과 유사한 트래픽을 생성하기 위해 자동 스크립트는 데모 앱과 다른 지리적 위치에 합성 부하 생성기를 배포합니다.

https://storage.googleapis.com/gweb-cloudblog-publish/images/Terraform_script_creates_a_GKE_cluste.max-900x900.jpg

11개 커스텀 대시보드(각 마이크로 서비스당 1개)가 생성되어 Google의 SRE 책에 설명된 대로 모니터링의 네 가지 골든 신호가 나타납니다.

https://storage.googleapis.com/gweb-cloudblog-publish/images/creates_11_custom_dashboards.max-1900x1900.jpg

또한 업타임 체크, 서비스 모니터링(SLO 및 SLI), 로그 기반 측정항목, 알림 정책 등이 추가되고 자동으로 구성됩니다.

https://storage.googleapis.com/gweb-cloudblog-publish/images/checkout_service.max-1200x1200.jpg

다음과 같이 프로비저닝 스크립트의 끝에서 새로 생성된 프로젝트의 몇 가지 URL을 확인할 수 있습니다.

https://storage.googleapis.com/gweb-cloudblog-publish/images/provisioning_script.max-1100x1100.jpg

데모 앱의 OpenTelemetry 계측 덕분에 가능한 Cloud Trace를 통한 마이크로서비스 상호작용 추적 등 전체 Cloud Operations 도구 제품군에 대해 알아보고 학습한 내용을 내 시나리오에 적용하는 방법을 확인하려면 사용자 가이드를 따르세요

마지막으로 사용을 종료한 후에 샌드박스를 삭제하려면 다음을 실행하세요.

로드 중...

다음 단계

SRE 원칙을 준수하면 클라우드에서 안정성이 높은 애플리케이션을 실행할 수 있는 것으로 입증되었습니다. Cloud Operations Sandbox가 고객 여러분께 SRE 관행을 시작하는 데 필요한 이해와 신뢰를 제공하기를 바랍니다. 

시작하려면 cloud-ops-sandbox.dev를 방문하여, 프로젝트 저장소를 살펴보고, 사용자 가이드의 안내를 따르세요.

게시 위치