CloudOps를 사용하여 운영 준비 상태 및 성능 보장

Last reviewed 2026-10-02 UTC

Google Cloud Well-Architected Framework의 운영 우수성 부문에서 이 원칙을 따르면 클라우드 워크로드의 운영 준비 상태와 성능을 보장할 수 있습니다. 서비스 성능에 대한 명확한 기대치와 약속을 설정하고, 강력한 모니터링 및 알림을 구현하고, 성능 테스트를 실시하고, 용량 요구사항을 사전에 계획하는 것을 강조합니다.

원칙 개요

조직마다 운영 준비 상태를 다르게 해석할 수 있습니다. 운영 준비 상태는 조직이 Google Cloud에서 워크로드를 성공적으로 운영하기 위해 준비하는 방식입니다. 복잡한 다중 계층 클라우드 워크로드를 운영하려면 출시 및 day-2 작업을 모두 신중하게 계획해야 합니다. 이러한 작업을 CloudOps라고 부르는 경우가 많습니다.

운영 준비의 중점 분야

운영 준비는 네 가지 중점 영역으로 구성됩니다. 각 중점 영역은 Google Cloud에서 복잡한 애플리케이션이나 환경을 운영하기 위해 준비하는 데 필요한 일련의 활동과 구성요소로 구성됩니다. 다음 표에는 각 집중 영역의 구성요소와 활동이 나와 있습니다.

운영 준비의 중점 분야 활동 및 구성요소
직원
  • 클라우드 리소스를 관리하고 운영하는 팀의 역할과 책임을 명확하게 정의합니다.
  • 팀 구성원의 적절한 기술 확보
  • 학습 프로그램 개발
  • 명확한 팀 구조를 수립합니다.
  • 필요한 인재 채용
프로세스
  • Google Cloud Observability와 원활하게 통합됩니다
  • 서비스 중단 관리
  • 클라우드 전송
  • 핵심 클라우드 운영
도구 CloudOps 프로세스를 지원하는 데 필요한 도구
거버넌스
  • 서비스 수준 및 보고
  • 클라우드 재무
  • 클라우드 운영 모델
  • 아키텍처 검토 및 거버넌스 위원회
  • 클라우드 아키텍처 및 규정 준수

추천

CloudOps를 사용하여 운영 준비 상태와 성능을 보장하려면 다음 섹션의 권장사항을 고려하세요. 이 문서의 각 권장사항은 하나 이상의 운영 준비 집중 분야와 관련이 있습니다.

SLO 및 SLA 정의

클라우드 운영팀의 핵심 책임은 모든 중요 워크로드에 대한 서비스 수준 목표 (SLO)와 서비스수준계약 (SLA)을 정의하는 것입니다. 이 권장사항은 운영 준비의 거버넌스 중점사항과 관련이 있습니다.

  • SLO 정의:

    SLO는 구체적이고, 측정 가능하며, 달성 가능하고, 관련성이 있으며, 기한이 정해져야 합니다(SMART). 또한 원하는 서비스 수준과 성능을 반영해야 합니다.

    • 구체적: 필요한 서비스 및 성능 수준을 명확하게 설명합니다.
    • 측정 가능: 수량화 가능하고 추적 가능해야 합니다.
    • 달성 가능: 조직의 역량과 리소스 한도 내에서 달성할 수 있어야 합니다.
    • 관련성: 비즈니스 목표 및 우선순위와 일치해야 합니다.
    • 시간 제한: 측정 및 평가를 위한 정의된 기간이 있습니다.

    예를 들어 웹 애플리케이션의 SLO는 '99.9% 가용성' 또는 '평균 응답 시간 200ms 미만'일 수 있습니다. 이러한 SLO는 웹 애플리케이션에 필요한 서비스 및 성능 수준을 명확하게 정의하며, SLO는 시간이 지남에 따라 측정하고 추적할 수 있습니다.

  • SLA 정의:

    SLA에는 서비스 가용성, 성능, 지원에 관한 고객과의 약속이 명시되어 있으며, 여기에는 규정 미준수에 대한 벌금 또는 구제책이 포함됩니다. SLA에는 제공되는 서비스, 예상되는 서비스 수준, 서비스 제공업체와 고객의 책임, 규정 미준수에 대한 처벌 또는 구제책에 관한 구체적인 세부정보가 포함되어야 합니다. SLA는 두 당사자 간의 계약상 합의 역할을 하며, 양쪽 모두 클라우드 서비스와 관련된 기대치와 의무를 명확하게 이해하도록 합니다.

  • SLO 추적:

    Cloud Monitoring 및 서비스 수준 지표 (SLI)를 사용하여 SLO를 추적합니다. Cloud Monitoring은 조직에서 클라우드 기반 애플리케이션 및 서비스의 가용성, 성능, 지연 시간과 관련된 측정항목을 수집하고 분석할 수 있는 포괄적인 모니터링 및 모니터링 가능성 기능을 제공합니다. SLI는 시간이 지남에 따라 SLO를 측정하고 추적하는 데 사용할 수 있는 구체적인 측정항목입니다. 이러한 도구를 활용하면 클라우드 서비스를 효과적으로 모니터링하고 관리하여 SLO 및 SLA를 충족할 수 있습니다.

