OPS04-BP04 Implementar a telemetria de dependências - Framework Well-Architected da AWS

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: as dependências das quais a workload depende estão funcionando conforme o esperado, permitindo que você resolva problemas de forma proativa e garanta a performance ideal da workload.

Práticas comuns que devem ser evitadas:

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

  • Ausência 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 resultar em visualizações fragmentadas e inconsistentes da integridade da dependência.

Benefícios de implementar esta prática recomendada:

  • Maior confiabilidade da workload: garantia de 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: obtenção de uma visão holística dos componentes internos e externos que influenciam a integridade da workload.

  • Escalabilidade aprimorada da workload: compreensão dos limites de escalabilidade e das características de performance das dependências externas.

Nível de risco exposto se esta prática recomendada não for estabelecida: Alto

Orientação para 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 de 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 das quais a workload depende. 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. Desenvolver uma estratégia de monitoramento: depois de obter 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 o monitoramento de rede: use o Internet Monitor e o Network Monitor para obter 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. Mantenha-se em dia 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 do AWS Health com as regras do Amazon EventBridge ou integre-os programaticamente à AWS Health API 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 sua aplicação com o AWS X-Ray: o AWS X-Ray fornece informações sobre a performance das aplicações e de suas respectivas 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 tomadas. 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 as alterações: sempre que houver uma atualização ou alteração em qualquer uma das dependências externas, valide sua performance e verifique o alinhamento com os requisitos da sua 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: