Garantir a prontidão operacional e o desempenho usando o CloudOps

Last reviewed 2024-10-31 UTC

Esse princípio no pilar de excelência operacional do Google Cloud Well-Architected Framework ajuda a garantir a prontidão operacional e a performance das suas cargas de trabalho na nuvem. Ele enfatiza o estabelecimento de expectativas e compromissos claros para o desempenho do serviço, a implementação de monitoramento e alertas robustos, a realização de testes de desempenho e o planejamento proativo das necessidades de capacidade.

Visão geral do princípio

Cada organização pode interpretar a prontidão operacional de uma maneira diferente. A prontidão operacional é como sua organização se prepara para operar cargas de trabalho com sucesso no Google Cloud. A preparação para operar uma carga de trabalho complexa e multicamadas na nuvem exige um planejamento cuidadoso para a entrada em produção e as operações do day-2. Essas operações são chamadas de CloudOps.

Áreas de foco da prontidão operacional

A prontidão operacional consiste em quatro áreas de foco. Cada área de foco consiste em um conjunto de atividades e componentes necessários para se preparar para operar um aplicativo ou ambiente complexo no Google Cloud. A tabela a seguir lista os componentes e as atividades de cada área de foco:

Área de foco da prontidão operacional Atividades e componentes
Funcionários
  • Definir funções e responsabilidades claras para as equipes que gerenciam e operam os recursos da nuvem.
  • Garantir que os membros da equipe tenham as habilidades adequadas.
  • Desenvolvimento de um programa de aprendizado.
  • Estabelecer uma estrutura de equipe clara.
  • Contratar os talentos necessários.
Processos
  • Observabilidade.
  • Gerenciar interrupções de serviço.
  • Entrega na nuvem.
  • Operações principais na nuvem.
Ferramentas Ferramentas necessárias para oferecer suporte aos processos de CloudOps.
Governança
  • Níveis de serviço e relatórios.
  • Finanças na nuvem.
  • Modelo operacional da nuvem.
  • Conselhos de governança e revisão de arquitetura.
  • Arquitetura e compliance de nuvem.

Recomendações

Para garantir a prontidão operacional e o desempenho usando o CloudOps, considere as recomendações nas seções a seguir. Cada recomendação neste documento é relevante para uma ou mais das áreas de foco da prontidão operacional.

Definir SLOs e SLAs

Uma das principais responsabilidades da equipe de operações na nuvem é definir objetivos de nível de serviço (SLOs) e contratos de nível de serviço (SLAs) para todas as cargas de trabalho críticas. Essa recomendação é relevante para a área de foco de governança da prontidão operacional.

Os SLOs precisam ser específicos, mensuráveis, alcançáveis, relevantes e temporais (SMART) e refletir o nível de serviço e o desempenho desejados.

  • Específico: articula claramente o nível de serviço e desempenho necessários.
  • Mensurável: quantificável e rastreável.
  • Alcançável: pode ser atingido dentro dos limites das capacidades e recursos da sua organização.
  • Relevante: alinhado com as metas e prioridades de negócios.
  • Com prazo: tem um período definido para medição e avaliação.

Por exemplo, um SLO para um aplicativo da Web pode ser "disponibilidade de 99,9%" ou "tempo médio de resposta inferior a 200 ms". Esses SLOs definem claramente o nível de serviço e o desempenho necessários para o aplicativo da Web, e podem ser medidos e rastreados ao longo do tempo.

Os SLAs descrevem os compromissos com os clientes em relação à disponibilidade, desempenho e suporte do serviço, incluindo penalidades ou medidas corretivas em caso de não conformidade. Os SLAs precisam incluir detalhes específicos sobre os serviços fornecidos, o nível de serviço esperado, as responsabilidades do provedor de serviços e do cliente, além de penalidades ou soluções para não conformidade. Os SLAs servem como um contrato entre as duas partes, garantindo que ambas tenham um entendimento claro das expectativas e obrigações associadas ao serviço de nuvem.

Google Cloud fornece ferramentas como o Cloud Monitoring e indicadores de nível de serviço (SLIs) para ajudar você a definir e acompanhar os SLOs. O Cloud Monitoring oferece recursos abrangentes de monitoramento e observabilidade que permitem à sua organização coletar e analisar métricas relacionadas à disponibilidade, ao desempenho e à latência de aplicativos e serviços baseados na nuvem. Os SLIs são métricas específicas que podem ser usadas para medir e rastrear SLOs ao longo do tempo. Ao usar essas ferramentas, você pode monitorar e gerenciar serviços de nuvem com eficiência e garantir que eles atendam aos SLOs e SLAs.

