Este princípio no pilar de otimização de custos do Google Cloud Framework de arquitetura fornece recomendações para ajudar você a otimizar o custo das suas 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 aproveitar ao máximo os gastos com a nuvem, é preciso manter a eficiência de custos e, ao mesmo tempo, 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, é preciso monitorar e analisar proativamente seu ambiente de nuvem e fazer os ajustes adequados para atender aos requisitos atuais. Concentre seus esforços de monitoramento nos 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, adaptar-se às mudanças nas necessidades e alinhar continuamente os gastos com a nuvem às metas estratégicas de negócios. Para equilibrar a observabilidade abrangente com a relação custo-benefício, entenda os custos e benefícios de monitorar o uso de recursos e use estratégias adequadas de melhoria de processos e otimização.
Recomendações
Para monitorar o ambiente do Google Cloud de maneira eficaz e otimizar os custos continuamente, considere as recomendações a seguir.
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. Entre elas estão:
- Métricas de experiência do usuário: latência, taxas de erro, capacidade de processamento 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: receita, crescimento de clientes e engajamento podem ser correlacionados com o uso de recursos para identificar oportunidades de otimização de custos.
- Métricas de DevOps Research & 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 seu processo de entrega de software. Ao melhorar essas métricas, é possível aumentar a produtividade, reduzir o tempo de inatividade e otimizar os custos.
- Métricas de engenharia de confiabilidade do site (SRE): as margens 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, as margens de erro capacitam as equipes a inovar e implantar mudanças com mais confiança, sabendo qual é 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 grandes interrupções ou tempo de inatividade prolongado.
Usar a observabilidade para otimizar recursos
Veja a seguir recomendações para usar a observabilidade para identificar gargalos de recursos e recursos subutilizados nas implantações do Cloud Deploy:
- Monitorar o uso de recursos: use métricas de utilização de recursos para identificar Google Cloud recursos subutilizados. Por exemplo, use métricas como uso da CPU e da memória para identificar recursos de VM inativos. No Google Kubernetes Engine (GKE), é possível conferir um detalhamento dos custos e as métricas de otimização relacionadas ao custo. Para o Google Cloud VMware Engine, analise a utilização de recursos para otimizar os CUDs, o consumo de armazenamento e o dimensionamento adequado do ESXi.
- Use as recomendações do Cloud: o Active Assist é um portfólio de ferramentas inteligentes que ajudam a otimizar as operações na nuvem. Essas ferramentas fornecem recomendações práticas para reduzir custos, aumentar o desempenho, melhorar a segurança e até mesmo tomar decisões focadas em sustentabilidade. Por exemplo, os insights de dimensionamento de VMs podem ajudar a otimizar a alocação de recursos e evitar gastos desnecessários.
- Correlacionar o uso de recursos com o desempenho: analise a relação entre o uso 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.
Equilibrar as necessidades de solução de problemas com o custo
Dados detalhados de observabilidade 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 com eficiência quando eles surgirem. Esses dados podem incluir registros, traces e métricas em vários níveis de granularidade.
- Use 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 excessivos de armazenamento.
- Entenda os modelos de preços das suas ferramentas e serviços de monitoramento: avalie diferentes soluções de monitoramento e escolha opções que se alinhem à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 sua seleção.
- Revise regularmente sua configuração de monitoramento: evite coletar dados em excesso removendo métricas ou registros desnecessários.
Adaptar a coleta de dados às funções e definir políticas de retenção específicas para cada função
Considere as necessidades de dados específicas de diferentes funções. Por exemplo, os desenvolvedores podem precisar principalmente de acesso a traces 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, é possível reduzir os 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 todos os requisitos regulatórios. Por exemplo, os desenvolvedores podem precisar de acesso a registros detalhados por um período mais curto, enquanto os analistas financeiros podem precisar de dados de longo prazo.
Considere os requisitos regulatórios e de compliance
Em alguns setores, os requisitos regulatórios exigem a retenção de dados. Para evitar riscos legais e financeiros, é preciso garantir que suas práticas de monitoramento e retenção de dados ajudem você a aderir às regulamentações relevantes. Ao mesmo tempo, você precisa manter a eficiência de custos. Recomendações:
- Determine os requisitos específicos de retenção de dados para seu setor ou região e garanta que sua estratégia de monitoramento atenda a esses requisitos.
- Implementar 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
Os alertas ajudam a detectar e resolver problemas em tempo hábil. No entanto, é necessário um equilíbrio entre uma abordagem que mantém você informado e outra que sobrecarrega você com notificações. Ao projetar sistemas de alerta inteligentes, é possível priorizar problemas críticos que têm maior impacto nos negócios. 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 interrupções no site, tempos de resposta lentos ou falhas de transação.
- Ajuste para problemas temporários: use limites e mecanismos de atraso adequados para evitar alertas desnecessários para problemas temporários ou de recuperação automática do sistema que não afetam os clientes.
- Personalizar a gravidade do alerta: garanta que os problemas mais urgentes recebam atenção imediata diferenciando os alertas críticos dos não críticos.
- Use os canais de notificação com sabedoria: escolha os canais adequados para notificações de alerta (e-mail de notificação, SMS ou pager) com base na gravidade e na urgência dos alertas.