Google Cloud Platform 출시 체크리스트

소개

출시 체크리스트에서는 Google Cloud Platform에서 상용 애플리케이션을 출시하기 위한 권장사항을 중점적으로 다룹니다. 이 문서는 이미 Google Cloud Platform 및 여기서 제공하는 서비스에 익숙하며 애플리케이션 출시를 위한 안내 자료를 찾는 기업 개발자를 대상으로 제작되었습니다.

일부 Google Cloud Platform 서비스에는 서비스별 출시 체크리스트가 있습니다(예: App Engine 출시 체크리스트). 자세한 안내는 서비스별 체크리스트를 사용하고, 이 Google Cloud Platform 출시 체크리스트는 전체적인 안내 자료로 사용하세요.

Google Cloud Platform을 처음 접하는 경우 Google Cloud Platform 개요 또는 무료 평가판 시작을 참조하세요. 특정 서비스를 익히려면 해당 서비스의 빠른 시작을 사용해 보세요. 예를 들어 App Engine 가이드 사용해 보기, Compute Engine 빠른 시작, Cloud Storage 빠른 시작이 있습니다.

출시 체크리스트는 5개 섹션으로 나뉩니다.

  • 아키텍처 설계 및 개발
  • 알파 테스트
  • 비공식 출시
  • 최종 출시
  • 출시 후

이 섹션은 애플리케이션 출시를 준비할 때 권장되는 순서대로 나열되어 있습니다. 예를 들어 아키텍처 설계 및 개발 체크리스트에는 애플리케이션 개발 주기의 초반에 권장되는 활동이 포함되어 있으므로 먼저 시작해야 합니다. 이와 마찬가지로 비공식 출시 체크리스트에는 출시에 임박한 시점에 권장되는 활동이 포함되어 있습니다. 단, 체크리스트 활동의 정확한 일정과 완료에 소요되는 시간은 출시하는 애플리케이션의 유형과 이를 지원하는 조직 리소스에 따라 다릅니다.

출시 체크리스트는 제품 출시 과정을 원활하게 하고 애플리케이션 사용자에게 만족스러운 환경을 구축할 수 있도록 작성되었습니다. Google Cloud Platform에서 실행되는 기존 및 신규 애플리케이션에서 이러한 체크리스트를 사용하는 것이 좋습니다.

아키텍처 설계 및 개발 체크리스트

애플리케이션의 개발 초기 단계에 이 체크리스트를 사용하는 것이 좋습니다. 이 체크리스트는 네 가지 활동 그룹으로 나누어져 있습니다.

  • 소프트웨어 아키텍처 작업
  • Google과의 연락망 구축
  • 프로비저닝
  • 출시 계획 마련 및 예상 트래픽 계산

이러한 체크리스트 활동을 그룹별로 병행하여 진행할 수도 있지만 소프트웨어 아키텍처 관련 작업은 비교적 오랜 시간이 걸리기 때문에 가능하면 조기에 시작하는 것이 좋습니다.

소프트웨어 아키텍처 작업

활동
❑  
아키텍처 요약을 생성합니다. 여기에는 전반적인 아키텍처 다이어그램, 프로세스 흐름 요약, 상세한 서비스 상호작용 지점을 포함합니다. 또한 각 Google Cloud Platform 서비스가 어떻게 사용될지 나열하고 설명합니다. 시험용 Google API, Cloud Platform 이외의 Google API 및 타사 API 사용도 포함해야 합니다.
❑  
빌드 및 출시, 구성, 보안 관리 프로세스를 문서화합니다. 가능한 부분을 자동화합니다.
❑  
통상적인 백업, 정기적인 유지관리, 재해 복구 프로세스를 문서화합니다. 실제 데이터를 사용해 복원 프로세스를 테스트합니다. 전체 복원에 소요되는 시간을 정하고 재해 복구 프로세스에 반영합니다.
❑  
DevOps 프로세스를 문서화합니다. 특히 지원 시스템을 Google 시스템과 통합해야 하는 경우 이 작업이 필요합니다. 시스템 모니터링 및 경고 프로세스를 문서화하고 정의합니다. DevOps팀은 Google Cloud Platform 콘솔을 익숙하게 사용하고 테스트에 참여해야 합니다. Cloud 상태 대시보드를 모니터링합니다.

Google과의 연락망 구축

활동
❑  
실버 레벨 이상의 Google Cloud 지원을 구매하여 긴급 연락망을 구축하고 테스트합니다. 지원 레벨에 상관없이 문제를 제출하는 방법을 검토하고 실습합니다(예: App Engine에 대한 문제 제출).
❑  
팀이 Google Cloud 지원 센터에 익숙해지도록 합니다(웹/이메일, 구매한 서비스 수준에 따라 전화 지원 프로세스). 주말과 야간에 테스트해 봅니다. 팀이 Google에게 연락하는 방법을 숙지하고 있는지 확인합니다.
❑  
Cloud 지원에 티켓을 제출할 때마다 문제가 신속하게 해결되고 서비스 다운타임을 최소화하려면 특히 P1 티켓의 경우 지원 엔지니어의 추가 정보에 요청에 신속하게 응대할 수 있는 프로세스를 마련해야 합니다. Google에서 분석한 결과 고객 업데이트를 기다리는 시간이 총 해결 시간의 거의 30%에 육박하는 것으로 나타났습니다.

프로비저닝

