Google Cloud Well-Architected Framework의 비용 최적화 요소에서는 Google Cloud에서 워크로드 비용을 최적화하기 위한 원칙과 권장사항을 설명합니다.
대상 사용자는 다음과 같습니다.
- 전략적 비용 관리를 담당하는 CTO, CIO, CFO, 기타 임원
- 조직의 클라우드 여정의 모든 단계에서 비용에 영향을 미치는 결정을 내리는 설계자, 개발자, 관리자, 운영자
온프레미스 및 클라우드 워크로드의 비용 모델은 크게 다릅니다. 온프레미스 IT 비용에는 자본적 지출 (CapEx)과 운영적 지출 (OpEx)이 포함됩니다. 온프레미스 하드웨어 및 소프트웨어 애셋을 획득하고 애셋의 운영 기간 동안 획득 비용이 감가상각됩니다. 클라우드에서는 대부분의 클라우드 리소스에 대한 비용이 OpEx로 간주되며, 클라우드 리소스가 사용될 때 비용이 발생합니다. 이러한 근본적인 차이는 다음과 같은 비용 최적화의 핵심 원칙의 중요성을 강조합니다.
AI 및 ML 워크로드와 관련된 비용 최적화 원칙 및 권장사항은 설계 품질 프레임워크의 AI 및 ML 관점: 비용 최적화를 참고하세요.
핵심 원칙
Well-Architected Framework의 비용 최적화 요소에 있는 권장사항은 다음과 같은 핵심 원칙에 매핑됩니다.
- 클라우드 지출을 비즈니스 가치에 맞게 조정: IT 지출을 비즈니스 목표에 맞게 조정하여 클라우드 리소스가 측정 가능한 비즈니스 가치를 제공하도록 합니다.
- 비용 인식 문화 조성: 조직 전반의 직원이 자신의 결정과 활동이 미치는 비용 영향을 고려하도록 하고, 충분한 정보를 바탕으로 결정을 내리는 데 필요한 비용 정보에 액세스할 수 있도록 합니다.
- 리소스 사용량 최적화: 필요한 리소스만 프로비저닝하고 사용한 리소스에 대해서만 비용을 지불합니다.
- 지속적으로 최적화: 클라우드 리소스 사용량과 비용을 지속적으로 모니터링하고 필요에 따라 사전에 조정하여 지출을 최적화합니다. 이 접근 방식에서는 잠재적인 비용 비효율성이 심각한 문제가 되기 전에 이를 식별하고 해결합니다.
이러한 원칙은 Cloud FinOps의 핵심 원칙과 밀접하게 연관되어 있습니다. FinOps는 조직의 규모나 클라우드 성숙도와 관계없이 모든 조직에 적용됩니다. 이러한 원칙을 채택하고 관련 권장사항을 따르면 클라우드 여정 전반에서 비용을 관리하고 최적화할 수 있습니다.
참여자
저자: 니콜라스 핀토우 | 고객 엔지니어, 애플리케이션 현대화 전문가
기타 참여자:
- 아누라다 바즈파이 | 솔루션 설계자
- 다니엘 리 | 클라우드 보안 설계자
- 에릭 램 | Google Cloud FinOps 부문 책임자
- 페르난도 루보 | 클라우드 솔루션 설계자
- 필리페 그라시오, 박사 | 고객 엔지니어
- 게리 하름슨 | 고객 엔지니어
- 호세 안드라데 | 엔터프라이즈 인프라 고객 엔지니어
- Kent Hua | 솔루션 관리자
- 저자: 쿠마르 다나고팔 | 크로스 프로덕트 솔루션 개발자
- 마르완 알 샤위 | 파트너 고객 엔지니어
- 라디카 카나캄 | Cloud GTM 선임 프로그램 관리자
- 스티브 맥기 | 안정성 옹호자
- Sergei Lilichenko | 솔루션 설계자
- 웨이드 홀름스 | 글로벌 솔루션 이사
- 자크 세일 | 네트워킹 전문가
클라우드 지출을 비즈니스 가치에 맞추기
Google Cloud Well-Architected Framework의 비용 최적화 요소 원칙은 리소스 사용을 조직의 비즈니스 목표와 Google Cloud 조화시키는 데 도움이 되는 권장사항을 제공합니다.
원칙 개요
클라우드 비용을 효과적으로 관리하려면 클라우드 리소스가 제공하는 비즈니스 가치를 극대화하고 총소유비용 (TCO)을 최소화해야 합니다. 클라우드 워크로드의 리소스 옵션을 평가할 때는 리소스 프로비저닝 및 사용 비용뿐만 아니라 리소스 관리 비용도 고려해야 합니다. 예를 들어 Compute Engine의 가상 머신 (VM)은 애플리케이션 호스팅에 비용 효율적인 옵션일 수 있습니다. 하지만 VM을 유지 관리, 패치, 확장하는 데 드는 오버헤드를 고려하면 TCO가 증가할 수 있습니다. 반면 Cloud Run과 같은 서버리스 서비스는 더 큰 비즈니스 가치를 제공할 수 있습니다. 운영 오버헤드가 줄어들면 팀이 핵심 활동에 집중하고 민첩성을 높일 수 있습니다.
클라우드 리소스가 최적의 가치를 제공하도록 하려면 다음 요소를 평가하세요.
- 프로비저닝 및 사용 비용: 리소스를 구매, 프로비저닝 또는 소비할 때 발생하는 비용입니다.
- 관리 비용: 패치, 모니터링, 확장과 같은 작업을 포함하여 리소스를 운영하고 유지하는 데 드는 반복적인 비용입니다.
- 간접 비용: 다운타임, 데이터 손실, 보안 침해와 같은 문제를 관리하는 데 발생할 수 있는 비용입니다.
- 비즈니스 영향: 수익 증대, 고객 만족도 향상, 출시 기간 단축과 같은 리소스의 잠재적 이점입니다.
클라우드 지출을 비즈니스 가치에 맞추면 다음과 같은 이점이 있습니다.
- 가치 중심의 결정: 팀은 비즈니스 가치를 가장 많이 제공하는 솔루션에 우선순위를 두고 단기 및 장기 비용 영향을 모두 고려하는 것이 좋습니다.
- 정보에 입각한 리소스 선택: 팀에 다양한 배포 옵션의 비즈니스 가치와 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 결제 대시보드), 서드 파티 솔루션 또는 비용 기여 분석 솔루션과 같은 오픈소스 솔루션일 수 있습니다.
- 비용 할당 시스템 구현: 전체 클라우드 예산의 일부를 각 팀 또는 프로젝트에 할당합니다. 이러한 할당을 통해 팀은 클라우드 지출에 대한 소유 의식을 갖게 되고 할당된 예산 내에서 비용 효율적인 결정을 내리도록 유도됩니다.
- 투명성 장려: 팀이 설계 및 의사결정 프로세스 중에 비용 영향을 논의하도록 권장합니다. 비용 최적화와 관련된 아이디어와 우려사항을 공유할 수 있는 안전하고 지원적인 환경을 조성하세요. 일부 조직에서는 리더보드나 포상 프로그램과 같은 긍정적인 강화 메커니즘을 사용합니다. 조직에서 비즈니스 문제로 인해 원시 비용 데이터 공유에 제한이 있는 경우 비용 정보 및 통계를 공유하는 다른 방법을 모색하세요. 예를 들어 집계된 측정항목 (예: 환경 또는 기능의 총 비용) 또는 상대적 측정항목 (예: 거래 또는 사용자당 평균 비용)을 공유해 보세요.
클라우드 리소스 청구 방식 이해하기
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) |
|
워크로드별 리소스 선택
각 클라우드 워크로드의 가용성, 확장성, 보안, 성능 요구사항이 다를 수 있습니다. 비용을 최적화하려면 리소스 선택을 각 워크로드의 구체적인 요구사항에 맞춰야 합니다. 예를 들어 스테이트리스 애플리케이션에는 스테이트풀 백엔드와 동일한 수준의 가용성 또는 안정성이 필요하지 않을 수 있습니다. 다음 표에는 워크로드별 요구사항의 예가 더 나와 있습니다.
워크로드 유형 | 워크로드 요구사항 | 리소스 옵션 |
미션 크리티컬 | 지속적인 가용성, 강력한 보안, 높은 성능 | 데이터의 고가용성과 전 세계 일관성을 위한 프리미엄 리소스 및 관리 서비스(예: Spanner) |
중요하지 않음 | 비용 효율적인 자동 확장 인프라 | 기본 기능이 있는 리소스와 Spot 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, 무선 호출)을 선택합니다.