Google Cloud 잘 설계된 프레임워크의 비용 최적화 핵심 요소는 Google Cloud에서 워크로드 비용을 최적화하기 위한 원칙과 권장사항을 설명합니다.
주요 대상은 다음과 같습니다.
- 전략적 비용 관리를 담당하는 CTO, CIO, CFO 및 기타 경영진
- 조직의 클라우드 여정의 모든 단계에서 비용에 영향을 미치는 결정을 내리는 설계자, 개발자, 관리자, 운영자입니다.
온프레미스와 클라우드 워크로드의 비용 모델은 크게 다릅니다. 온프레미스 IT 비용에는 자본 지출 (CapEx)과 운영 지출 (OpEx)이 포함됩니다. 온프레미스 하드웨어 및 소프트웨어 애셋을 획득하고, 자산의 운영 기간 동안 인수 비용을 감가상각합니다. 클라우드에서 대부분의 클라우드 리소스에 대한 비용은 운영 지출로 취급되며, 여기서 비용은 클라우드 리소스가 소비될 때 발생합니다. 이러한 근본적인 차이는 다음과 같은 비용 최적화 핵심 원칙의 중요성을 강조합니다.
AI 및 ML 워크로드와 관련된 비용 최적화 원칙과 권장사항은 잘 설계된 프레임워크의 AI 및 ML 관점: 비용 최적화를 참조하세요.
핵심 원칙
Well-Architected Framework의 비용 최적화 요소에 있는 권장사항은 다음과 같은 핵심 원칙에 매핑됩니다.
- 비즈니스 가치에 따른 클라우드 지출 조정: IT 지출을 비즈니스 목표에 맞춰 클라우드 리소스가 측정 가능한 비즈니스 가치를 제공하도록 합니다.
- 비용 인식 문화 조성: 조직 전체의 사람들이 의사 결정 및 활동이 비용에 미치는 영향을 고려하도록 하고 정보에 입각한 결정을 내리는 데 필요한 비용 정보에 액세스할 수 있도록 합니다.
- 리소스 사용량 최적화: 필요한 리소스만 프로비저닝하고 사용한 리소스에 대해서만 비용을 지불합니다.
- 지속적인 최적화: 클라우드 리소스 사용량 및 비용을 지속적으로 모니터링하고 필요에 따라 사전에 조정하여 지출을 최적화할 수 있습니다. 이 접근 방식에는 잠재적인 비용 비효율성이 큰 문제가 되기 전에 식별하고 해결하는 것이 포함됩니다.
이러한 원칙은 Cloud FinOps의 핵심 원칙과 밀접하게 일치합니다. FinOps는 클라우드의 규모 또는 성숙도와 상관없이 모든 조직과 관련이 있습니다. 이러한 원칙을 채택하고 관련 권장사항을 따르면 클라우드 내 전체 여정에서 비용을 관리하고 최적화할 수 있습니다.
참여자
작성자: 니콜라 핀타우 | 고객 엔지니어, 애플리케이션 현대화 전문가
기타 참여자:
- Anuradha Bajpai | 솔루션 설계자
- 다니엘 리 | 클라우드 보안 설계자
- 에릭 램 | Google Cloud FinOps 부문 책임자
- Fernando Rubbo | 클라우드 솔루션 설계자
- 필리페 그라시오, 박사 | 고객 엔지니어
- 게리 하름슨 | 수석 설계자
- 호세 안드라데 | 엔터프라이즈 인프라 고객 엔지니어
- Kent Hua | 솔루션 관리자
- 저자: 쿠마르 다나고팔 | 크로스 프로덕트 솔루션 개발자
- 마르완 알 샤위 | 파트너 고객 엔지니어
- 라디카 카나캄 | Cloud GTM 선임 프로그램 관리자
- 사만다 헤 | 기술 문서 작성자
- 스티브 맥기 | 안정성 옹호자
- Sergei Lilichenko | 솔루션 설계자
- 웨이드 홀름스 | 글로벌 솔루션 이사
- 자크 세일 | 네트워킹 전문가
비즈니스 가치에 맞춰 클라우드 지출 조정
Google Cloud Well-Architected Framework의 비용 최적화 원칙에 있는 이 원칙은 조직의 비즈니스 목표에 맞게 리소스 사용을 Google Cloud 조정하기 위한 권장사항을 제공합니다.
원칙 개요
클라우드 비용을 효과적으로 관리하려면 클라우드 리소스가 제공하는 비즈니스 가치를 극대화하고 총소유비용 (TCO)을 최소화해야 합니다. 클라우드 워크로드의 리소스 옵션을 평가할 때는 리소스를 프로비저닝하고 사용하는 비용뿐만 아니라 리소스 관리 비용도 고려해야 합니다. 예를 들어 Compute Engine의 가상 머신 (VM)은 애플리케이션을 호스팅하는 비용 효율적인 옵션일 수 있습니다. 그러나 VM의 유지보수, 패치, 확장을 위한 오버헤드를 고려하면 TCO가 증가할 수 있습니다. 반면에 Cloud Run과 같은 서버리스 서비스는 더 큰 비즈니스 가치를 제공할 수 있습니다. 운영 오버헤드가 낮을수록 팀이 핵심 활동에 집중할 수 있고 민첩성을 높이는 데 도움이 됩니다.
클라우드 리소스가 최적의 가치를 제공하도록 하려면 다음 요소를 평가하세요.
- 프로비저닝 및 사용 비용: 리소스를 구매, 프로비저닝 또는 소비할 때 발생하는 비용입니다.
- 관리 비용: 패치, 모니터링, 확장과 같은 작업을 포함한 리소스 운영 및 유지보수에 발생하는 반복적인 비용입니다.
- 간접 비용: 다운타임, 데이터 손실 또는 보안 침해와 같은 문제를 관리하기 위해 발생할 수 있는 비용입니다.
- 비즈니스 영향: 수익 증가, 고객 만족도 향상, TTM(time to market) 단축과 같은 리소스를 통해 얻을 수 있는 잠재적 이점입니다.
클라우드 지출을 비즈니스 가치에 맞추면 다음과 같은 이점이 있습니다.
- 가치 기반 결정: 팀은 가장 큰 비즈니스 가치를 제공하는 솔루션에 우선순위를 두고 단기 및 장기 비용 영향을 모두 고려하는 것이 좋습니다.
- 정보에 입각한 리소스 선택: 팀이 다양한 배포 옵션의 비즈니스 가치와 TCO를 평가하는 데 필요한 정보와 지식을 확보하여 비용 효율적인 리소스를 선택합니다.
- 팀 간 조정: 비즈니스, 재무, 기술팀 간의 교차 기능 공동작업을 통해 클라우드 관련 의사결정이 조직의 전반적인 목표에 부합하도록 합니다.
권장사항
비즈니스 목표에 맞게 클라우드 지출을 조정하려면 다음 권장사항을 고려하세요.
관리형 서비스 및 서버리스 제품 우선순위 지정
가능하면 관리형 서비스와 서버리스 제품을 선택하여 운영 오버헤드 및 유지보수 비용을 줄이세요. 이를 통해 팀은 핵심 비즈니스 활동에 집중할 수 있습니다. 새로운 기능의 제공을 가속화하고 혁신과 가치를 창출하는 데 도움이 될 수 있습니다.
다음은 이 권장사항을 구현하는 방법을 보여주는 예입니다.
- PostgreSQL, MySQL 또는 Microsoft SQL Server 서버 데이터베이스를 실행하려면 VM에 데이터베이스를 배포하는 대신 Cloud SQL을 사용합니다.
- Kubernetes 클러스터를 실행하고 관리하려면 VM에 컨테이너를 배포하는 대신 Google Kubernetes Engine (GKE) Autopilot을 사용합니다.
- Apache Hadoop 또는 Apache Spark 처리 요구사항은 Dataproc 및 Dataproc Serverless를 사용합니다. 초당 과금을 사용하면 온프레미스 데이터 레이크에 비해 TCO를 크게 절감할 수 있습니다.
비용 효율성과 비즈니스 민첩성의 균형 유지
비용 관리 및 리소스 사용률 최적화가 중요한 목표입니다. 하지만 이러한 목표와 함께 빠르게 혁신하고 변화에 빠르게 대응하며 보다 빠르게 가치를 제공할 수 있는 유연한 인프라의 필요성 사이에서 균형을 맞춰야 합니다. 다음은 이러한 균형을 달성하는 방법의 예입니다.
- 소프트웨어 배포 성능을 위해 DORA 측정항목을 채택합니다. 변경 실패율 (CFR), 감지 시간 (TTD), 복원 시간 (TTR)과 같은 측정항목은 개발 및 배포 프로세스의 병목 현상을 식별하고 수정하는 데 도움이 될 수 있습니다. 다운타임을 줄이고 배포를 가속화하면 운영 효율성과 비즈니스 민첩성을 모두 달성할 수 있습니다.
- 사이트 안정성 엔지니어링 (SRE) 권장사항을 준수하여 운영 안정성을 개선하세요. SRE가 자동화, 관측 가능성, 이슈 대응에 집중하면 다운타임 감소, 복구 시간 단축, 고객 만족도 향상으로 이어질 수 있습니다. 다운타임을 최소화하고 운영 안정성을 개선하면 수익 손실을 방지하고 서비스 중단 처리를 위한 안전망으로 리소스를 과도하게 프로비저닝할 필요가 없습니다.
셀프서비스 최적화 사용 설정
팀에 셀프서비스 비용 최적화 도구, 관측 가능성 도구, 리소스 관리 플랫폼을 제공하여 실험과 탐색 문화를 장려합니다. 클라우드 리소스를 자율적으로 프로비저닝, 관리, 최적화할 수 있도록 지원합니다. 이 접근 방식을 통해 주인 의식을 기르고 혁신을 가속화하며 팀이 비용 효율성을 염두에 두고 변화하는 요구사항에 신속하게 대응할 수 있습니다.
FinOps 채택 및 구현
FinOps를 채택하여 모두가 비용과 가치의 균형을 이루는 정보에 입각한 결정을 내릴 수 있는 공동작업 환경을 구축하세요. FinOps는 재무 책임을 강화하고 클라우드에서 효과적인 비용 최적화를 촉진합니다.
가치 중심 및 TCO 인식 사고방식 장려
팀원들이 초기 비용뿐만 아니라 TCO에도 중점을 두고 클라우드 지출에 대해 종합적인 관점을 채택하도록 독려하세요. 가치 흐름 매핑과 같은 기법을 사용하여 소프트웨어 제공 프로세스의 가치 흐름을 시각화 및 분석하고 개선할 영역을 파악하세요. 애플리케이션과 서비스에 대한 단위 비용 계산을 구현하여 비용 요인을 세부적으로 파악하고 비용 최적화 기회를 발견할 수 있습니다. 자세한 내용은 Cloud FinOps로 비즈니스 가치 극대화를 참조하세요.
비용에 대한 인식 문화 조성
Google Cloud Well-Architected Framework의 비용 최적화 핵심 요소에서 이 원칙은 조직 전체에서 비용 인식을 촉진하고 팀 구성원이 정보에 입각한 결정을 내리는 데 필요한 비용 정보를 알 수 있도록 하기 위한 권장사항을 제공합니다.
일반적으로 비용 관리 책임은 소수의 특정 이해관계자에게 집중되어 있고 주로 초기 프로젝트 아키텍처 결정에 중점을 둘 수 있습니다. 그러나 모든 클라우드 사용자 역할 (분석가, 설계자, 개발자 또는 관리자)의 팀 구성원은Google Cloud의 리소스 비용을 줄이는 데 도움이 될 수 있습니다. 비용 데이터를 적절하게 공유하면 팀 구성원이 개발 및 배포 프로세스 전반에 걸쳐 비용 효율적인 결정을 내리도록 지원할 수 있습니다.
원칙 개요
제품 소유자, 개발자, 배포 엔지니어, 관리자, 재무 분석가 등 다양한 역할의 이해관계자는 관련 비용 데이터 및 비즈니스 가치와의 관계를 파악할 수 있어야 합니다. 클라우드 리소스를 프로비저닝하고 관리할 때 필요한 데이터는 다음과 같습니다
- 예상 리소스 비용: 설계 및 배포 시점의 예상 비용입니다.
- 실시간 리소스 사용 비용: 지속적인 모니터링 및 예산 검증에 사용할 수 있는 최신 비용 데이터입니다.
- 비즈니스 측정항목에 매핑된 비용: 팀이 비용 효율적인 전략을 파악할 수 있도록 클라우드 지출이 핵심성과지표 (KPI)에 미치는 영향에 대한 통계입니다.
모든 개인이 원시 비용 데이터에 액세스할 필요가 없을 수도 있습니다. 그러나 개별 결정이 비용에 영향을 미칠 수 있으므로 모든 역할에서 비용 인식을 높이는 것이 중요합니다.
비용 가시성을 높이고 비용 관리 관행의 명확한 소유권을 보장하면 모든 사람이 선택의 재정적 영향을 이해하고 모든 사람이 조직의 비용 최적화 목표에 적극적으로 기여할 수 있습니다. 중앙 집중식 FinOps팀을 사용하든 분산 모델을 사용하든 효율적인 비용 최적화 노력을 위해서는 책임성을 확립하는 것이 중요합니다.
권장사항
비용 인식을 촉진하고 팀 구성원이 정보에 입각한 결정을 내리는 데 필요한 비용 정보를 알 수 있도록 하려면 다음 권장사항을 고려하세요.
조직 전반의 비용 가시성 제공
조직 전체의 비용 가시성을 확보하기 위해 비용 관리를 담당하는 팀은 다음 조치를 취할 수 있습니다.
- 비용 계산 및 예산 책정 표준화: 할인 및 공유 비용을 반영한 후 일관된 방법을 사용하여 클라우드 리소스의 전체 비용을 결정합니다. 조직의 목표에 부합하는 명확하고 표준화된 예산 책정 프로세스를 설정하고 사전 예방적인 비용 관리를 지원합니다.
- 표준화된 비용 관리 및 가시성 도구 사용: 클라우드 지출에 대한 실시간 통계를 제공하고 정기적인 (예: 주간) 비용 진행 스냅샷을 생성하는 적절한 도구를 사용합니다. 이러한 도구를 통해 사전에 예산 책정, 예측, 최적화 기회 식별이 가능합니다. 도구는 클라우드 제공업체 도구(예: Google Cloud Billing 대시보드), 서드 파티 솔루션 또는 비용 기여 분석 솔루션과 같은 오픈소스 솔루션일 수 있습니다.
- 비용 할당 시스템 구현: 전체 클라우드 예산의 일부를 각 팀 또는 프로젝트에 할당합니다. 이러한 할당을 통해 팀은 클라우드 지출에 대한 주인 의식을 가질 수 있으며 할당된 예산 내에서 비용 효율적인 결정을 내릴 수 있습니다.
- 투명성 향상: 팀이 설계 및 의사 결정 프로세스 중에 비용에 미치는 영향을 논의하도록 장려합니다. 비용 최적화와 관련된 아이디어와 우려사항을 공유할 수 있는 안전하고 지원적인 환경을 조성합니다. 일부 조직에서는 리더보드나 인식 프로그램과 같은 긍정적 강화 메커니즘을 사용합니다. 비즈니스 문제로 인해 조직에서 원시 비용 데이터를 공유하는 데 제한이 있는 경우 비용 정보와 통계를 공유할 수 있는 다른 접근 방식을 살펴보세요. 예를 들어 집계된 측정항목 (예: 환경 또는 기능의 총 비용) 또는 상대적 측정항목 (예: 트랜잭션 또는 사용자당 평균 비용)을 공유하는 것이 좋습니다.
클라우드 리소스 요금 청구 방식 이해
리소스 Google Cloud 가격은 리전에 따라 다를 수 있습니다. 일부 리소스는 매월 고정 가격으로 청구되며, 일부는 사용량을 기준으로 청구될 수 있습니다. 리소스 Google Cloud 비용 청구 방식을 이해하려면 Google Cloud 가격 계산기 및 제품별 가격 책정 정보 (예: Google Kubernetes Engine (GKE) 가격 책정)를 사용하세요.
리소스 기반 비용 최적화 옵션 이해
사용하려는 클라우드 리소스 유형별로 사용률 및 효율성을 최적화하는 전략을 살펴보세요. 전략에는 적절한 경우 적정 크기 조절, 자동 확장, 서버리스 기술 채택이 포함됩니다 다음은 일부 제품에 대한 비용 최적화 옵션의 예입니다. Google Cloud
- Cloud Run을 사용하면 기본 할당 방법의 일부 가격으로 예측 가능한 트래픽 로드 (요청 처리 중에만 할당된 CPU)를 처리하도록 항상 할당된 CPU를 구성할 수 있습니다.
- BigQuery 슬롯 약정을 구매하여 데이터 분석 비용을 절감할 수 있습니다.
- GKE는 비용 최적화 옵션을 이해하는 데 도움이 되는 자세한 측정항목을 제공합니다.
- 네트워크 가격 책정이 데이터 전송 비용에 미치는 영향과 특정 네트워킹 서비스의 비용을 최적화하는 방법을 알아보세요. 예를 들어 Cloud CDN 또는 Google Cloud Armor를 사용하여 외부 애플리케이션 부하 분산기의 데이터 전송 비용을 줄일 수 있습니다. 자세한 내용은 외부 애플리케이션 부하 분산기 비용을 낮추는 방법을 참조하세요.
할인 기반 비용 최적화 옵션 이해하기
다음 예시와 같이 Google Cloud 제공하는 할인 프로그램을 숙지합니다.
- 약정 사용 할인 (CUD): CUD는 사용량이 예측 가능하고 일정한 리소스에 적합합니다. CUD를 사용하면 일정 기간 (일반적으로 1~3년) 동안 특정 리소스 사용량을 약정하는 대가로 가격을 대폭 절감할 수 있습니다. CUD 자동 갱신을 사용하면 약정이 만료될 때 수동으로 다시 구매할 필요가 없습니다.
- 지속 사용 할인: Compute Engine 및 GKE와 같은 Google Cloud 특정 제품의 경우 특정 기간 기준을 초과하는 리소스를 지속적으로 사용한 후에 자동 할인 크레딧을 받을 수 있습니다.
- 스팟 VM: 내결함성과 유연한 워크로드를 위해 스팟 VM을 사용하면 Compute Engine 비용을 절감할 수 있습니다. 스팟 VM의 비용은 일반 VM보다 훨씬 저렴합니다 하지만 Compute Engine이 용량을 회수하기 위해 스팟 VM을 사전에 중지하거나 삭제할 수 있습니다. 스팟 VM은 선점을 허용할 수 있고 고가용성 요구사항이 없는 일괄 작업에 적합합니다.
- 특정 제품 옵션에 대한 할인: BigQuery와 같은 일부 관리형 서비스에서는 전용 또는 자동 확장 쿼리 처리 용량을 구매할 경우 할인을 제공합니다.
워크로드 특성 및 사용 패턴에 따라 할인 옵션을 평가하고 선택합니다.
예상 비용을 아키텍처 청사진에 통합
팀이 다양한 배포 옵션 및 구성에 대한 예상 비용이 포함된 아키텍처 청사진을 개발하도록 권장합니다. 이를 통해 팀은 비용을 사전에 비교하고 기술 및 재무 목표에 부합하는 정보에 입각한 결정을 내릴 수 있습니다.
모든 리소스에 일관성 있는 표준 라벨 집합 사용
라벨을 사용하여 비용을 추적하고 리소스를 식별 및 분류할 수 있습니다. 특히 라벨을 사용하여 여러 프로젝트, 부서 또는 비용 센터에 비용을 할당할 수 있습니다. 조직 내 주요 이해관계자의 요구사항에 맞게 공식 라벨 지정 정책을 정의하면 비용을 보다 광범위하게 표시할 수 있습니다. 라벨을 사용하여 공유 대상 그룹을 기준으로 리소스 비용 및 사용량 데이터를 필터링할 수도 있습니다
Terraform과 같은 자동화 도구를 사용하여 생성된 모든 리소스에 라벨 지정을 적용합니다. 비용 가시성과 기여 분석을 더욱 향상하려면 오픈소스 비용 기여 분석 솔루션에서 제공하는 도구를 사용하면 됩니다.
팀 구성원과 비용 보고서 공유
비용 보고서를 팀원과 공유하면 팀원들이 클라우드 지출을 주도할 수 있습니다. 이렇게 하면 비용 효율적인 의사 결정, 지속적인 비용 최적화, 비용 할당 모델의 체계적인 개선이 가능합니다.
비용 보고서는 다음을 비롯한 여러 유형일 수 있습니다.
- 정기적 비용 보고서: 정기 보고서는 팀에 현재 클라우드 지출에 대한 정보를 제공합니다. 일반적으로 이러한 보고서는 스프레드시트 내보내기일 수 있습니다. 보다 효과적인 방법으로는 자동화된 이메일과 특화된 대시보드가 있습니다. 비용 보고서에서 불필요한 세부정보로 수신자에게 부담을 주지 않으면서 관련성 높고 활용 가능한 정보를 제공하려면 타겟층에 맞게 보고서를 조정해야 합니다. 맞춤 보고서 설정은 실시간 양방향 비용 가시성과 관리를 위한 기본적인 단계입니다.
- 자동 알림: 비용 보고서를 구성하여 관련 이해관계자에게 이메일 또는 채팅 등을 통해 이례적인 비용, 예산 기준 또는 비용 최적화 기회에 대해 사전에 알릴 수 있습니다. 자동화된 알림은 조치를 취할 수 있는 담당자에게 시의적절하게 정보를 직접 제공하여 즉각적인 조치를 장려하고 비용 최적화에 대한 선제적인 접근 방식을 촉진합니다.
- Google Cloud 대시보드: 기본 제공 결제 대시보드를 사용하여 Google Cloud 비용 분석에 대한 유용한 정보를 얻고 비용 최적화 기회를 파악할 수 있습니다. Google Cloud 또한 절감을 모니터링하고 비용 최적화를 위한 권장사항을 제공하는 데 도움이 되는 FinOps 허브를 제공합니다. AI 엔진은 FinOps 허브를 지원하여 현재 배포된 모든 리소스에 대한 비용 최적화 기회를 추천합니다. 이러한 권장사항에 대한 액세스를 제어하려면 역할 기반 액세스 제어(RBAC)를 구현하면 됩니다.
- 커스텀 대시보드: 비용 데이터를 BigQuery와 같은 분석 데이터베이스로 내보내 커스텀 대시보드를 만들 수 있습니다. Looker Studio와 같은 시각화 도구를 사용하여 분석 데이터베이스에 연결하여 대화형 보고서를 작성하고 역할 기반 권한을 통해 세분화된 액세스 제어를 사용 설정할 수 있습니다.
- 멀티 클라우드 비용 보고서: 멀티 클라우드 배포의 경우 포괄적인 분석, 예산 설정, 최적화를 위해 모든 클라우드 제공업체의 비용을 통합 볼 수 있어야 합니다. BigQuery와 같은 도구를 사용하여 여러 클라우드 제공업체의 비용 데이터를 중앙 집중화 및 분석하고 Looker Studio를 사용하여 팀별 대화형 보고서를 작성하세요.
리소스 사용량 최적화
Google Cloud Well-Architected Framework의 비용 최적화 요소에 있는 이 원칙은 클라우드 워크로드의 요구사항 및 소비 패턴에 맞게 리소스를 계획하고 프로비저닝하는 데 도움이 되는 권장사항을 제공합니다.
원칙 개요
클라우드 리소스 비용을 최적화하려면 워크로드 리소스 요구사항과 로드 패턴을 철저히 이해해야 합니다. 이러한 이해는 총소유비용 (TCO)을 예측하고 클라우드 도입 여정 전반에서 비용 동인을 식별할 수 있는 잘 정의된 비용 모델의 기초입니다. 클라우드 지출을 사전에 분석하고 예측하여 리소스 프로비저닝, 사용률, 비용 최적화에 대해 정보에 입각한 결정을 내릴 수 있습니다. 이 접근 방식을 사용하면 클라우드 지출을 제어하고, 초과 프로비저닝을 방지하며, 클라우드 리소스가 워크로드 및 환경의 동적 요구사항에 맞게 조정되도록 할 수 있습니다.
권장사항
클라우드 리소스 사용을 효과적으로 최적화하려면 다음 권장사항을 고려하세요.
환경별 리소스 선택
배포 환경마다 가용성, 안정성, 확장성에 대한 요구사항이 다릅니다. 예를 들어 개발자는 짧은 기간 동안 애플리케이션을 신속하게 배포하고 실행할 수 있는 환경을 선호하지만 고가용성은 필요하지 않을 수 있습니다. 반면에 프로덕션 환경에서는 일반적으로 고가용성이 필요합니다. 리소스 활용도를 극대화하려면 비즈니스 니즈에 따라 환경별 요구사항을 정의하세요. 다음 표에는 환경별 요구사항의 예가 나와 있습니다.
환경 | 요구사항 |
프로덕션 |
|
개발 및 테스트 |
|
기타 환경 (예: 스테이징 및 QA) |
|
워크로드별 리소스 선택
클라우드 워크로드마다 가용성, 확장성, 보안, 성능에 대한 요구사항이 다를 수 있습니다. 비용을 최적화하려면 각 워크로드의 특정 요구사항에 맞게 리소스 선택을 조정해야 합니다. 예를 들어 스테이트리스(Stateless) 애플리케이션은 스테이트풀(Stateful) 백엔드와 동일한 수준의 가용성 또는 안정성이 필요하지 않을 수 있습니다. 다음 표에는 워크로드별 요구사항의 추가 예시가 나와 있습니다.
워크로드 유형 | 워크로드 요구사항 | 리소스 옵션 |
미션 크리티컬 | 지속적인 가용성, 강력한 보안, 고성능 | 프리미엄 리소스 및 관리형 서비스(예: Spanner)로 데이터의 고가용성과 전역 일관성을 지원합니다. |
중요하지 않음 | 비용 효율적인 자동 확장 인프라 | 기본 기능과 임시 리소스(예: 스팟 VM)가 있는 리소스 |
이벤트 기반 | 용량 및 성능에 대한 현재 수요를 기반으로 한 동적 확장 | Cloud Run 및 Cloud Run 함수와 같은 서버리스 서비스 |
실험용 워크로드 | 신속한 개발, 반복, 테스트, 혁신을 위한 저렴한 비용의 유연한 환경 | 기본 기능이 있는 리소스, 스팟 VM과 같은 임시 리소스, 지출 한도가 정의된 샌드박스 환경 |
클라우드의 이점은 특정 워크로드에 가장 적합한 컴퓨팅 성능을 활용할 수 있다는 것입니다. 일부 워크로드는 프로세서 명령 집합을 활용하도록 개발되지만 다른 워크로드는 이러한 방식으로 설계되지 않을 수 있습니다. 그에 따라 워크로드를 벤치마킹하고 프로파일링합니다. 워크로드를 분류하고 워크로드별로 리소스를 선택합니다 (예: Compute Engine VM에 적절한 머신 제품군 선택). 이렇게 하면 비용을 최적화하고, 혁신을 실현하며, 워크로드에 필요한 가용성 및 성능 수준을 유지하는 데 도움이 됩니다.
다음은 이 권장사항을 구현하는 방법을 보여주는 예입니다.
- 전 세계에 분산된 사용자에게 서비스를 제공하는 미션 크리티컬 워크로드의 경우 Spanner 사용을 고려하세요. Spanner는 모든 리전에서 데이터의 안정성과 일관성을 보장하므로 복잡한 데이터베이스 배포가 필요하지 않습니다.
- 부하 수준이 변동하는 워크로드의 경우 자동 확장을 사용하여 부하가 낮을 때 비용이 발생하지 않도록 하면서 현재 부하를 처리하기에 충분한 용량을 유지하세요. Compute Engine VM, Google Kubernetes Engine (GKE) 클러스터, Cloud Run을 비롯한 여러Google Cloud 서비스의 자동 확장을 구성할 수 있습니다. 자동 확장을 설정할 때 비용이 지정된 예산 내에서 유지되도록 최대 확장 한도를 구성할 수 있습니다.
비용 요구사항에 따라 리전 선택
클라우드 워크로드의 경우 사용 가능한 Google Cloud리전을 신중하게 평가하고 비용 목표에 맞는 리전을 선택합니다. 비용이 가장 낮은 리전은 최적의 지연 시간을 제공하지 않거나 지속 가능성 요구사항을 충족하지 않을 수 있습니다. 정보에 입각한 결정을 통해 원하는 균형을 달성하기 위해 워크로드를 배포할 위치를 결정할 수 있습니다. Google Cloud 리전 선택 도구를 사용하여 비용, 지속 가능성, 지연 시간, 기타 요인 간의 장단점을 파악할 수 있습니다.
기본 제공되는 비용 최적화 옵션 사용
Google Cloud 제품에는 리소스 사용량을 최적화하고 비용을 제어하는 데 도움이 되는 기본 제공 기능이 있습니다. 다음 표에는 일부 Google Cloud 제품에서 사용할 수 있는 비용 최적화 기능의 예가 나와 있습니다.
제품 | 비용 최적화 기능 |
Compute Engine | |
GKE |
|
Cloud Storage |
|
BigQuery |
|
Google Cloud VMware Engine |
|
리소스 공유 최적화
클라우드 리소스의 활용도를 극대화하기 위해 여러 애플리케이션 또는 서비스를 동일한 인프라에 배포하면서 애플리케이션의 보안 및 기타 요구사항을 충족할 수 있습니다. 예를 들어 개발 및 테스트 환경에서는 동일한 클라우드 인프라를 사용하여 애플리케이션의 모든 구성요소를 테스트할 수 있습니다. 프로덕션 환경의 경우 각 구성요소를 별도의 리소스 집합에 배포하여 이슈 발생 시 영향의 범위를 제한할 수 있습니다.
다음은 이 권장사항을 구현하는 방법을 보여주는 예입니다.
- 여러 비프로덕션 환경에 단일 Cloud SQL 인스턴스를 사용합니다.
- 적절한 액세스 제어와 함께 GKE Enterprise의 Fleet 팀 관리 기능을 사용하여 여러 개발팀이 GKE 클러스터를 공유할 수 있도록 합니다.
- GKE Autopilot을 사용하면 GKE가 기본적으로 구현하는 빈 패킹 및 자동 확장과 같은 비용 최적화 기술을 활용할 수 있습니다.
- AI 및 ML 워크로드의 경우 멀티 인스턴스 GPU, 시간 공유 GPU, NVIDIA MPS와 같은 GPU 공유 전략을 사용하여 GPU 비용을 절감하세요.
참조 아키텍처 개발 및 유지관리
다양한 배포 환경 및 워크로드 유형의 요구사항을 충족하도록 맞춤설정된 참조 아키텍처의 저장소를 만들고 유지합니다. 개별 프로젝트의 설계 및 구현 프로세스를 간소화하기 위해 Cloud Center of Excellence (CCoE)와 같은 팀이 중앙에서 청사진을 관리할 수 있습니다. 프로젝트팀은 아키텍처 일관성과 권장사항 채택을 보장하기 위해 명확하게 정의된 기준에 따라 적절한 청사진을 선택할 수 있습니다. 프로젝트 고유의 요구사항이 있는 경우 프로젝트팀과 중앙 아키텍처팀이 협력하여 새로운 참조 아키텍처를 설계해야 합니다. 조직 전체에서 참조 아키텍처를 공유하여 지식 공유를 촉진하고 사용 가능한 솔루션의 저장소를 확장할 수 있습니다. 이러한 접근 방식은 일관성이 보장되고, 개발 속도를 높이며, 의사 결정을 간소화하고, 리소스 사용률을 효율적으로 높일 수 있습니다.
다양한 사용 사례 및 기술과 관련하여 Google에서 제공하는 참조 아키텍처를 검토합니다. 이러한 참조 아키텍처에는 리소스 선택, 크기 조정, 구성, 배포에 대한 권장사항이 통합되어 있습니다. 이러한 참조 아키텍처를 사용하면 개발 프로세스를 가속화하고 처음부터 비용을 절감할 수 있습니다.
조직 정책을 사용하여 비용 규율 적용
조직 정책을 사용하여 팀원이 사용할 수 있는 Google Cloud 사용 가능한 위치와 제품을 제한하는 것이 좋습니다. 이러한 정책을 통해 팀이 비용 효율적인 솔루션을 준수하고 비용 최적화 목표에 부합하는 위치에 리소스를 프로비저닝할 수 있습니다.
현실적인 예산 예측 및 재무 경계 설정
각 프로젝트, 워크로드, 배포 환경에 대한 세부 예산을 개발합니다. 예산에 인프라 비용, 소프트웨어 라이선스, 인력, 예상 성장률을 포함한 클라우드 운영의 모든 측면을 포괄해야 합니다. 초과 지출을 방지하고 재무 목표와 일치시키려면 프로젝트, 서비스 또는 특정 리소스에 대한 지출 한도 또는 기준을 명확하게 설정합니다. 클라우드 지출을 정기적으로 모니터링하여 한도 초과 사전 할당량 알림을 사용하여 잠재적인 비용 초과를 조기에 식별하고 적시에 수정 조치를 취할 수 있습니다.
예산 설정 외에도 할당량 및 한도를 사용하여 비용 규율을 적용하고 예기치 않은 지출 급증을 방지할 수 있습니다. 프로젝트, 서비스, 특정 리소스 유형 등 다양한 수준에서 할당량을 설정하여 리소스 소비를 세부적으로 제어할 수 있습니다.
다음은 이 권장사항을 구현하는 방법을 보여주는 예입니다.
- 프로젝트 수준 할당량: 프로젝트 수준에서 지출 한도 또는 리소스 할당량을 설정하여 프로젝트 내의 모든 서비스에서 전반적인 재무 경계를 설정하고 리소스 소비를 제어합니다.
- 서비스별 할당량: Compute Engine 또는 BigQuery와 같은 특정 Google Cloud서비스의 할당량을 구성하여 프로비저닝 가능한 인스턴스, CPU 또는 스토리지 용량의 수를 제한합니다.
- 리소스 유형별 할당량: Compute Engine VM, Cloud Storage 버킷, Cloud Run 인스턴스 또는 GKE 노드와 같은 개별 리소스 유형에 할당량을 적용하여 사용량을 제한하고 예기치 않은 비용 초과를 방지합니다.
- 할당량 알림: 프로젝트 수준에서 할당량 사용량이 최댓값의 백분율에 도달하면 알림을 받습니다.
예산 및 모니터링과 함께 할당량 및 한도를 사용하면 비용을 사전에 다층적으로 관리할 수 있습니다. 이 접근 방식을 사용하면 클라우드 지출을 정의된 범위 내에서 유지하고 비즈니스 목표에 맞게 조정할 수 있습니다. 이러한 비용 관리는 영구적이거나 엄격하지 않습니다 비용 관리를 현재 업계 표준에 맞춰 유지하고 변화하는 비즈니스 니즈를 반영하려면 정기적으로 제어를 검토하고 새로운 기술과 권장사항을 포함하도록 조정해야 합니다.
지속적인 최적화
Google Cloud Well-Architected Framework의 비용 최적화 요소에 있는 이 원칙은 끊임없이 변화하고 진화하는 비즈니스 목표를 기반으로 클라우드 배포 비용을 최적화하는 데 도움이 되는 권장사항을 제공합니다.
비즈니스가 성장하고 발전함에 따라 클라우드 워크로드는 리소스 요구사항 및 사용 패턴의 변화에 맞춰 조정해야 합니다. 클라우드 지출에서 최대한의 가치를 끌어내려면 비즈니스 목표를 계속 지원하면서 비용 효율성을 유지해야 합니다. 이를 위해서는 지속적인 개선과 최적화에 중점을 둔 사전 예방적이고 적응형 접근 방식이 필요합니다.
원칙 개요
지속적으로 비용을 최적화하려면 클라우드 환경을 사전에 모니터링 및 분석하고 현재 요구사항을 충족하도록 적절하게 조정해야 합니다. 최종 사용자 환경에 직접 영향을 미치고 비즈니스 목표에 부합하며 지속적인 개선을 위한 유용한 정보를 제공하는 핵심성과지표 (KPI)에 모니터링 노력을 집중하세요. 이 접근 방식을 사용하면 비효율성을 식별 및 해결하고, 변화하는 니즈에 적응하고, 클라우드 지출을 전략적 비즈니스 목표에 지속적으로 맞출 수 있습니다. 포괄적인 관측 가능성과 비용 효율성의 균형을 맞추고 리소스 사용량 모니터링의 비용과 이점을 이해하고 적절한 프로세스 개선 및 최적화 전략을 사용할 수 있습니다.
권장사항
환경을 효과적으로 모니터링하고 Google Cloud 지속적으로 비용을 최적화하려면 다음 권장사항을 고려하세요.
비즈니스와 관련성 높은 측정항목에 집중
효과적인 모니터링은 비즈니스와 고객에게 가장 중요한 측정항목을 식별하는 것에서 시작됩니다. 이러한 측정항목에는 다음이 포함됩니다.
- 사용자 환경 측정항목: 지연 시간, 오류율, 처리량, 고객 만족도 측정항목은 애플리케이션 사용 시 최종 사용자의 경험을 이해하는 데 유용합니다.
- 비즈니스 성과 측정항목: 수익, 고객 성장, 참여도를 리소스 사용량과 연결하여 비용 최적화 기회를 파악할 수 있습니다.
- DevOps Research &Assessment (DORA) 측정항목: 배포 빈도, 변경 리드 타임, 변경 실패율, 복원 시간과 같은 측정항목은 소프트웨어 제공 프로세스의 효율성과 안정성에 대한 유용한 정보를 제공합니다. 이러한 측정항목을 개선하면 생산성을 높이고 다운타임을 줄이며 비용을 최적화할 수 있습니다.
- 사이트 안정성 엔지니어링 (SRE) 측정항목: 오류 예산을 통해 팀은 허용 가능한 서비스 중단 수준을 정량화하고 관리할 수 있습니다. 오류 예산은 안정성에 대한 명확한 기대치를 설정함으로써 팀이 안전 한계를 인지하고 보다 자신 있게 변경사항을 혁신하고 배포할 수 있도록 지원합니다. 이러한 사전 예방적 접근 방식은 혁신과 안정성 사이의 균형을 촉진하여 주요 서비스 중단이나 장기 다운타임과 관련된 과도한 운영 비용을 방지하는 데 도움을 줍니다.
리소스 최적화를 위한 관측 가능성 사용
다음은 관측 가능성을 사용하여 클라우드 배포에서 리소스 병목 현상과 사용률이 낮은 리소스를 식별하기 위한 권장사항입니다.
- 리소스 사용률 모니터링: 리소스 사용률 측정항목을 사용하여 활용도가 낮은Google Cloud 리소스를 식별합니다. 예를 들어 CPU 및 메모리 사용률과 같은 측정항목을 사용하여 유휴 VM 리소스를 식별합니다. Google Kubernetes Engine (GKE)의 경우 자세한 비용 분석 및 비용 관련 최적화 측정항목을 확인할 수 있습니다. Google Cloud VMware Engine의 경우 리소스 사용률을 검토하여 CUD, 스토리지 소비, ESXi 적정 크기 조정을 최적화하세요.
- 클라우드 추천 사용: Active Assist는 클라우드 운영을 최적화하는 데 도움이 되는 지능형 도구 포트폴리오입니다. 이러한 도구는 비용 절감, 성능 향상, 보안 강화는 물론 지속 가능성에 중점을 둔 의사 결정을 내릴 수 있도록 실행 가능한 권장 사항을 제공합니다. 예를 들어 VM 적정 크기 조정 인사이트는 리소스 할당을 최적화하고 불필요한 지출을 막는 데 도움이 될 수 있습니다.
- 리소스 사용률과 성능의 상관관계 파악: 리소스 사용률과 애플리케이션 성능 간의 관계를 분석하여 사용자 환경에 영향을 미치지 않으면서 비용이 더 낮은 리소스로 다운그레이드할 수 있는지 여부를 결정합니다.
문제 해결 요구사항과 비용의 균형 맞추기
자세한 관측 가능성 데이터는 문제를 진단하고 해결하는 데 도움이 될 수 있습니다. 하지만 관측 가능성 데이터를 과도하게 저장하거나 외부 모니터링 도구로 불필요한 데이터를 내보내면 불필요한 비용이 발생할 수 있습니다. 효율적인 문제 해결을 위해 다음 권장사항을 고려하세요.
- 문제 해결을 위해 충분한 데이터 수집: 문제가 발생했을 때 모니터링 솔루션이 문제를 효율적으로 진단하고 해결하기에 충분한 데이터를 캡처하는지 확인합니다. 이 데이터에는 다양한 세부 수준의 로그, trace, 측정항목이 포함될 수 있습니다.
- 샘플링 및 집계 사용: 샘플링 및 집계 기법을 사용하여 자세한 데이터에 대한 요구와 비용 고려사항의 균형을 맞추세요. 이 방법을 사용하면 과도한 스토리지 비용 발생 없이 대표 데이터를 수집할 수 있습니다.
- 모니터링 도구 및 서비스의 가격 책정 모델 이해: 다양한 모니터링 솔루션을 평가하고 프로젝트의 특정 요구사항, 예산, 사용 패턴에 맞는 옵션을 선택합니다. 선택할 때는 데이터 용량, 보관 요구사항, 필수 기능 등의 요소를 고려하세요.
- 정기적으로 모니터링 구성 검토: 불필요한 측정항목이나 로그를 삭제하여 과도한 데이터를 수집하지 않도록 합니다.
역할에 맞게 데이터 수집을 조정하고 역할별 보관 정책 설정
다양한 역할의 특정한 데이터 요구사항을 고려하세요. 예를 들어 개발자에게는 주로 trace와 애플리케이션 수준 로그에 대한 액세스가 필요할 수 있는 반면, IT 관리자는 시스템 로그와 인프라 측정항목에 집중할 수 있습니다. 데이터 수집을 맞춤설정하면 불필요한 스토리지 비용을 줄이고 관련 없는 정보로 사용자가 부담을 느끼는 것을 방지할 수 있습니다.
또한 각 역할의 요구사항과 규제 요구사항에 따라 보관 정책을 정의할 수 있습니다. 예를 들어 개발자는 짧은 기간 동안 상세 로그에 액세스해야 하는 반면 재무 분석가는 장기 데이터가 필요할 수 있습니다.
규제 및 규정 준수 요구사항 고려
특정 산업에서는 규제 요구사항에 따라 데이터 보관이 의무화됩니다. 법적, 재정적 위험을 방지하려면 모니터링 및 데이터 보관 관행이 관련 규정을 준수하는 데 도움이 되는지 확인해야 합니다. 이와 동시에 비용 효율성을 유지해야 합니다 다음 권장사항을 고려하세요.
- 해당 업종 또는 리전의 구체적인 데이터 보관 요구사항을 결정하고 모니터링 전략이 이러한 요구사항의 요구사항을 충족하는지 확인합니다.
- 감사 및 규정 준수 요구사항을 충족하는 동시에 스토리지 비용을 최소화하기 위해 적절한 데이터 보관처리 및 검색 메커니즘을 구현합니다.
스마트 알림 구현
알림은 적시에 문제를 감지하고 해결하는 데 도움이 됩니다. 그러나 지속적으로 정보를 제공하는 접근 방식과 사용자에게 부담을 주는 알림 방법 사이에서 균형이 필요합니다. 지능형 알림 시스템을 설계함으로써 비즈니스에 큰 영향을 미치는 중요한 문제의 우선순위를 정할 수 있습니다. 다음 권장사항을 고려하세요.
- 고객에게 영향을 미치는 문제 우선순위 지정: 웹사이트 중단, 느린 응답 시간, 거래 실패와 같이 고객 환경에 직접적으로 영향을 미치는 문제에 신속하게 트리거되는 알림을 설계합니다.
- 일시적인 문제 조정: 고객에게 영향을 미치지 않는 일시적인 문제나 자가 복구 시스템 문제에 대한 불필요한 알림을 방지하려면 적절한 기준점과 지연 메커니즘을 사용합니다.
- 알림 심각도 맞춤설정: 중요한 알림과 중요하지 않은 알림을 구별하여 가장 긴급한 문제에 즉시 대응할 수 있도록 합니다.
- 현명한 알림 채널 사용: 알림의 심각도와 긴급도에 따라 알림 알림 (이메일, SMS, 페이징)에 적합한 채널을 선택합니다.