Evolua as operações com observabilidade

Concluído
Obtenha visibilidade do sistema, obtenha insights e tome decisões baseadas em dados.

Crie uma cultura que melhore continuamente a qualidade monitorando a carga de trabalho e levando em consideração todos os pilares do Azure Well-Architected Framework. Permita que a equipe e as partes interessadas tomem decisões de curto e longo prazo em muitas facetas, fornecendo os dados, estatísticas e tendências necessários. Aprenda com os seus dados e promova melhorias.

As operações criadas para fins de observabilidade são fundamentais na manutenção proativa do aplicativo, na garantia de qualidade e segurança, no planejamento de capacidade e no gerenciamento de produtos.

Um aspeto crucial do monitoramento de aplicativos é o uso da modelagem de integridade para ajudá-lo a antecipar problemas antes que eles se tornem incidentes e afetem a experiência do cliente. O monitoramento eficiente reduz os ciclos reativos gastos no gerenciamento de incidentes.

Cenário de exemplo

A Contoso desenvolveu um aplicativo para uso interno chamado Contoso Real Estate. Esta aplicação Web permite que novos contratados ou funcionários existentes que estão a mudar-se procurem e reservem alojamento de curta duração para ajudar na sua realocação. O departamento de RH da Contoso também usa o aplicativo para ajudar com realocações.

O aplicativo está em produção e é implantado inteiramente no Azure. Ele é criado em microsserviços usando Aplicativos de Contêiner do Azure e também usa o Azure Functions, o Banco de Dados do Azure para PostrgreSQL, o Armazenamento de Blobs do Azure e o Azure Monitor.

Observe sua carga de trabalho por telemetria

Emita telemetria a partir do código do aplicativo que correlaciona os pontos-chave do fluxo de execução e fornece uma visão de ponta a ponta em diferentes níveis de granularidade.

Priorize ações com base no nível de gravidade e compreenda o contexto dada a sua verbosidade. Essas informações são cruciais para fins de solução de problemas.

O desafio da Contoso

  • Os usuários estão relatando que, após uma atualização recente do aplicativo Contoso Real Estate, ocasionalmente veem uma página em branco ou uma mensagem de erro genérica na página de pesquisa do Aplicativo Web. Os erros parecem aleatórios, e a funcionalidade de pesquisa geralmente funciona se os usuários apenas atualizarem a página ou reenviarem a pesquisa.
  • Analisando os logs no microsserviço de pesquisa, a equipe percebe um aumento nos erros devido aos tempos limite de conexão com o Banco de Dados do Azure para PostgreSQL, mas atualmente não têm como saber se um erro que veem nos logs do microsserviço de pesquisa corresponde às páginas de erro que os usuários veem ou não.

Aplicação da abordagem e dos resultados

  • A equipe de desenvolvimento decidiu expandir as informações que registram do aplicativo Web e dos microsserviços principais para aprofundar o problema. Para o cenário de pesquisa, eles estão se certificando de capturar os termos de pesquisa junto com outros atributos de transação disponíveis, como tempo, IP do cliente e o nome de usuário associado à pesquisa. Estes dados adicionais devem fornecer-lhes informações suficientes para poderem correlacionar as transações entre níveis.
  • Essa alteração permitiu que a equipe confirmasse que os tempos limite de consulta do banco de dados, que não estavam sendo tratados corretamente na última atualização do aplicativo, eram a causa raiz das falhas que os usuários estavam enfrentando. Depois de encontrar a causa raiz, foi simples para a equipe implementar uma correção.
  • A equipe agora está projetando uma nova abordagem, usando OpenTelemetry, para implementar uma solução de rastreamento distribuído mais abrangente que abrange todas as camadas de solução.

Visualize dados de monitoramento em painéis

Agregue e visualize dados em painéis para apresentar dados de monitoramento que atendam ao público e mantenham o contexto de negócios em mente. Use painéis situacionais para revelar dados para aumentar a conscientização entre as partes interessadas. Use painéis operacionais e pastas de trabalho com recursos de detalhamento para atividades do operador, como resposta a incidentes. Atualize frequentemente os painéis e forneça dados granulares.

Com visualizações, você pode analisar tendências, acompanhar metas de negócios e gerenciar incidentes.

