Garanta a prontidão operacional e o desempenho com o CloudOps

Last reviewed 2024-10-31 UTC

Este princípio no pilar de excelência operacional da Google Cloud estrutura bem arquitetada ajuda a garantir a prontidão operacional e o desempenho das suas cargas de trabalho na nuvem. Enfatiza o estabelecimento de expetativas e compromissos claros para o desempenho do serviço, a implementação de uma monitorização e alertas robustos, a realização de testes de desempenho e o planeamento proativo das necessidades de capacidade.

Vista geral do princípio

Diferentes organizações podem interpretar a prontidão operacional de forma diferente. A prontidão operacional é a forma como a sua organização se prepara para operar com êxito cargas de trabalho no Google Cloud. A preparação para operar uma carga de trabalho na nuvem complexa e com várias camadas requer um planeamento cuidadoso para a entrada em produção e as operações do day-2. Estas operações são frequentemente denominadas CloudOps.

Principais áreas de prontidão operacional

A prontidão operacional consiste em quatro áreas de foco. Cada área de foco consiste num conjunto de atividades e componentes necessários para se preparar para operar uma aplicação ou um ambiente complexo no Google Cloud. A tabela seguinte apresenta 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 equipas que gerem e operam os recursos da nuvem.
  • Garantir que os membros da equipa têm as competências adequadas.
  • Desenvolver um programa de aprendizagem.
  • Estabelecer uma estrutura de equipa clara.
  • Contratar os talentos necessários.
Processos
  • Observabilidade.
  • Gerir interrupções de serviço.
  • Entrega na nuvem.
  • Operações na nuvem essenciais.
Ferramentas Ferramentas necessárias para suportar os processos de CloudOps.
Governança
  • Níveis de serviço e relatórios.
  • Informações financeiras na nuvem.
  • Modelo de funcionamento na nuvem.
  • Conselhos de revisão e administração arquitetónica.
  • Arquitetura e conformidade da nuvem.

Recomendações

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

Defina SLOs e SLAs

Uma responsabilidade essencial da equipa de operações na nuvem é definir objetivos ao nível do 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 da prontidão operacional da governação.

Os ANSs têm de ser específicos, mensuráveis, alcançáveis, relevantes e temporizados (SMART) e têm de refletir o nível de serviço e o desempenho que pretende.

  • Específico: articula claramente o nível de serviço e o desempenho necessários.
  • Mensurável: quantificável e monitorizável.
  • Alcançável: atingível dentro dos limites das capacidades e dos recursos da sua organização.
  • Relevante: alinhado com os objetivos e as prioridades da empresa.
  • Time bound (calendarizado): tem um intervalo de tempo definido para medição e avaliação.

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

Os SLAs descrevem os compromissos com os clientes relativamente à disponibilidade do serviço, ao desempenho e ao apoio técnico, incluindo quaisquer penalizações ou soluções para a não conformidade. Os SLAs têm de incluir detalhes específicos sobre os serviços prestados, o nível de serviço que se pode esperar, as responsabilidades do prestador de serviços e do cliente, e quaisquer penalizações ou soluções para a não conformidade. Os ANSs servem como um contrato entre as duas partes, garantindo que ambas têm uma compreensão clara das expetativas e obrigações associadas ao serviço na nuvem.

Google Cloud oferece ferramentas como o Cloud Monitoring e indicadores do nível de serviço (INSs) para ajudar a definir e monitorizar os SLOs. O Cloud Monitoring oferece capacidades de monitorização e observabilidade abrangentes que permitem à sua organização recolher e analisar métricas relacionadas com a disponibilidade, o desempenho e a latência de aplicações e serviços baseados na nuvem. Os SLIs são métricas específicas que pode usar para medir e acompanhar os SLOs ao longo do tempo. Ao usar estas ferramentas, pode monitorizar e gerir eficazmente os serviços na nuvem e garantir que cumprem os SLOs e os SLAs.

Definir e comunicar claramente os SLOs e os SLAs para todos os seus serviços na nuvem críticos ajuda a garantir a fiabilidade e o desempenho das suas aplicações e serviços implementados.