Definir e comunicar claramente os SLOs e SLAs de todos os seus serviços críticos de nuvem ajuda a garantir a confiabilidade e o desempenho dos aplicativos e serviços implantados.

Implementar a observabilidade abrangente

Para ter visibilidade em tempo real da integridade e da performance do seu ambiente de nuvem, recomendamos usar uma combinação de ferramentas do Google Cloud Observability e soluções de terceiros. Essa recomendação é relevante para as seguintes áreas de foco da prontidão operacional: processos e ferramentas.

Implementar uma combinação de soluções de observabilidade oferece uma estratégia abrangente que cobre vários aspectos da sua infraestrutura e aplicativos em nuvem. O Google Cloud Observability é uma plataforma unificada para coletar, analisar e visualizar métricas, registros e rastreamentos de váriosGoogle Cloud serviços, aplicativos e fontes externas. Com o Cloud Monitoring, você pode ter insights sobre a utilização de recursos, as características de desempenho e a integridade geral dos seus recursos.

Para garantir um monitoramento abrangente, monitore métricas importantes que se alinham aos indicadores de integridade do sistema, como utilização da CPU, uso de memória, tráfego de rede, E/S de disco e tempos de resposta do aplicativo. Você também precisa considerar métricas específicas da empresa. Ao rastrear essas métricas, é possível identificar possíveis gargalos, problemas de desempenho e restrições de recursos. Além disso, você pode configurar alertas para notificar proativamente as equipes relevantes sobre possíveis problemas ou anomalias.

Para melhorar ainda mais suas capacidades de monitoramento, é possível integrar soluções de terceiros ao Google Cloud Observability. Essas soluções podem oferecer funcionalidades extras, como análises avançadas, detecção de anomalias com tecnologia de machine learning e recursos de gerenciamento de incidentes. Essa combinação de ferramentas de observabilidade do Google Cloud e soluções de terceiros permite criar um ecossistema de monitoramento robusto e personalizável, adaptado às suas necessidades específicas. Ao usar essa abordagem combinada, é possível identificar e resolver problemas de forma proativa, otimizar a utilização de recursos e garantir a confiabilidade e a disponibilidade geral dos seus aplicativos e serviços de nuvem.

Implementar testes de desempenho e carga

Realizar testes de desempenho regularmente ajuda a garantir que seus aplicativos e infraestrutura baseados na nuvem possam lidar com picos de carga e manter o desempenho ideal. O teste de carga simula padrões de tráfego realistas. O teste de estresse leva o sistema ao limite para identificar possíveis gargalos e limitações de desempenho. Essa recomendação é relevante para as seguintes áreas de foco da prontidão operacional: processos e ferramentas.

Ferramentas como o Cloud Load Balancing e os serviços de teste de carga podem ajudar você a simular padrões de tráfego do mundo real e testar a capacidade dos aplicativos. Essas ferramentas fornecem insights valiosos sobre o comportamento do sistema em várias condições de carga e ajudam a identificar áreas que precisam de otimização.

Com base nos resultados dos testes de desempenho, é possível tomar decisões para otimizar sua infraestrutura e aplicativos de nuvem para desempenho e escalonabilidade ideais. Essa otimização pode envolver o ajuste da alocação de recursos, a otimização de configurações ou a implementação de mecanismos de armazenamento em cache.

Por exemplo, se você notar que o aplicativo está mais lento durante períodos de tráfego intenso, talvez seja necessário aumentar o número de máquinas virtuais ou contêineres alocados a ele. Como alternativa, talvez seja necessário ajustar a configuração do servidor da Web ou do banco de dados para melhorar o desempenho.

Ao realizar testes de desempenho regularmente e implementar as otimizações necessárias, você garante que seus aplicativos e infraestrutura baseados na nuvem sempre funcionem com desempenho máximo e ofereçam uma experiência perfeita e responsiva para os usuários. Isso pode ajudar você a manter uma vantagem competitiva e conquistar a confiança dos clientes.

Planejar e gerenciar a capacidade

