인프라 및 애플리케이션에 관측 가능성 빌드

Last reviewed 2023-08-21 UTC

Google Cloud 아키텍처 프레임워크의 이 문서에서는 서비스에 관측 가능성을 추가할 수 있도록 권장사항을 제공하여 서비스 성능을 더 잘 이해하고 문제를 빠르게 식별할 수 있도록 합니다. 관측 가능성에는 모니터링, 로깅, 추적, 프로파일링, 디버깅, 기타 유사한 시스템이 포함됩니다.

모니터링은 Google SRE 핸드북의 서비스 안정성 계층 구조를 기반으로 합니다. 적절한 모니터링 없이는 애플리케이션이 제대로 작동하는지 알 수 없습니다.

코드를 사용하면 관측 가능성을 극대화할 수 있습니다.

잘 설계된 시스템은 개발 단계에서 시작되는 적절한 관측 가능성을 제공하는 것을 목표로 합니다. 관찰을 시작하기 전에 애플리케이션이 프로덕션 단계에 올 때까지 기다리지 마세요. 코드를 계측하고 다음 안내를 고려하세요.

  • 효율적으로 디버깅하고 문제를 해결하려면 기록할 로그 및 trace 항목과 모니터링하고 내보낼 측정항목을 고려하세요. 가능성이 가장 높거나 빈번하게 발생하는 시스템의 장애 모드에 따라 우선순위를 지정합니다.
  • 주기적으로 모니터링을 감사하고 프루닝합니다. 사용되지 않거나 불필요한 대시보드, 그래프, 알림, 추적, 로깅을 삭제하여 깔끔하게 정리합니다.

Google Cloud Observability는 실시간 모니터링, 하이브리드 멀티 클라우드 모니터링 및 로깅(예: AWS 및 Azure)은 물론 추적, 프로파일링, 디버깅을 제공합니다. Google Cloud Observability는 App Engine 또는 Istio와 같은 서비스 메시에서 실행 중인 마이크로서비스를 자동으로 검색 및 모니터링할 수 있습니다.

애플리케이션 데이터를 많이 생성하는 경우 BigQuery를 사용하여 분석 이벤트 로그의 대규모 수집을 최적화할 수 있습니다. BigQuery는 모니터링 프레임워크에서 카디널리티가 높은 시계열 데이터를 유지하고 분석하는 데도 적합합니다. 이 방식은 모니터링을 완전히 처음부터 설계하고 모니터링에서 보고를 분리하는 것보다 저렴한 비용으로 임의 쿼리를 실행할 수 있으므로 유용합니다. Looker Studio 또는 Looker를 사용하여 데이터로부터 보고서를 만들 수 있습니다.

권장사항

아키텍처 프레임워크의 안내 사항을 사용자의 고유 환경에 적용하려면 다음 권장사항을 따르세요.

  • 마이그레이션 시작 전 또는 새 애플리케이션을 프로덕션 환경에 배포하기 전 등 사전에 모니터링을 구현합니다.
  • 애플리케이션 문제와 근본적인 클라우드 문제를 구별합니다. Monitoring API 또는 다른 Cloud Monitoring 제품 및 Google Cloud 상태 대시보드를 사용합니다.
  • 모니터링 외에도 추적, 프로파일링, 디버깅을 포함한 관측 가능성 전략을 정의합니다.
  • 실행되지 않는 알림과 같이 사용하지 않거나 값을 제공하지 않는 관측 가능성 아티팩트를 정기적으로 삭제합니다.
  • 대량의 관측 가능성 데이터를 생성하는 경우 애플리케이션 이벤트를 BigQuery와 같은 데이터 웨어하우스 시스템으로 전송합니다.

다음 단계

시스템 설계, 운영 우수성, 보안, 개인 정보 보호, 규정 준수 등 아키텍처 프레임워크의 다른 카테고리를 살펴봅니다.