OPS04-BP04 Implementar a telemetria de dependências - Pilar Excelência operacional

OPS04-BP04 Implementar a telemetria de dependências

A telemetria de dependências é essencial para monitorar a integridade e a performance dos serviços e componentes externos dos quais a workload depende. Ela fornece insights valiosos sobre acessibilidade, tempos limite e outros eventos críticos relacionados a dependências, como DNS, bancos de dados ou APIs de terceiros. Ao instrumentar sua aplicação para emitir métricas, logs e rastreamentos sobre essas dependências, você adquire uma compreensão mais clara dos possíveis gargalos, problemas de performance ou falhas que podem afetar a workload.

Resultado desejado: garanta que as dependências da workload estejam funcionando conforme o esperado, permitindo que você resolva problemas de forma proativa, e garanta também a performance ideal da workload.

Antipadrões comuns:

  • Negligência com relação a dependências externas: focar apenas nas métricas internas da aplicação e negligenciar as métricas relacionadas às dependências externas.

  • Falta de monitoramento proativo: aguardar o surgimento de problemas em vez de monitorar continuamente a integridade e a performance da dependência.

  • Monitoramento em silos: usar várias ferramentas de monitoramento diferentes, o que pode ocasionar visualizações fragmentadas e inconsistentes da integridade da dependência.

Benefícios de estabelecer esta desta prática recomendada:

  • Maior confiabilidade da workload: garantindo que as dependências externas estejam consistentemente disponíveis e tenham uma performance ideal.

  • Detecção e resolução mais rápidas de problemas: identificação e resolução proativa de problemas com dependências antes que elas afetem a workload.

  • Visão abrangente: ter uma visão completa dos componentes internos e externos que influenciam a integridade da workload.

  • Escalabilidade aprimorada da workload: entendendo os limites de escalabilidade e as características de performance das dependências externas.

Nível de exposição a riscos se esta prática recomendada não for estabelecida: alto

Orientações para a implementação

Implemente a telemetria de dependências começando com a identificação dos serviços, da infraestrutura e dos processos dos quais a workload depende. Quantifique quais são as boas condições quando essas dependências estão funcionando conforme o esperado e determine quais dados serão necessários para medi-las. Com essas informações, você pode criar painéis e alertas que forneçam insights para suas equipes de operações sobre o estado dessas dependências. Use ferramentas da AWS para descobrir e quantificar os impactos quando as dependências não tiverem a performance necessária. Revise continuamente sua estratégia para considerar as mudanças nas prioridades, metas e insights obtidos.

Etapas da implementação

Para implementar a telemetria de dependências de forma eficaz:

  1. Identifique dependências externas: colabore com as partes interessadas para identificar as dependências externas da workload. As dependências externas podem abranger serviços como bancos de dados externos, APIs de terceiros, rotas de conectividade de rede para outros ambientes e serviços de DNS. O primeiro passo para uma telemetria de dependências eficaz é entender de forma abrangente quais são essas dependências.

  2. Desenvolva uma estratégia de monitoramento: depois de ter uma visão clara de suas dependências externas, elabore uma estratégia de monitoramento personalizada para elas. Isso envolve entender a importância de cada dependência, seu comportamento esperado e quaisquer contratos ou metas de nível de serviço associados (SLA ou SLTs). Configure alertas proativos para receber notificações sobre mudanças de status ou desvios de performance.

  3. Use monitoramento de rede: use o Internet Monitor e o Network Monitor, que fornecem informações abrangentes sobre as condições globais da Internet e da rede. Essas ferramentas ajudam você a entender e reagir a interrupções ou degradações de performance que afetam as dependências externas.

  4. Informe-se com o AWS Health Dashboard: ele fornece alertas e orientações de correção quando a AWS está enfrentando eventos que podem impactar seus serviços.

    1. Monitore eventos de AWS Health com regras do Amazon EventBridge ou integre programaticamente a API AWS Health para automatizar ações ao receber eventos do AWS Health. Podem ser ações gerais, como enviar todas as mensagens planejadas de eventos do ciclo de vida para uma interface de chat, ou ações específicas, como o início de um fluxo de trabalho em uma ferramenta de gerenciamento de serviços de TI.

    2. Se você usar o AWS Organizations, agregue eventos do AWS Health em todas as contas.

  5. Instrumente a aplicação com o AWS X-Ray: o AWS X-Ray fornece insights sobre a performance das aplicações e de suas dependências subjacentes. Ao rastrear as solicitações do início ao fim, você pode identificar gargalos ou falhas nos serviços ou componentes externos dos quais sua aplicação depende.

  6. Use o Amazon DevOps Guru: esse serviço orientado por machine learning identifica problemas operacionais, prevê quando problemas críticos podem ocorrer e recomenda ações específicas a serem realizadas. Ele é inestimável para ter informações sobre dependências e determinar que elas não são a fonte dos problemas operacionais.

  7. Monitore regularmente: monitore continuamente métricas e logs relacionados a dependências externas. Configure alertas para comportamento inesperado ou diminuição de performance.

  8. Valide após alterações: sempre que houver uma atualização ou alteração em qualquer uma das dependências externas, valide a performance e confira o alinhamento com os requisitos da aplicação.

Nível de esforço do plano de implementação: médio

Recursos

Práticas recomendadas relacionadas:

Documentos relacionados:

Vídeos relacionados:

Exemplos relacionados: