Otimizar continuamente

Last reviewed 2024-09-25 UTC

Esse princípio no pilar de otimização de custos do Google Cloud Framework da arquitetura fornece recomendações para ajudar você a otimizar o custo das implantações na nuvem com base nas metas de negócios que mudam e evoluem constantemente.

À medida que sua empresa cresce e evolui, as cargas de trabalho na 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, é preciso manter a eficiência de custos e, ao mesmo tempo, continuar apoiando os objetivos de negócios. Isso requer 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, monitore e analise proativamente seu ambiente de nuvem e faça 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, se alinham às suas metas de negócios e fornecem 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 eficácia de custos, entenda os custos e benefícios do monitoramento do uso de recursos e use estratégias adequadas de melhoria e otimização de processos.

Recomendações

Para monitorar o ambiente Google Cloud 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: latência, taxas de erro, throughput e métricas de satisfação do cliente são úteis para entender a experiência dos usuários finais ao usar seus aplicativos.
  • Métricas de resultados de negócios: a receita, o crescimento de clientes e o engajamento podem ser correlacionados ao uso de recursos para identificar oportunidades de otimização de custos.
  • Métricas de pesquisa e avaliação de DevOps (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 erro 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 erros 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 interrupções importantes ou tempo de inatividade prolongado.

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 de nuvem:

  • Monitorar o uso de recursos: use as métricas de uso 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 focadas na sustentabilidade. Por exemplo, insights de dimensionamento de VM podem ajudar a otimizar a alocação de recursos e evitar gastos desnecessários.
  • Correlacione 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 menos caros sem afetar a experiência do usuário.

Equilibrar 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 maneira 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. Essa abordagem permite 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.

Personalizar a coleta de dados para funções e definir 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 regulamentares. 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 custo. 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 as seguintes 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 limiares e mecanismos de atraso adequados para evitar alertas desnecessários de 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 que os problemas mais urgentes recebam atenção imediata.
  • Use os canais de notificação com sabedoria: escolha canais adequados para notificações de alerta (e-mail, SMS ou pager) com base na gravidade e urgência dos alertas.