Ir para o conteúdo principal

[ETP] Monitoramento de falhas na aplicação do SID

ESTUDO TÉCNICO PRELIMINAR - ETP

Autores:
José Lucas da Silva Costa,
João Pedro Rocha Brito,
Jônatas Neves Legal

1 - Introdução

Atualmente o SID (Sistema Integrado de Descanso) é o sistema responsável pelo controle de férias do Poder Executivo Estadual. A problemática que estudo busca abordar, envolve monitorar erros na aplicação do SID por meio de ferramentas. O objetivo principal é simplificar o entendimento técnico de falhas relatadas em chamados de usuários. Em esquemas de monitoramento e supervisão, a detecção e diagnóstico de falhas, quando presentes, demonstram alta eficiência e qualidade. Para atingir tais propriedades, essas estruturas são baseadas em tecnologias que permitem a detecção e o diagnóstico de falhas em tempo real. 

 

2 - Complexidade

A detecção de falhas é baseada em modelos matemáticos de sinais e processos, enquanto o diagnóstico de falhas é focado na teoria de sistemas e modelagem de processos. O monitoramento e a supervisão se complementam no gerenciamento de falhas, permitindo o funcionamento normal e contínuo. Sua aplicação evita a parada de processos produtivos pela detecção precoce de falhas e pela aplicação de ações em tempo real para eliminá-las, como manutenções preditivas e pró-ativas baseadas nas condições do processo. A integração de todas essas metodologias permite sistemas inteligentes de monitoramento e supervisão, possibilitando a detecção e diagnóstico de falhas em tempo real. 

 

3 - Possíveis problemas

Um dos problemas de monitorar falhas é a escolha da tecnologia apropriada, a equipe técnica chegou ao entendimento que dentre as várias opções no mercado, neste momento cabe optar pela plataforma Sentry.IO (https://docs.sentry.io/) devido a sua documentação e implementação ser de fácil entendimento.

Em trecho de documentação acostada do Sentry.IO fica abordado a compatibilidade das tecnologias, vejamos:

"Nosso .NET SDK oferece suporte a todas as versões recentes da plataforma e se integra bem a uma variedade de estruturas e pacotes populares no ecossistema. Ele dá aos desenvolvedores dicas úteis sobre onde e por que um erro ou problema de desempenho pode ter ocorrido.

Este SDK é compatível com .NET Standard 2.0 e .NET Framework 4.6.1. Para versões mais antigas, como .NET Framework 3.5, consulte nosso SDK legado."

Atualmente a SETIC é composta majoritariamente pelo desenvolvimento .NET, posto isto, a ferramenta atende o problema proposta especificamente no SID.

 

4 - Valor agregado

As exceções do .NET não são uma coisa totalmente ruim. Somente erros ou falhas são ruins. Se as exceções são tratadas corretamente, ou seja, lançadas e capturadas por uma plataforma de monitoramento. Muitas exceções não tratadas podem tornar o código ineficiente e afetar o desempenho do aplicativo. As exceções ocultas são os piores casos. Quando deixados sem tratamento, elas podem afetar o tempo de carregamento da página do SID.

Outro problema do .NET é registrar excessivamente as exceções. O registro pode ser uma ótima ferramenta para arsenal de depuração para identificar anormalidades registradas no momento do processamento do sistema. Mas quando o registro é configurado para capturar exceções em cada camada da arquitetura do aplicativo, pode-se acabar tendo a mesma exceção registrada nas camadas da web, de serviço e de dados.

No entanto, isso pode adicionar carga adicional ao código do aplicativo e aumentar o tempo de resposta. Em ambientes de produção, é preciso ter cuidado para registrar apenas eventos fatais e erros. Registrar tudo, incluindo mensagens informativas, depurações e avisos, pode facilmente sobrecarregar seu arquivo de registro de produção e, por sua vez, afetar o processamento do código.

Enquanto a equipe se concentra em detectar e solucionar todas esses falhas, também é importante ter por objetivo escrever um código limpo e eficiente resolve muitos problemas no lado .NET. Manter o SID e infraestrutura em boas condições e implementar as ferramentas necessárias para monitorar é essencial. Isso o ajudará a fornecer o SID com alto desempenho e experiência digital.

Outro fator importante são os chamados que chegam para a equipe de desenvolvimento, na maioria das vezes as capturas de tela feitas pelo usuário não fornece muitas informações acerca do problema que está acontecendo, observemos a imagem a seguir:

image-1633091888692.png

Fonte: chamado nº 450249692

Visto essa premissa, tendo uma plataforma que monitore os erros do SID vai aumentar a eficiência e rapidez do time de desenvolvimento em resolver falhas, pois atualmente perde-se muito tempo nas tentativas de diagnosticar o erro e também certo tempo para resolvê-lo de fato.

Em suma, a implementação do SENTRY.Sentry.IO para monitorar falhas traria valor agregado do ponto de vista de tempo e eficiência, melhoria o foco do time nas histórias de novas implementações ao invés das falhas envolvidas.

 

5 - Conclusão do estudo

O presente ESTUDO TÉCNICO PRELIMINAR, elaborado pelos integrantes TÉCNICOS do time TITÃS, considerando a análise dos desafios técnicos envolvidos e citados, conclui pela VIABILIDADE DA IMPLEMENTAÇÃO DA PLATAFORMA SENTRY.IO, uma vez que foram considerados os potenciais benefícios em termos de eficiência e também os problemas envolvidos, principalmente potenciais problemas da aplicação. Em complemento, os contratempos identificados são administráveis, pelo que RECOMENDAMOS o prosseguimento da demanda.