모든 중요한 클라우드 서비스에 대해 SLO와 SLA를 명확하게 정의, 전달, 추적하면 배포된 애플리케이션과 서비스의 안정성과 성능을 보장하는 데 도움이 됩니다.

종합적인 모니터링 가능성 구현

클라우드 환경의 상태와 성능을 실시간으로 파악하려면 Google Cloud Observability 도구와 서드 파티 솔루션을 함께 사용하는 것이 좋습니다. 이 권장사항은 운영 준비의 중점사항인 프로세스 및 도구와 관련이 있습니다.

관측 가능성 솔루션을 조합하여 구현하면 클라우드 인프라와 애플리케이션의 다양한 측면을 포괄하는 종합적인 관측 가능성 전략을 수립할 수 있습니다. Google Cloud Observability는 다양한Google Cloud 서비스, 애플리케이션, 외부 소스의 측정항목, 로그, 추적을 수집, 분석, 시각화하는 통합 플랫폼입니다. Cloud Monitoring을 사용하면 리소스 사용률, 성능 특성, 전반적인 리소스 상태에 대한 통계를 얻을 수 있습니다.

포괄적인 모니터링을 위해 CPU 사용률, 메모리 사용량, 네트워크 트래픽, 디스크 I/O, 애플리케이션 응답 시간과 같은 시스템 상태 지표와 일치하는 중요한 측정항목을 모니터링합니다. 비즈니스별 측정항목도 고려해야 합니다. 이러한 측정항목을 추적하면 잠재적인 병목 현상, 성능 문제, 리소스 제약 조건을 식별할 수 있습니다. 또한 관련 팀에 잠재적 문제나 이상치를 선제적으로 알리도록 알림을 설정할 수 있습니다.

모니터링 기능을 더욱 강화하려면 서드 파티 솔루션을 Google Cloud Observability와 통합하면 됩니다. 이러한 솔루션은 고급 분석, 머신러닝 기반 이상 감지, 인시던트 관리 기능과 같은 추가 기능을 제공할 수 있습니다. Google Cloud Observability 도구와 서드 파티 솔루션을 함께 사용하면 특정 요구사항에 맞게 맞춤설정할 수 있는 강력한 모니터링 생태계를 만들 수 있습니다. 이 조합 접근 방식을 사용하면 문제를 사전에 식별하고 해결하고, 리소스 사용률을 최적화하고, 클라우드 애플리케이션과 서비스의 전반적인 안정성과 가용성을 보장할 수 있습니다.

성능 및 부하 테스트 구현

정기적인 성능 테스트를 수행하면 클라우드 기반 애플리케이션과 인프라가 최대 부하를 처리하고 최적의 성능을 유지할 수 있습니다. 부하 테스트는 실제 트래픽 패턴을 시뮬레이션합니다. 스트레스 테스트는 시스템을 한계까지 밀어붙여 잠재적인 병목 현상과 성능 제한을 식별합니다. 이 권장사항은 운영 준비의 중점사항인 프로세스 및 도구와 관련이 있습니다.

  • 성능 테스트: Cloud Load Balancing 및 부하 테스트 서비스를 사용하여 실제 트래픽 패턴을 시뮬레이션하고 애플리케이션에 스트레스 테스트를 실행합니다. 이러한 도구는 다양한 부하 조건에서 시스템이 어떻게 작동하는지에 관한 유용한 정보를 제공하며 최적화가 필요한 영역을 식별하는 데 도움이 됩니다.

  • 성능 최적화: 성능 테스트 결과를 바탕으로 최적의 성능과 확장성을 위해 클라우드 인프라와 애플리케이션을 최적화할 수 있습니다. 이러한 최적화에는 리소스 할당 조정, 구성 조정 또는 캐싱 메커니즘 구현이 포함될 수 있습니다.

    예를 들어 트래픽이 많은 기간에 애플리케이션의 속도가 느려지는 경우 애플리케이션에 할당된 가상 머신 또는 컨테이너 수를 늘려야 할 수 있습니다. 또는 성능을 개선하기 위해 웹 서버나 데이터베이스의 구성을 조정해야 할 수도 있습니다.

정기적으로 성능 테스트를 실시하고 필요한 최적화를 구현하면 클라우드 기반 애플리케이션과 인프라가 항상 최고 성능으로 실행되고 사용자에게 원활하고 응답성이 뛰어난 환경을 제공할 수 있습니다. 이렇게 하면 경쟁 우위를 유지하고 고객과의 신뢰를 구축하는 데 도움이 됩니다.

용량 계획 및 관리

