Análise da modernização de sistemas monolíticos legados para micro-serviços à luz da dívida técnica: um estudo de caso corporativo - Loureiro, Caio Henrique Bos (2018)
Devido ao crescente apelo por agilidade e flexibilidade no desenvolvimento de software, sistemas legados tornaram-se grandes gargalos nas corporações globais devido a baixa manutenibilidade e evolutibilidade que apresentam, sendo resistentes às mudanças cada vez mais constantes no dia-a- dia. Para evitar a queda da produtividade das equipes, a estratégia de Strangler Application, uma técnica faseada de modernização de software, vem sendo amplamente adotada devido ao baixo risco e custo associado. Essa estratégia favorece a adoção de arquiteturas de micro-serviços em detrimento aos sistemas monolíticos, já que possibilita a criação de aplicações menores, coesas e autônomas a cada etapa do processo de modernização. Embora 88 por cento das empresas planejem modernizar seus sistemas nos próximos anos, a literatura sobre Strangler Application é escassa assim como os estudos sobre a arquitetura de micro-serviços, já que tais tendências surgiram recentemente na indústria e ainda não puderam ser totalmente exploradas pela comunidade científica. Nesse contexto, um estudo de caso exploratório foi desenvolvido num contexto real de uma grande empresa brasileira baseado na modernização de um sistema monolítico legado em uma arquitetura de micro-serviços através da estratégia de Strangler Application. Métricas de dívida técnica foram coletadas das aplicações para que pudesse ser inferida a qualidade do sistema resultante a cada etapa do processo de modernização, uma da formas de avaliar o sucesso do mesmo. Além disso, a presença do pesquisador no dia-a-dia da empresa durante três anos garantiu o levantamento de uma ampla gama de dados qualitativos. Como resultado, percebeu-se que a dívida técnica pode variar conforme as características do sistema legado e principalmente de acordo com a priorização dos módulos migrados, o que também influência no acoplamento e adequação da nova arquitetura descentralizada construída aos padrões existentes na literatura de micro-serviços. Como contribuição, além da análise de alguns padrões de comunicação utilizados na arquitetura de micro-serviços, um guia de boas práticas de Strangler Application foi desenvolvido buscando consolidar a literatura existente e proporcionar uma transição mais suave entre o mundo de software legado e moderno.