Painéis adaptados ao interesse do cliente tornam a interpretação relevante e aceleram o tempo de deteção e ação.

O desafio da Contoso

  • A equipe de carga de trabalho agrega dados de telemetria de todas as camadas de solução em um único espaço de trabalho do Log Analytics, que pode ser acessado pelas equipes de operação e desenvolvimento e outras partes interessadas do projeto. No entanto, interagir com os dados é difícil e complexo, o que é frustrante para os membros da equipe que precisam discernir o ruído de fundo dos dados acionáveis.

Aplicação da abordagem e dos resultados

  • A equipe embarca em um esforço para agregar e visualizar dados usando painéis. Cada painel será adaptado a um público específico:
    • Os painéis das partes interessadas da solução serão mais orientados para o negócio, apresentando uma visão geral de nível mais alto da saúde geral da solução, juntamente com indicadores de negócios como o número de usuários atendidos, pesquisas e reservas realizadas.
    • Os painéis operacionais e pastas de trabalho terão dados mais detalhados e granulares para a equipe de operações. Esses painéis terão recursos de detalhamento que permitirão aos usuários explorar os dados em diferentes níveis de granularidade. Os usuários poderão usar esses painéis e pastas de trabalho para executar tarefas de solução de problemas e outras tarefas de resposta a incidentes.
  • Os painéis permitirão que os usuários analisem tendências, rastreiem metas de negócios e gerenciem incidentes de forma mais eficaz. Os dados apresentados em cada painel serão mais relevantes para o seu público-alvo e serão impulsionados pelos seus interesses e necessidades.

Projetar uma estratégia de alerta robusta

Torne os alertas acionáveis notificando as funções responsáveis com descrições padronizadas e níveis de gravidade. Forneça informações que são agrupadas de várias fontes e rastreie desvios de metas de negócios.

Acione alertas apenas para incidentes que exijam ação e procure alertas proativos e instigantes que iniciem ações antes que um estado degradado se torne uma falha. Um bom sistema de alerta identifica ações e gravidade e fornece apenas dados suficientes para gerar clareza e propósito. Os operadores podem iniciar a remediação sem demora.

O desafio da Contoso

  • O Azure Monitor é usado para enviar alertas para a equipe de operações quando algo dá errado. No entanto, a equipe atualmente recebe muitos alertas que são irrelevantes, obscuros ou redundantes. Isso causa fadiga de alerta e está afetando a produtividade da equipe e fazendo com que alguns alertas importantes passem despercebidos.
  • Também houve algumas situações de interrupções que poderiam ter sido evitadas ou minimizadas se um alerta fosse enviado antecipando uma falha. Se a equipe tivesse alertado melhor para a degradação antes que as interrupções ocorressem, essas situações poderiam ter sido evitadas. Por exemplo, houve ocasiões em que lentidão no tempo de processamento de consultas de banco de dados resultaram em interrupções. Ao solucionar as interrupções, a equipe percebe que o desempenho do processamento de consultas diminui lentamente com o tempo, ficando cada vez pior até causar uma interrupção completa.

Aplicação da abordagem e dos resultados

  • A equipa de operação lança uma iniciativa para limpar todos os alertas de baixa prioridade que causam fadiga de alerta. Apenas alertas críticos e acionáveis podem permanecer ativos. Além disso, a equipe revisa (e aprimora conforme necessário) os alertas que permanecerão ativos para garantir que eles contenham contexto suficiente para permitir que eles tomem as medidas corretivas necessárias.
  • Eles também aproveitam a oportunidade para definir novos alertas proativos e acionáveis que lhes permitirão agir antes que uma falha aconteça. Por exemplo, eles geram um novo alerta para notificar os DBAs assim que uma lentidão consistente no desempenho da consulta do banco de dados aparecer.
  • Como próxima etapa, a equipe está analisando a automatização de respostas a alertas comuns, como a situação com o desempenho da consulta do banco de dados.

Verifique o seu conhecimento

1.

Como a Contoso conseguiu identificar a causa raiz do problema com páginas em branco e erros genéricos que alguns usuários enfrentaram?

2.

Qual das seguintes opções é uma boa maneira de projetar painéis de monitoramento?

3.

Verdadeiro ou falso: os alertas devem ser, na sua maioria, informativos.