클라우드 시스템이 수요 변화에 따라 계속 실행되고 확장되도록 하려면 클라우드 리소스의 용량을 적극적으로 계획하고 관리해야 합니다. 이 권장사항은 운영 준비의 중점사항인 프로세스 및 도구를 지원합니다.

  • 서비스 한도 고려 및 리소스 할당량 관리: 클라우드 리소스의 용량을 계획하려면 사용하려는 서비스의 엄격한 한도 (고정된 제약 조건)부터 시작하세요.

    • 컴퓨팅, 스토리지, API 한도 및 기타 필요한 리소스의 할당량 요구사항을 추정합니다. 리소스가 필요하기 전에 적절한 할당량 조정을 요청하세요.
    • Cloud Monitoring의 측정항목을 BigQuery로 로드하고 측정항목을 사용하여 트래픽 패턴을 파악하고 시간 경과에 따른 시스템 부하를 추적합니다.
    • 예정된 마케팅 캠페인, 사용자 가입, 기능 출시를 기반으로 리소스 수요를 예측합니다. 현재 및 계획된 SLA 약정도 고려하세요.
  • 유연성과 효율성을 고려한 설계: 클라우드 배포의 용량을 계획할 때 애플리케이션 구성요소를 특정 머신 유형에서 분리하세요. 워크로드를 단일 머신 유형에 고정하면 최신 클라우드 하드웨어나 리전 용량의 변경사항을 활용할 수 없습니다.

    • 고메모리 인스턴스나 GPU와 같은 특수 하드웨어가 필요한 워크로드의 경우 필요할 때 리소스를 확보할 수 있는지 확인하세요. 미래용 예약을 사용하여 최대 1년 전에 중요한 머신 유형의 용량을 보장받으세요.
    • 시작 시간이 가변적이어도 되는 일괄 처리 또는 모델 학습 워크로드의 경우 Flex-start VM을 사용하여 용량을 동적으로 예약하세요. 이러한 VM은 동적 워크로드 예약 (DWS)을 사용하여 요청을 대기열에 추가하고 컴퓨팅 비용을 절감합니다.
    • 이전 머신 계열이나 임시 개발 환경용 리소스는 예약하지 마세요.
    • 재해 복구 (DR)를 위해 효율적으로 장애 조치할 수 있도록 보조 리전의 리소스를 계획합니다.
  • 자동 확장 구현: 클라우드 리소스를 실시간 워크로드 변동에 동적으로 적응시키려면 자동 확장 정책을 구현하세요. 자동 확장 알고리즘은 CPU 사용률, 메모리 압력, 대기열 깊이와 같은 측정항목을 평가합니다. 평가에 따라 트래픽이 많은 기간에는 리소스가 스케일 아웃되고 사용률이 낮은 기간에는 스케일 인되므로 클라우드 리소스 비용을 최적화할 수 있습니다.

    • 현재 세대와 최신 세대의 머신 유형을 결합하는 혼합 인스턴스 템플릿으로 관리형 인스턴스 그룹 (MIG)을 구성합니다.
    • MIG 구성에 인스턴스 유연성(호환되는 여러 머신 유형 지정)과 위치 유연성(리전의 여러 영역에 타겟 분산)이 모두 포함되어 있는지 확인합니다. 현재 용량 요구사항에 따라 시스템은 요청을 삭제하거나 컴퓨팅 리소스를 제한하지 않고 대체 목록에서 다음으로 선호하는 머신 유형을 자동으로 프로비저닝합니다.

지속적인 모니터링 및 최적화

클라우드 워크로드를 관리하고 최적화하려면 성능 측정항목을 지속적으로 모니터링하고 분석하는 프로세스를 설정해야 합니다. 이 권장사항은 운영 준비의 중점사항인 프로세스 및 도구와 관련이 있습니다.

  • 데이터 추적 및 수집:

    지속적인 모니터링 및 분석 프로세스를 설정하려면 클라우드 환경의 다양한 측면과 관련된 데이터를 추적, 수집, 평가해야 합니다. 이 데이터를 사용하면 개선이 필요한 영역을 선제적으로 식별하고, 리소스 사용률을 최적화하고, 클라우드 인프라가 성능 기대치를 지속적으로 충족하거나 초과하도록 할 수 있습니다.

  • 로그 및 트레이스 검토:

    로그는 시스템 이벤트, 오류, 경고에 관한 유용한 정보를 제공합니다. 트레이스는 애플리케이션을 통과하는 요청의 흐름에 관한 자세한 정보를 제공합니다. 로그와 트레이스를 분석하면 잠재적인 문제를 식별하고, 문제의 근본 원인을 파악하고, 다양한 조건에서 애플리케이션이 어떻게 작동하는지 더 잘 이해할 수 있습니다. 서비스 간 왕복 시간과 같은 측정항목은 워크로드의 병목 현상을 식별하고 이해하는 데 도움이 될 수 있습니다.

  • 성능 조정:

    성능 조정 기법을 사용하여 애플리케이션 응답 시간과 전반적인 효율성을 크게 최적화합니다. 사용할 수 있는 기법의 예는 다음과 같습니다.

    • 캐싱: 반복되는 데이터베이스 쿼리 또는 API 호출의 필요성을 줄이기 위해 자주 액세스하는 데이터를 메모리에 저장합니다.
    • 데이터베이스 최적화: 색인 생성 및 쿼리 최적화와 같은 기법을 사용하여 데이터베이스 작업의 성능을 개선합니다.
    • 코드 프로파일링: 과도한 리소스를 소비하거나 성능 문제를 일으키는 코드 영역을 식별합니다.