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 Framework de arquitetura ajuda a garantir a prontidão operacional e o desempenho das cargas de trabalho na nuvem. Ele enfatiza o estabelecimento de expectativas e compromissos claros para a performance 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.

Organizações diferentes podem interpretar a prontidão operacional de 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 de várias camadas na nuvem requer um planejamento cuidadoso para as operações de ativação e day-2. Essas operações são frequentemente 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 em 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
Força de trabalho
  • 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.
  • Desenvolver um programa de aprendizagem.
  • Estabeleça 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 de nuvem.
  • Painéis de governança e revisão de arquitetura.
  • Arquitetura de nuvem e compliance.

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 de prontidão operacional.

Definir SLOs e SLAs

Uma das principais responsabilidades da equipe de operações em 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. Esta 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 temporários (SMART, na sigla em inglês), e precisam refletir o nível de serviço e desempenho que você quer.

  • Específico: articula claramente o nível de serviço e desempenho necessário.
  • Mensurável: quantificável e rastreável.
  • Alcançável: alcançável dentro dos limites dos recursos 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 desempenho necessário para o aplicativo da Web, e podem ser medidos e acompanhados 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 de correção por 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 e as penalidades ou medidas em caso de não conformidade. Os SLAs servem como um contrato entre as duas partes, garantindo que ambas entendam claramente as expectativas e obrigações associadas ao serviço de nuvem.

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

Definir e comunicar claramente os SLOs e SLAs de todos os serviços essenciais da 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 do desempenho do seu ambiente de nuvem, recomendamos que você use uma combinação de ferramentas de observabilidade do Google Cloud e soluções de terceiros. Essa recomendação é relevante para estas áreas de foco de prontidão operacional: processos e ferramentas.

A implementação de uma combinação de soluções de observabilidade oferece uma estratégia abrangente que abrange vários aspectos da infraestrutura e dos aplicativos em nuvem. A Observabilidade do Google Cloud é uma plataforma unificada para coletar, analisar e visualizar métricas, registros e rastreamentos de vários Google Cloud serviços, aplicativos e fontes externas. Ao usar 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 estejam alinhadas com 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 as métricas específicas da empresa. Ao acompanhar 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 as equipes relevantes proativamente sobre possíveis problemas ou anomalias.

Para melhorar ainda mais seus recursos de monitoramento, é possível integrar soluções de terceiros à Observability do Google Cloud. Essas soluções podem oferecer mais funcionalidades, como análises avançadas, detecção de anomalias com base em 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 que se adapta à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 geral e a disponibilidade dos seus aplicativos e serviços na nuvem.

Implementar testes de desempenho e carga

A realização de testes de desempenho regulares ajuda a garantir que a infraestrutura e os aplicativos baseados em nuvem possam lidar com cargas de pico 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 estas áreas de foco de prontidão operacional: processos e ferramentas.

Ferramentas como o balanceamento de carga do Cloud e os serviços de teste de carga podem ajudar você a simular padrões de tráfego reais e fazer testes de estresse nos aplicativos. Essas ferramentas fornecem insights valiosos sobre como o sistema se comporta em várias condições de carga e podem ajudar a identificar áreas que precisam de otimização.

Com base nos resultados dos testes de desempenho, você pode tomar decisões para otimizar sua infraestrutura e aplicativos em nuvem para desempenho e escalabilidade ideais. Essa otimização pode envolver ajustar a alocação de recursos, otimizar configurações ou implementar mecanismos de armazenamento em cache.

Por exemplo, se você perceber 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 ao aplicativo. 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 infraestruturas baseados na nuvem sempre tenham o melhor desempenho e ofereçam uma experiência responsiva e perfeita para os usuários. Isso pode ajudar a manter uma vantagem competitiva e aumentar a confiança dos clientes.

Planejar e gerenciar a capacidade

Planejar proativamente as necessidades de capacidade futuras, orgânicas ou inorgânicas, ajuda a garantir a operação e a capacidade de escalonamento dos seus sistemas baseados na nuvem. Essa recomendação é relevante para a área de foco de processos 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 os padrões de uso históricos, as projeções de crescimento e os requisitos de negócios, você pode prever com precisão os requisitos de capacidade futuros. 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 de uso históricos oferecem insights valiosos sobre a utilização de recursos ao longo do tempo. Ao examinar métricas como a utilização da CPU, da memória e do 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 de capacidade futuras fazendo projeções de crescimento com base em fatores como crescimento na base de usuários, novos produtos e recursos e campanhas de marketing. Ao avaliar as necessidades de capacidade, você também precisa considerar os requisitos de negócios, como SLAs e metas de desempenho.

Ao determinar o dimensionamento de recursos para uma carga de trabalho, considere os fatores que podem afetar a utilização de recursos. Variações sazonais, como períodos de compras de fim de ano ou vendas de fim de trimestre, podem levar a 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, na sigla em inglês) possa lidar com picos inesperados na demanda, planeje uma capacidade que possa oferecer failover suave 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. Ao usar políticas de escalonamento automático, é possível escalonar automaticamente instâncias de computação, armazenamento e outros recursos em resposta à demanda. Isso garante o desempenho ideal durante os períodos de pico, minimizando os custos quando a utilização de recursos é baixa. Os algoritmos de escalonamento automático usam métricas como utilização da CPU, uso da memória e profundidade da fila para determinar quando escalonar recursos.

Monitorar e otimizar continuamente

Para gerenciar e otimizar cargas de trabalho na nuvem, é necessário estabelecer um processo para monitorar e analisar continuamente as métricas de desempenho. Essa recomendação é relevante para estas áreas de foco de prontidão operacional: processos e ferramentas.

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

Um aspecto importante do monitoramento de desempenho é revisar regularmente os registros e os rastros. 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 aplicativo. Ao analisar registros e rastros, você pode identificar possíveis problemas, identificar as causas raiz dos problemas e 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 os gargalos que estão nas cargas de trabalho.

Além disso, é possível usar técnicas de ajuste de desempenho para melhorar significativamente os tempos de resposta do aplicativo e a eficiência geral. Confira abaixo 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 de banco de dados ou chamadas de API repetidas.
  • Otimização de banco de dados: use técnicas como indexação e otimização de consulta para melhorar o desempenho das operações do banco de dados.
  • Criação de perfil de código: identifique áreas do 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.