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.