Planejar proativamente as necessidades futuras de capacidade, sejam elas orgânicas ou não, ajuda a garantir a operação e a escalonabilidade dos seus sistemas baseados na nuvem. Essa recomendação é relevante para a área de foco de prontidão operacional.

O planejamento da capacidade futura inclui entender e gerenciar cotas para vários recursos, como instâncias de computação, armazenamento e solicitações de API. Ao analisar padrões de uso históricos, projeções de crescimento e requisitos comerciais, é possível prever com precisão as necessidades de capacidade futuras. Você pode usar ferramentas como o Cloud Monitoring e o BigQuery para coletar e analisar dados de uso, identificar tendências e prever a demanda futura.

Os padrões históricos de uso oferecem insights valiosos sobre a utilização de recursos ao longo do tempo. Ao analisar métricas como utilização da CPU, uso de memória e tráfego de rede, é possível identificar períodos de alta demanda e possíveis gargalos. Além disso, você pode ajudar a estimar as necessidades futuras de capacidade fazendo projeções de crescimento com base em fatores como crescimento da base de usuários, novos produtos e recursos e campanhas de marketing. Ao avaliar as necessidades de capacidade, considere também os requisitos comerciais, como SLAs e metas de desempenho.

Ao determinar o dimensionamento de recursos para uma carga de trabalho, considere fatores que podem afetar a utilização dos recursos. Variações sazonais, como períodos de compras de fim de ano ou vendas de fim de trimestre, podem causar picos temporários na demanda. Eventos planejados, como lançamentos de produtos ou campanhas de marketing, também podem aumentar significativamente o tráfego. Para garantir que seu sistema principal e de recuperação de desastres (DR) possam lidar com aumentos inesperados na demanda, planeje uma capacidade que possa oferecer suporte a failover normal durante interrupções como desastres naturais e ataques cibernéticos.

O escalonamento automático é uma estratégia importante para ajustar dinamicamente os recursos da nuvem com base nas variações de carga de trabalho. Com as políticas de escalonamento automático, é possível escalonar automaticamente instâncias de computação, armazenamento e outros recursos em resposta à mudança na demanda. Isso garante a performance ideal durante os períodos de pico e minimiza os custos quando a utilização de recursos é baixa. Os algoritmos de escalonamento automático usam métricas como utilização da CPU, uso de memória e profundidade da fila para determinar quando escalonar recursos.

Monitorar e otimizar continuamente

Para gerenciar e otimizar as cargas de trabalho na nuvem, é necessário estabelecer um processo de monitoramento e análise contínuos das métricas de desempenho. Essa recomendação é relevante para as seguintes áreas de foco da prontidão operacional: processos e ferramentas.

Para estabelecer um processo de monitoramento e análise contínuos, você rastreia, coleta e avalia dados relacionados a vários aspectos do seu ambiente de nuvem. Ao usar esses dados, você pode identificar proativamente áreas de melhoria, otimizar a utilização de recursos e garantir que sua infraestrutura de nuvem atenda ou exceda consistentemente suas expectativas de desempenho.

Um aspecto importante do monitoramento de performance é revisar regularmente os registros e rastreamentos. Os registros fornecem insights valiosos sobre eventos, erros e avisos do sistema. Os traces fornecem informações detalhadas sobre o fluxo de solicitações no seu aplicativo. Ao analisar registros e rastreamentos, é possível identificar possíveis problemas e as causas deles, além de entender melhor como seus aplicativos se comportam em diferentes condições. Métricas como o tempo de ida e volta entre serviços podem ajudar a identificar e entender gargalos nas suas cargas de trabalho.

Além disso, você pode usar técnicas de ajuste de performance para melhorar significativamente os tempos de resposta do aplicativo e a eficiência geral. Confira alguns exemplos de técnicas que você pode usar:

  • Armazenamento em cache: armazene dados acessados com frequência na memória para reduzir a necessidade de consultas repetidas no banco de dados ou chamadas de API.
  • Otimização do banco de dados: use técnicas como indexação e otimização de consultas para melhorar o desempenho das operações do banco de dados.
  • Criação de perfil de código: identifique áreas do seu código que consomem recursos em excesso ou causam problemas de desempenho.

Ao aplicar essas técnicas, você pode otimizar seus aplicativos e garantir que eles sejam executados de maneira eficiente na nuvem.