Aumentar as funcionalidades de uma aplicação monolítica recorrendo a micro-serviços - Pereira, João Filipe Correia (2023)
O constante crescimento do número de utilizadores e de novas funcionalidades das aplicações, por exigência do mercado, traz desafios ao crescimento das mesmas, em especial às aplicações monolíticas. Com o aumento de utilizadores a aplicação pode não conseguir responder a todos os pedidos que lhe são solicitados. Com o crescimento de funcionalidades a aplicação fica mais difícil de manter e o desenvolvimento é mais lento. Os micro-serviços apresentam-se como uma alternativa viável, uma vez que dividem uma aplicação monolítica em várias aplicações pequenas, o que faz com que a velocidade de desenvolvimento aumente e que a aplicação escale mais facilmente. Existem aplicações monolíticas legadas, com bastantes anos de desenvolvimento e a urgência que o mercado tem por novas funcionalidades impossibilita que o processo de desenvolvimento das mesmas pare para migrar uma aplicação para micro-serviços. Contudo, continuar a desenvolver nessas aplicações monolíticas fará com que a qualidade de serviço dessas aplicações se degrade com o passar do tempo. Nesta dissertação, é apresentada uma solução para resolver este tipo de problema. A solução passa pela implementação de uma arquitetura híbrida. As novas funcionalidades serão implementadas numa arquitetura de micro-serviços, enquanto as funcionalidades existentes continuarão na arquitetura monolítica existente. À medida que a qualidade de serviço da parte monolítica da aplicação for diminuindo, as funcionalidades que mais impactarem o desempenho serão migradas para a arquitetura de micro-serviços.