Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
Last reviewed 2024-09-25 UTC
Esse princípio no pilar de otimização de custos do Google Cloud Framework com boa arquitetura
oferece recomendações para ajudar você a otimizar o custo das implantações na nuvem
com base em metas de negócios em constante mudança e evolução.
À medida que sua empresa cresce e evolui, as cargas de trabalho em nuvem precisam se adaptar às mudanças
nos requisitos de recursos e nos padrões de uso. Para extrair o máximo valor dos seus
gastos com a nuvem, você precisa manter a eficiência de custos e continuar apoiando
os objetivos de negócios. Isso exige uma abordagem proativa e adaptativa que se concentre
na melhoria e otimização contínuas.
Visão geral do princípio
Para otimizar os custos continuamente, é necessário monitorar e analisar proativamente seu
ambiente de nuvem e fazer ajustes adequados para atender aos requisitos atuais.
Concentre seus esforços de monitoramento em indicadores principais de desempenho (KPIs) que afetam diretamente
a experiência dos usuários finais, alinhe-os às suas metas de negócios e forneça
insights para melhoria contínua. Essa abordagem permite identificar e resolver
ineficiências, se adaptar às necessidades em mudança e alinhar continuamente os gastos com a nuvem
às metas de negócios estratégicas. Para equilibrar a observabilidade abrangente com a eficiência
de custos, entenda os custos e benefícios do monitoramento do uso de recursos
e use estratégias adequadas de melhoria de processo e otimização.
Recomendações
Para monitorar o ambiente Google Cloud de maneira eficaz e otimizar os custos
continuamente, considere as seguintes recomendações.
Foco em métricas relevantes para os negócios
O monitoramento eficaz começa com a identificação das métricas mais importantes
para sua empresa e seus clientes. Essas métricas incluem:
Métricas de experiência do usuário: as métricas de latência, taxas de erro, throughput e satisfação
do cliente são úteis para entender a experiência dos usuários finais
ao usar seus aplicativos.
Métricas de resultado de negócios: a receita, o crescimento de clientes e o engajamento podem
ser correlacionados com o uso de recursos para identificar oportunidades de otimização
de custos.
Métricas do DevOps Research and Assessment (DORA): métricas
como frequência de implantação, tempo de lead para alterações, taxa de falha nas alterações e
tempo de restauração fornecem insights sobre a eficiência e a confiabilidade do
processo de entrega de software. Ao melhorar essas métricas, você pode aumentar
a produtividade, reduzir o tempo de inatividade e otimizar custos.
Métricas de engenharia de confiabilidade do site (SRE): os orçamentos
de erros ajudam as equipes a quantificar e gerenciar o nível aceitável de interrupção
do serviço. Ao estabelecer expectativas claras de confiabilidade, os orçamentos de erro
permitem que as equipes inovem e implantem mudanças com mais confiança, sabendo a
margem de segurança. Essa abordagem proativa promove um equilíbrio entre inovação
e estabilidade, ajudando a evitar custos operacionais excessivos associados a
falhas importantes ou inatividade prolongada.
Usar a observabilidade para otimizar recursos
Confira a seguir recomendações para usar a observabilidade e identificar gargalos
de recursos e recursos subutilizados nas implantações na nuvem:
Monitorar a utilização de recursos: use as métricas de utilização de recursos para identificar
Google Cloud recursos subutilizados. Por exemplo, use métricas
como a utilização da CPU e da memória para identificar recursos de VM inativos.
No Google Kubernetes Engine (GKE), você pode conferir um detalhe dos custos e métricas de otimização relacionadas ao custo.
No Google Cloud VMware Engine, revise a utilização de recursos
para otimizar CUDs, consumo de armazenamento e dimensionamento correto do ESXi.
Usar recomendações de nuvem: o Active Assist
é um portfólio de ferramentas inteligentes que ajudam a otimizar suas operações na
nuvem. Essas ferramentas oferecem recomendações úteis para reduzir custos,
aumentar o desempenho, melhorar a segurança e até mesmo tomar decisões com foco
na sustentabilidade. Por exemplo, insights de dimensionamento de VM
podem ajudar a otimizar a alocação de recursos e evitar gastos desnecessários.
Correlacionar a utilização de recursos com a performance: analise a relação
entre a utilização de recursos e o desempenho do aplicativo para determinar se
é possível fazer downgrade para recursos mais baratos sem afetar a experiência
do usuário.
Equilibre as necessidades de solução de problemas com o custo
Dados de observabilidade detalhados podem ajudar a diagnosticar e resolver problemas.
No entanto, armazenar quantidades excessivas de dados de observabilidade ou exportar dados desnecessários para ferramentas de monitoramento externas pode gerar custos desnecessários. Para uma solução de problemas
eficiente, considere as seguintes recomendações:
Coletar dados suficientes para solução de problemas: verifique se a solução
de monitoramento captura dados suficientes para diagnosticar e resolver problemas de forma eficiente
quando eles surgirem. Esses dados podem incluir registros, rastros e métricas em vários
níveis de granularidade.
Usar amostragem e agregação: equilibre a necessidade de dados detalhados com
considerações de custo usando técnicas de amostragem e agregação. Com essa abordagem,
é possível coletar dados representativos sem incorrer em custos de armazenamento excessivos.
Entenda os modelos de preços das ferramentas e dos serviços de monitoramento: avalie
diferentes soluções de monitoramento e escolha as opções que se alinham às necessidades, ao orçamento e aos padrões de uso específicos do seu projeto. Considere fatores como
volume de dados, requisitos de retenção e os recursos necessários ao
fazer a seleção.
Analise regularmente a configuração de monitoramento: evite coletar dados em excesso
removendo métricas ou registros desnecessários.
Personalize a coleta de dados para funções e defina políticas de retenção específicas
Considere as necessidades de dados específicas de diferentes funções. Por exemplo, os desenvolvedores
podem precisar principalmente de acesso a rastros e registros no nível do aplicativo, enquanto os administradores
de TI podem se concentrar em registros do sistema e métricas de infraestrutura. Ao personalizar
a coleta de dados, você pode reduzir custos de armazenamento desnecessários e evitar sobrecarregar
os usuários com informações irrelevantes.
Além disso, é possível definir políticas de retenção com base nas necessidades de cada função
e em quaisquer requisitos regulatórios. Por exemplo, os desenvolvedores podem precisar de acesso a
registros detalhados por um período mais curto, enquanto analistas financeiros podem precisar
de dados de longo prazo.
Considere os requisitos regulatórios e de compliance
Em alguns setores, os requisitos regulamentares exigem a retenção de dados. Para evitar
riscos legais e financeiros, é necessário garantir que suas práticas de monitoramento e
retenção de dados ajudem você a obedecer às regulamentações relevantes. Ao mesmo tempo,
é preciso manter a eficiência de custos. Considere as seguintes recomendações:
Determine os requisitos específicos de retenção de dados para seu setor ou região
e verifique se a estratégia de monitoramento atende a esses
requisitos.
Implemente mecanismos adequados de arquivamento e recuperação de dados para atender às necessidades de auditoria
e conformidade, minimizando os custos de armazenamento.
Implementar alertas inteligentes
O alerta ajuda a detectar e resolver problemas em tempo hábil. No entanto, é necessário encontrar um equilíbrio entre uma abordagem que mantenha você informado e outra que
o sobrecarregue com notificações. Ao projetar sistemas de alerta inteligentes,
é possível priorizar problemas críticos que têm maior impacto nos negócios. Considere
estas recomendações:
Priorize problemas que afetam os clientes: crie alertas que sejam acionados
rapidamente para problemas que afetam diretamente a experiência do cliente, como falhas
no site, tempos de resposta lentos ou falhas na transação.
Ajustar para problemas temporários: use limites e mecanismos de atraso
adequados para evitar alertas desnecessários para problemas temporários ou problemas de autocorreção
do sistema que não afetam os clientes.
Personalizar a gravidade do alerta: diferencie os alertas críticos e não críticos para garantir que os problemas mais urgentes recebam atenção imediata.
Use os canais de notificação com sabedoria: escolha os canais adequados para notificações
de alerta (e-mail, SMS ou pager) com base na gravidade e urgência dos
alertas.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Informações incorretas ou exemplo de código","incorrectInformationOrSampleCode","thumb-down"],["Não contém as informações/amostras de que eu preciso","missingTheInformationSamplesINeed","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 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."]]