Como ativar o monitoramento para estabilidade do aplicativo

Como ativar o monitoramento para estabilidade do aplicativo

cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br


Nas últimas décadas, as equipes de aplicativos e operacionais têm pregado em voz alta sobre os recursos de monitoramento e alerta para melhorar a resiliência do sistema. No entanto, é apenas com o COVID-19 que esses recursos mudaram de itens de “luxo” para recursos “absolutamente necessários” para garantir a continuidade dos negócios.

À medida que as empresas dão os próximos passos para refinar seus recursos de monitoramento e alerta, é fundamental que todas as partes interessadas entendam e utilizem as mesmas estruturas e métricas. Isso garante que quaisquer problemas imprevistos sejam rapidamente identificados e resolvidos.

Recentemente, conversei com um amigo que trabalha no setor de varejo sobre o aumento repentino de seus negócios online. Uma de suas principais preocupações era garantir a continuidade dos negócios. Eles tiveram um grande incidente em que os clientes não conseguiram fazer pedidos. Este incidente durou cerca de seis horas em um sábado e resultou em uma experiência ruim para o cliente e perda de negócios.

Sua equipe é diretamente responsável por garantir a disponibilidade dos sistemas e o desempenho é medido por meio de um conjunto de acordos de nível de serviço sobre tempo médio de identificação (MTTI) e tempo médio de resolução (MTTR). Especificamente, o problema estava relacionado à conectividade de back-end para uma API crítica, mas a falta de visibilidade reduzia o tempo de identificação e resolução. Na segunda-feira seguinte eles estabilizaram o sistema – o que significa que perderam várias transações importantes. Essa experiência os forçou a revisitar o design e os processos para fornecer um sistema estável para lidar com os picos repentinos, ganhar visibilidade nas transações de negócios de ponta a ponta e reduzir o MTTI / MTTR. O conhecimento dessas métricas desempenha um papel significativo para garantir o mínimo de tempo de inatividade e estabilidade do sistema. A questão é: como podemos saber e melhorar essas métricas?

Como prática, é importante focar na operacionalização das soluções como parte do plano de continuidade do negócio, pois o custo envolvido durante o tempo de inatividade do negócio e também o custo para chegar à identificação e resolução de incidentes podem ser significativos.

# 1 Investimento em recursos de monitoramento

De acordo com Adrian Cockroft, “Seus sistemas estarão tão disponíveis quanto os sistemas que os monitoram”. A seguir estão algumas maneiras de estabelecer um sistema de monitoramento de linha de base:

  • Estabelecendo visibilidade:

Ter visibilidade de todos os serviços de uma empresa permite que a organização tenha melhor controle sobre os sistemas. Ajuda a responder rapidamente, antecipando os problemas e enviando as notificações antes que se tornem falhas do sistema. Negócios e TI devem trabalhar juntos para analisar quais serviços são críticos para os negócios para identificar serviços essenciais e dependentes que teriam o maior impacto na continuidade dos negócios.

cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br

Utilizar as ferramentas de visualização em seus aplicativos / serviços críticos pode ajudar a reunir informações sobre a integridade atual e anterior dos sistemas. Isso permite que você visualize rapidamente onde está recebendo tráfego intenso, alto uso de CPU / memória, falhas, etc. Com um número crescente de arquiteturas baseadas em microsserviços, a necessidade de monitorar o estado de um aplicativo / sistema está se tornando mais importante.

  • Saber o que monitorar / medir:

Reunir métricas e pontos de dados importantes em uma única tela é possível com o uso de ferramentas de visualização que analisam o desempenho de um sistema plotando dados atuais e históricos coletados ao longo de um período de tempo. Isso nos permite obter visibilidade operacional do aplicativo / infraestrutura.

Decidir quais métricas observar para solucionar os problemas com precisão é importante para encontrar a causa raiz do problema. Um ponto de partida pode incluir:

  • Capacidade média
  • Utilização da CPU
  • Utilização de memória
  • Taxa de falha
  • Tempo médio de resposta

Informar as equipes certas para lidar com o problema é tão importante quanto diagnosticar / monitorar um problema. Podemos configurar alertas básicos e avançados que acionariam notificações por e-mail quando um ponto de dados que você está medindo excede ou cai abaixo de um limite específico.

Os monitores de verificação de integridade verificam se os serviços críticos estão em execução e respondendo às solicitações. Isso monitora proativamente todos os terminais críticos. Digamos que você tenha uma API agendada para ser executada todos os dias e deseja garantir que esteja operacional – você pode criar e implantar monitores para garantir que a API esteja respondendo conforme o esperado. Caso contrário, as equipes certas seriam notificadas com antecedência – permitindo que você reduza os riscos de sua API ficar inativa / indisponível durante o ciclo de negócios.

# 2 Manter um livro de execução

É importante ser resiliente a desastres inesperados – permitindo que sua infra-estrutura opere em meio a interrupções. Um runbook de suporte documenta as etapas e tarefas que precisam ser executadas em caso de interrupções não planejadas. Manter um runbook permite que você aja rapidamente em qualquer problema imprevisto.

Um runbook é útil apenas quando é atualizado regularmente. Precisamos, no mínimo, capturar as seguintes métricas:

  • Quando o incidente aconteceu?
  • Qual é a resolução?
  • Tempo típico para resolução
  • Impacto nos negócios
  • Nível de severidade
  • Equipes responsáveis

# 3 Planejamento para carga prevista vs. real

É importante fazer um teste de desempenho antes de ir ao ar para ver se um aplicativo / API pode lidar com os volumes de tráfego esperados. Mantendo os requisitos futuros da API, precisamos fazer testes de carga para avaliar o desempenho da aplicação com o volume “máximo” de dados.

Por exemplo: Se você está esperando 30 mil transações por minuto para seu aplicativo, teste o aplicativo com 40 mil transações para que o aplicativo não trave se o tráfego for maior que o normal. Como um exercício de planejamento de capacidade, revise seus números de teste de pico / carga / estresse antes dos ciclos de negócios de alto volume.

Conclusão

Utilize dados históricos e de monitoramento em tempo real para planejar as tendências / padrões em picos de carga, cenários de erro, tempos de resposta e revisitar a arquitetura e o design do aplicativo. Essas iterações devem incluir, nesses padrões, confiabilidade, tratamento aprimorado de exceções, estruturas de auditoria / registro reutilizáveis ​​e escalabilidade.

Para obter mais informações sobre como garantir o tempo de atividade, operação contínua e confiabilidade de seus aplicativos de missão crítica, baixe nosso clustering de alta disponibilidade (HA) no whitepaper do mecanismo de tempo de execução Mule.


cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br
Luiz Presso
Luiz Presso