Superintendência Estadual de Tecnologia da Informação e Comunicação | Última Alteração | Versão | |
Time: | Esquadrão Suicida | 19/03/2024 | 1.0 |
Integrantes: | Vinicius Rosa/ Diego Barros / Igor Ramos |
|
|
Product Owner: | Nara Feitosa |
Essa documentação se baseia no desafio de listar os principais requisitos para uma boa integração/estabilidade no ambiente do projeto e-estado.
Para começar vale listar as tecnologias utilizadas nos principais projetos:
O projeto e-estado web é feito em PHP com framework codeigniter, esse projeto é a “ponta” do projeto, onde é possível visualizar/manipular todos os dados(cautela, imóveis, rh).
Problemáticas atuais são: gerenciamento de log, falta de padrão, estabilidade no banco de dados, código depreciado dentro do projeto.
Solução: ter parte do time para refatorar alguns módulos, por exemplo: em duas sprint mudar a parte de recursos humanos, tirando as querys das models, passando para as repositories, regra de negócios sendo trazidas para service.
Com uma boa arquitetura para migrar para um framework mais robusto, como por exemplo o laravel.
O projeto de microservice utiliza principalmente o NodeJs, ele serve o projeto web, como também outros projetos como por exemplo api de servidores serve o projeto portal do servidor.
Problemáticas atuais são:
Implementação de log;
Falta de padrão no projeto;
Código depreciado dentro do projeto;
Necessidade de um APM para monitoramento de rotas;
Versionamento de APIS;
Criação de circuit breaker;
Banco de dados centralizado.
Possui um banco de dados de leitura, assim pode-se minimizar a carga do banco de dados principal.
Porém não basta simplesmente ter um banco de dados réplica, necessita alterar a maior parte da arquitetura do projeto, para configurar quando o banco réplica será utilizado.
Para uma maior manutenibilidade do projeto necessitamos criar um projeto base, que servirá de exemplos para os novos e os existentes,
os padrões de projeto contribuem para a criação de software de alta qualidade, facilitando o desenvolvimento, manutenção e comunicação entre os envolvidos no projeto.
Os logs são registros das ações realizadas nos sistemas. Eles podem registrar falhas, exceções, ajudar a depurar erros, identificar violações de segurança e fornecer informações úteis para os desenvolvedores analisarem.
O APM (Application Performance Monitoring) do Elasticsearch é uma solução para monitorar a performance de aplicações, que faz parte do Elastic Stack (anteriormente conhecido como ELK Stack, acrônimo para Elasticsearch, Logstash e Kibana). O Elastic APM ajuda desenvolvedores, engenheiros de operações e especialistas em qualidade a identificar problemas de desempenho em suas aplicações de forma rápida e eficiente.
O Elastic APM fornece uma visão detalhada do desempenho de suas aplicações, capturando informações como tempo de resposta de solicitações, taxas de erro, e uso de recursos, entre outras métricas importantes.
As principais características do Elastic APM incluem:
Atualmente todos esse projetos são compartilhados para 3 desenvolvedores, para garantir uma melhor manutenção e execução do projeto, é válido pensar na migração de alguns microservices para o C#, pois é a maior base de “mão de obra” da instituição.
Inicialmente começamos com os projetos menos como por exemplo API de cautela, anexos, almoxarifado, recursos humanos.
Pode-se ter um integrante “chefe” que representa o time esquadrão que cuidaria da parte de migração juntamente com outro time de desenvolvimento para a migração da tecnologia, essa pessoa seria responsável por garantir a regra de negócio, garantir que o novo código seja testável, com devido padrão imposto pelo time de liderança.