Implemente uma observabilidade abrangente

Para ter visibilidade em tempo real do estado e do desempenho do seu ambiente na nuvem, recomendamos que use uma combinação de ferramentas de observabilidade do Google Cloud e soluções de terceiros. Esta recomendação é relevante para estas áreas de foco da prontidão operacional: processos e ferramentas.

A implementação de uma combinação de soluções de observabilidade oferece-lhe uma estratégia de observabilidade abrangente que abrange vários aspetos da sua infraestrutura e aplicações na nuvem. O Google Cloud Observability é uma plataforma unificada para recolher, analisar e visualizar métricas, registos e rastreios de váriosGoogle Cloud serviços, aplicações e fontes externas. Ao usar o Cloud Monitoring, pode aceder a estatísticas sobre a utilização de recursos, as caraterísticas de desempenho e o estado geral dos seus recursos.

Para garantir uma monitorização abrangente, monitorize métricas importantes que se alinham com os indicadores de estado do sistema, como a utilização da CPU, a utilização da memória, o tráfego de rede, a E/S de disco e os tempos de resposta da aplicação. Também tem de considerar métricas específicas da empresa. Ao acompanhar estas métricas, pode identificar potenciais gargalos, problemas de desempenho e restrições de recursos. Além disso, pode configurar alertas para notificar proativamente as equipas relevantes sobre potenciais problemas ou anomalias.

Para melhorar ainda mais as suas capacidades de monitorização, pode integrar soluções de terceiros com o Google Cloud Observability. Estas soluções podem oferecer funcionalidades adicionais, como estatísticas avançadas, deteção de anomalias com tecnologia de aprendizagem automática e capacidades de gestão de incidentes. Esta combinação de ferramentas de observabilidade do Google Cloud e soluções de terceiros permite-lhe criar um ecossistema de monitorização robusto e personalizável, adaptado às suas necessidades específicas. Ao usar esta abordagem combinada, pode identificar e resolver proativamente problemas, otimizar a utilização de recursos e garantir a fiabilidade e a disponibilidade gerais das suas aplicações e serviços na nuvem.

Implemente testes de desempenho e de carregamento

A realização de testes de desempenho regulares ajuda a garantir que as suas aplicações e infraestrutura baseadas na nuvem conseguem processar picos de carga e manter um desempenho ideal. Os testes de carga simulam padrões de tráfego realistas. Os testes de esforço levam o sistema aos seus limites para identificar potenciais gargalos e limitações de desempenho. Esta recomendação é relevante para estas áreas de foco da prontidão operacional: processos e ferramentas.

As ferramentas como o Cloud Load Balancing e os serviços de testes de carga podem ajudar a simular padrões de tráfego do mundo real e testar a resistência das suas aplicações. Estas ferramentas oferecem estatísticas valiosas sobre o comportamento do seu sistema em várias condições de carga e podem ajudar a identificar áreas que requerem otimização.

Com base nos resultados dos testes de desempenho, pode tomar decisões para otimizar a sua infraestrutura e aplicações na nuvem para um desempenho e uma escalabilidade ideais. Esta otimização pode envolver o ajuste da atribuição de recursos, a otimização das configurações ou a implementação de mecanismos de colocação em cache.

Por exemplo, se verificar que a sua aplicação está a sofrer abrandamentos durante períodos de tráfego elevado, pode ter de aumentar o número de máquinas virtuais ou contentores atribuídos à aplicação. Em alternativa, pode ter de ajustar a configuração do seu servidor Web ou base de dados para melhorar o desempenho.

Ao realizar regularmente testes de desempenho e implementar as otimizações necessárias, pode garantir que as suas aplicações e infraestrutura baseadas na nuvem são sempre executadas com o máximo desempenho e oferecem uma experiência integrada e responsiva aos seus utilizadores. Isto pode ajudar a manter uma vantagem competitiva e a criar confiança junto dos clientes.

Planeie e faça a gestão da capacidade

