Ir para o conteúdo principal

Monitoramento de falhas na aplicação do SID

Data de elaboração

01/10/2021

Responsável pelo estudo

João Pedro Rocha Brito (Assessor)


Equipe do estudo

João Pedro Rocha Brito (Assessor);

José Lucas da Silva Costa (Analista de Desenvolvimento Full-Stack)

Jônatas Neves Legal (Técnico emTecnologia da Informação e Comunicação) 

Alvo Sistema Integrado de Descanso
Origem

Melhoria: Monitoramento de falhas na aplicação do SID.

Objetivo

Simplificar o entendimento técnico de falhas relatadas em chamados de usuários.
Documentação Correlata

https://documentos.sistemas.ro.gov.br/books/spikes-estudos-tecnicos/page/pronto-avaliar-as-alteracoes-necessarias-para-resolver-a-problematica-de-lentidao-no-sid

Observações

Sem observações.

1. Glossário de Termos

  1. SID - Sistema Integrado de Descanso.
  2. SDK - Software development kit (Kit de desenvolvimento de software).
  3. .NET Framework - É o ambiente de execução de runtime que gerencia os aplicativos destinados ao .NET Framework.
  4. .NET Standard - É uma especificação formal de APIs do .NET que estão disponíveis em todas as implementações do .NET.

2. 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 este 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. 

3. Desenvolvimento - Monitoramento de falhas na aplicação do SID


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.1. 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.

3.2. - 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.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.

4. Conclusão


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. 

5. Referências