비즈니스가 성장하고 발전함에 따라 클라우드 워크로드는 리소스 요구사항과 사용 패턴의 변화에 맞게 조정되어야 합니다. 클라우드 지출에서 최대한의 가치를 얻으려면 비용 효율성을 유지하면서 비즈니스 목표를 계속 지원해야 합니다. 이를 위해서는 지속적인 개선 및 최적화에 중점을 둔 선제적인 적응형 접근 방식이 필요합니다.
원칙 개요
비용을 지속적으로 최적화하려면 클라우드 환경을 사전에 모니터링하고 분석하고 현재 요구사항을 충족하도록 적절하게 조정해야 합니다.
최종 사용자 경험에 직접적인 영향을 미치고, 비즈니스 목표에 부합하며, 지속적인 개선을 위한 유용한 정보를 제공하는 핵심성과지표 (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, 무선 호출)을 선택합니다.
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["이해하기 어려움","hardToUnderstand","thumb-down"],["잘못된 정보 또는 샘플 코드","incorrectInformationOrSampleCode","thumb-down"],["필요한 정보/샘플이 없음","missingTheInformationSamplesINeed","thumb-down"],["번역 문제","translationIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 2024-09-25(UTC)"],[[["\u003cp\u003eContinuously monitoring and analyzing your cloud environment is essential for optimizing costs and adapting to changing business needs, which includes focusing on key performance indicators that impact end-users and align with business goals.\u003c/p\u003e\n"],["\u003cp\u003eObservability tools are critical for identifying underutilized resources and bottlenecks, utilizing resources like Active Assist to receive actionable recommendations for reducing costs, improving performance, and increasing sustainability.\u003c/p\u003e\n"],["\u003cp\u003eBalancing detailed data collection for troubleshooting with cost considerations requires using sampling and aggregation techniques, and regularly reviewing monitoring configurations to avoid excessive data storage.\u003c/p\u003e\n"],["\u003cp\u003eTailoring data collection to specific roles, such as developers and IT administrators, and defining role-specific data retention policies can reduce unnecessary storage costs and improve data relevance.\u003c/p\u003e\n"],["\u003cp\u003eImplementing smart alerting that prioritizes issues affecting customers, tunes for temporary problems, and uses notification channels effectively helps to ensure timely issue resolution without overwhelming teams.\u003c/p\u003e\n"]]],[],null,["# Optimize continuously\n\nThis principle in the cost optimization pillar of the [Google Cloud Well-Architected Framework](/architecture/framework)\nprovides recommendations to help you optimize the cost of your cloud deployments\nbased on constantly changing and evolving business goals.\n\nAs your business grows and evolves, your cloud workloads need to adapt to changes\nin resource requirements and usage patterns. To derive maximum value from your\ncloud spending, you must maintain cost-efficiency while continuing to support\nbusiness objectives. This requires a proactive and adaptive approach that focuses\non continuous improvement and optimization.\n\nPrinciple overview\n------------------\n\nTo optimize cost continuously, you must proactively monitor and analyze your\ncloud environment and make suitable adjustments to meet current requirements.\nFocus your monitoring efforts on key performance indicators (KPIs) that directly\naffect your end users' experience, align with your business goals, and provide\ninsights for continuous improvement. This approach lets you identify and address\ninefficiencies, adapt to changing needs, and continuously align cloud spending\nwith strategic business goals. To balance comprehensive observability with cost\neffectiveness, understand the costs and benefits of monitoring resource usage\nand use appropriate process-improvement and optimization strategies.\n\nRecommendations\n---------------\n\nTo effectively monitor your Google Cloud environment and optimize cost\ncontinuously, consider the following recommendations.\n\n### Focus on business-relevant metrics\n\nEffective monitoring starts with identifying the metrics that are most important\nfor your business and customers. These metrics include the following:\n\n- **User experience metrics**: Latency, error rates, throughput, and customer satisfaction metrics are useful for understanding your end users' experience when using your applications.\n- **Business outcome metrics**: Revenue, customer growth, and engagement can be correlated with resource usage to identify opportunities for cost optimization.\n- **[DevOps Research \\& Assessment (DORA)](https://dora.dev) metrics**: Metrics like deployment frequency, lead time for changes, change failure rate, and time to restore provide insights into the efficiency and reliability of your software delivery process. By improving these metrics, you can increase productivity, reduce downtime, and optimize cost.\n- **[Site Reliability Engineering (SRE)](https://sre.google) metrics**: Error budgets help teams to quantify and manage the acceptable level of service disruption. By establishing clear expectations for reliability, error budgets empower teams to innovate and deploy changes more confidently, knowing their safety margin. This proactive approach promotes a balance between innovation and stability, helping prevent excessive operational costs associated with major outages or prolonged downtime.\n\n### Use observability for resource optimization\n\nThe following are recommendations to use observability to identify resource\nbottlenecks and underutilized resources in your cloud deployments:\n\n- **Monitor resource utilization** : Use resource utilization metrics to identify Google Cloud resources that are underutilized. For example, use metrics like CPU and memory utilization to identify [idle VM resources](/monitoring/agent/process-metrics#view_performance_metrics_for_top_resource-consuming_vms). For Google Kubernetes Engine (GKE), you can view a detailed [breakdown of costs](/kubernetes-engine/docs/how-to/cost-allocations) and [cost-related optimization metrics](/kubernetes-engine/docs/how-to/cost-optimization-metrics). For Google Cloud VMware Engine, [review resource utilization](https://cloud.google.com/blog/topics/cost-management/cost-optimization-of-google-cloud-vmware-engine-deployments) to optimize CUDs, storage consumption, and ESXi right-sizing.\n- **Use cloud recommendations** : [Active Assist](/solutions/active-assist) is a portfolio of intelligent tools that help you optimize your cloud operations. These tools provide actionable recommendations to reduce costs, increase performance, improve security and even make sustainability-focused decisions. For example, [VM rightsizing insights](/compute/docs/instance-groups/apply-machine-type-recommendations-managed-instance-groups) can help to optimize resource allocation and avoid unnecessary spending.\n- **Correlate resource utilization with performance**: Analyze the relationship between resource utilization and application performance to determine whether you can downgrade to less expensive resources without affecting the user experience.\n\n### Balance troubleshooting needs with cost\n\nDetailed observability data can help with diagnosing and troubleshooting issues.\nHowever, storing excessive amounts of observability data or exporting unnecessary\ndata to external monitoring tools can lead to unnecessary costs. For efficient\ntroubleshooting, consider the following recommendations:\n\n- **Collect sufficient data for troubleshooting**: Ensure that your monitoring solution captures enough data to efficiently diagnose and resolve issues when they arise. This data might include logs, traces, and metrics at various levels of granularity.\n- **Use sampling and aggregation**: Balance the need for detailed data with cost considerations by using sampling and aggregation techniques. This approach lets you collect representative data without incurring excessive storage costs.\n- **Understand the pricing models of your monitoring tools and services**: Evaluate different monitoring solutions and choose options that align with your project's specific needs, budget, and usage patterns. Consider factors like data volume, retention requirements, and the required features when making your selection.\n- **Regularly review your monitoring configuration**: Avoid collecting excessive data by removing unnecessary metrics or logs.\n\n### Tailor data collection to roles and set role-specific retention policies\n\nConsider the specific data needs of different roles. For example, developers\nmight primarily need access to traces and application-level logs, whereas IT\nadministrators might focus on system logs and infrastructure metrics. By tailoring\ndata collection, you can reduce unnecessary storage costs and avoid overwhelming\nusers with irrelevant information.\n\nAdditionally, you can define retention policies based on the needs of each role\nand any regulatory requirements. For example, developers might need access to\ndetailed logs for a shorter period, while financial analysts might require\nlonger-term data.\n\n### Consider regulatory and compliance requirements\n\nIn certain industries, regulatory requirements mandate data retention. To avoid\nlegal and financial risks, you need to ensure that your monitoring and data\nretention practices help you adhere to relevant regulations. At the same time,\nyou need to maintain cost efficiency. Consider the following recommendations:\n\n- Determine the specific data retention requirements for your industry or region, and ensure that your monitoring strategy meets the requirements of those requirements.\n- Implement appropriate data archival and retrieval mechanisms to meet audit and compliance needs while minimizing storage costs.\n\n### Implement smart alerting\n\nAlerting helps to detect and resolve issues in a timely manner. However, a\nbalance is necessary between an approach that keeps you informed, and one that\noverwhelms you with notifications. By designing intelligent alerting systems,\nyou can prioritize critical issues that have higher business impact. Consider\nthe following recommendations:\n\n- **Prioritize issues that affect customers**: Design alerts that trigger rapidly for issues that directly affect the customer experience, like website outages, slow response times, or transaction failures.\n- **Tune for temporary problems**: Use appropriate thresholds and delay mechanisms to avoid unnecessary alerts for temporary problems or self-healing system issues that don't affect customers.\n- **Customize alert severity**: Ensure that the most urgent issues receive immediate attention by differentiating between critical and noncritical alerts.\n- **Use notification channels wisely**: Choose appropriate channels for alert notifications (email, SMS, or paging) based on the severity and urgency of the alerts."]]