O planeamento proativo das necessidades de capacidade futuras, orgânicas ou inorgânicas, ajuda a garantir o funcionamento sem problemas e a escalabilidade dos seus sistemas baseados na nuvem. Esta recomendação é relevante para a área de foco da prontidão operacional.

O planeamento da capacidade futura inclui a compreensão e a gestão das quotas para vários recursos, como instâncias de computação, armazenamento e pedidos de API. Ao analisar os padrões de utilização do histórico, as projeções de crescimento e os requisitos empresariais, pode antecipar com precisão os requisitos de capacidade futuros. Pode usar ferramentas como o Cloud Monitoring e o BigQuery para recolher e analisar dados de utilização, identificar tendências e prever a procura futura.

Os padrões de utilização do histórico fornecem estatísticas valiosas sobre a utilização de recursos ao longo do tempo. Ao analisar métricas como a utilização da CPU, a utilização da memória e o tráfego de rede, pode identificar períodos de elevada procura e potenciais gargalos. Além disso, pode ajudar a estimar as necessidades de capacidade futuras fazendo projeções de crescimento com base em fatores como o crescimento da base de utilizadores, novos produtos e funcionalidades, e campanhas de marketing. Quando avaliar as necessidades de capacidade, também deve considerar os requisitos empresariais, como os contratos de nível de serviço e os objetivos de desempenho.

Quando determinar o dimensionamento dos recursos para uma carga de trabalho, considere os fatores que podem afetar a utilização dos recursos. As variações sazonais, como os períodos de compras festivas ou as vendas de final do trimestre, podem originar picos temporários na procura. Os eventos planeados, como lançamentos de produtos ou campanhas de marketing, também podem aumentar significativamente o tráfego. Para garantir que o seu sistema principal e de recuperação de desastres (RD) conseguem processar aumentos inesperados na procura, planeie uma capacidade que possa suportar uma comutação por falha elegante durante interrupções, como desastres naturais e ciberataques.

O dimensionamento automático é uma estratégia importante para ajustar dinamicamente os seus recursos na nuvem com base nas flutuações da carga de trabalho. Ao usar políticas de escalabilidade automática, pode dimensionar automaticamente instâncias de computação, armazenamento e outros recursos em resposta à procura em constante mudança. Isto garante um desempenho ideal durante os períodos de pico, ao mesmo tempo que minimiza os custos quando a utilização de recursos é baixa. Os algoritmos de escala automática usam métricas como a utilização da CPU, a utilização de memória e a profundidade da fila para determinar quando dimensionar os recursos.

Monitorize e otimize continuamente

Para gerir e otimizar cargas de trabalho na nuvem, tem de estabelecer um processo de monitorização e análise contínuas das métricas de desempenho. Esta recomendação é relevante para estas áreas de foco da prontidão operacional: processos e ferramentas.

Para estabelecer um processo de monitorização e análise contínuas, acompanha, recolhe e avalia os dados relacionados com vários aspetos do seu ambiente de nuvem. Ao usar estes dados, pode identificar proativamente áreas de melhoria, otimizar a utilização de recursos e garantir que a sua infraestrutura na nuvem cumpre ou excede consistentemente as suas expetativas de desempenho.

Um aspeto importante da monitorização do desempenho é a revisão regular dos registos e dos rastreios. Os registos fornecem estatísticas valiosas sobre eventos do sistema, erros e avisos. Os rastreios fornecem informações detalhadas sobre o fluxo de pedidos através da sua aplicação. Ao analisar registos e rastreios, pode identificar potenciais problemas, identificar as causas principais dos problemas e compreender melhor o comportamento das suas aplicações em diferentes condições. As métricas, como o tempo de resposta entre serviços, podem ajudar a identificar e compreender os obstáculos que se encontram nas suas cargas de trabalho.

Além disso, pode usar técnicas de otimização do desempenho para melhorar significativamente os tempos de resposta das aplicações e a eficiência geral. Seguem-se exemplos de técnicas que pode usar:

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

Ao aplicar estas técnicas, pode otimizar as suas aplicações e garantir que são executadas de forma eficiente na nuvem.