활동
❑  
각 개발 환경에서 Google Cloud Platform 프로젝트를 프로비저닝합니다(예: Dev, Test, Prod).
❑  
Google Cloud Platform 결제를 활성화하고 비용 모델을 개발합니다. 자세한 내용은 가격 계산기를 참조하세요.
❑  
도메인과 인증서를 프로비저닝합니다. Google 앱 관리 콘솔을 사용하여 인증서를 설치합니다. 자세한 내용은 커스텀 도메인용 SSL커스텀 도메인용 SSL 인증서 구성을 참조하세요.
❑  
필요한 기타 Google 및 타사 서비스가 있다면 할당합니다. 이 출시 프로세스에 설명된 활동에도 이러한 서비스를 포함해야 합니다.

출시 계획 마련 및 예상 트래픽 계산

활동
❑  
전체 솔루션과 모든 하위 구성요소를 포괄하는 예상 트래픽을 계산합니다.
❑  
출시 계획을 세우고 출시 과정에서 믿고 따를 수 있는 소스로 유지합니다. 이 계획은 모든 기타 필수 프로세스와 문서를 참조해야 합니다.
❑  
테스트 계획을 세웁니다. 프로덕션 서비스에 코드를 배포한 후 테스트를 수행하는 절차를 항상 포함합니다. 테스트를 반복합니다. 최대한 많은 테스트를 수행하고 가능한 한 많은 사용자와 프로세스를 포함합니다.
❑  
부하 테스트 계획을 세웁니다. 매번 Google Cloud Platform 프로젝트의 '재설정'을 예측합니다. 예를 들어 Cloud Datastore 항목을 삭제하거나 Cloud Storage 버킷 및 객체를 삭제합니다. 또한 국제적 출시의 경우 국제적으로 테스트합니다.
❑  
할당량 분석을 완료합니다. 할당량을 파악하고 할당량 세부정보를 모니터링한 후, 할당량 조정을 요청하려면 Google 클라우드 지원 센터를 통해 지원 티켓을 제출합니다.

알파 테스트 체크리스트

코드가 거의 완성되었고 개발 중인 애플리케이션에 대한 초기 통계 자료를 확인하려면 알파 테스트 체크리스트를 사용하세요.

활동
❑  
예상 트래픽을 수정합니다.
❑  
현재 애플리케이션 로그를 바탕으로 출시 계획을 수정합니다.
❑  
예상 트래픽을 바탕으로 할당량 분석을 수정하고 Google 클라우드 지원 센터에서 지원 티켓을 제출하여 할당량 조정을 요청합니다.
❑  
내 솔루션과 Google Cloud Platform 모두에 지속적인 변화가 일어나는 만큼 부하 테스트를 최소한 한 번은 추가로 수행합니다.
❑  
배포 스크립트 및 테스트 과정을 단계별로 작성합니다. 빌드 및 출시 프로세스를 문서화하여 감사 및 재현이 가능하고 종합적인 가이드를 갖추는 것을 목표로 합니다.
❑  
시스템 모니터링 및 경고가 충분하고 효과적인지 검증합니다.
❑  
중요한 중단 발생 상황을 시뮬레이션하고 재해 복구 프로세스를 테스트합니다. 가능한 한 많은 사용자와 프로세스를 포함하여 테스트합니다.
❑  
데이터 센터 오류, 서비스 오류, 데이터 손상을 비롯해 발생 가능성이 낮은 기타 이벤트를 시뮬레이션합니다. 예상치 못한 이벤트가 대단위로 발생할 경우에 대비합니다.
❑  
빌드 및 출시 오류를 시뮬레이션합니다. 효과적인 롤백이 가능한가요? 프로세스가 문서화되고 있나요?
❑  
구성 관리 오류를 시뮬레이션합니다. 이 오류가 발생할 수 있었던 이유는 무엇인가요? 이 허점은 어떻게 보완할 수 있나요? 이러한 오류 파악 및 해결에 소요되는 시간을 단축할 수 있는 방법은 무엇일까요?
❑  
모든 요소를 여러 번 테스트합니다. 테스트에 관여한 담당자와 컴퓨터를 기록해 두면 오류 및 문서화되지 않는 활동이 발생하는 위치를 파악할 수 있습니다.

비공식 출시 체크리스트

애플리케이션의 상용 출시에 앞서 출시할 준비가 되었는지 테스트하기 위해 비공식 출시 체크리스트 활동을 사용하는 것이 좋습니다.

활동
❑  
배포 스크립트를 살펴봅니다. 오류 및 누락된 내용이 있으면 수정합니다. 배포를 위해 필요한 모든 단계를 문서화합니다.
❑  
예상 트래픽을 1.5~2배로 늘려 부하 테스트를 수행합니다.
❑  
발생하는 모든 문제를 분류하고 해결합니다. 비용 모델을 실제 비용과 비교해 검토합니다. 운영 비용이 예산을 초과하지 않는지 확인합니다. 필요에 따라 비용 모델을 수정합니다.
❑  
비용 절감 방안을 결정하고 검증합니다.

최종 출시 체크리스트

출시 직전과 출시 중에는 최종 출시 체크리스트를 사용합니다.

활동
❑  
배포 스크립트를 살펴봅니다. 발생하는 문제를 문서화하고 해결합니다.
❑  
필요한 경우 발생하는 문제를 분류하고 해결하는 업무에 모든 팀원을 투입할 수 있는지 확인합니다.

출시 후 체크리스트

활동
❑  
그간 얻은 교훈을 잘 정리하고 모든 관련 문서와 절차를 업데이트합니다.
❑  
사후 문서를 작성합니다.
이 페이지가 도움이 되었나요? 평가를 부탁드립니다.

다음에 대한 의견 보내기...