Estratégia para modernização de software monólito

A democratização das tecnologias tem aberto novas oportunidades para todas empresas no mercado e junto com isso a chegada de novos concorrentes principalmente em um momento globalizado. Para se adaptarem a nova dinâmica as empresas estão em um ciclo continuo de investimento em tecnologia buscando se tornarem mais ágeis e eficientes.
Nos últimos anos nós temos discutido em profundidade o tema modernização de aplicações e principalmente o desenvolvimento utilizando o padrão Microservices com o objetivo de habilitar uma capacidade mais evolutiva nas áreas de negócio além de adequação a uma abordagem Cloud-Native preparando o negócio para usufruir dos principais benefícios da computação em nuvem.

Um passo que considero importante pela minha longa experiência com modernização de aplicações é baseado no cenário existente entender os principais problemas e os novos desafios do negócio que principalmente não são atendidos no contexto atual e qual a gravidade dos problemas atuais em cada contextos para ajudar em uma priorização estratégia pelas áreas de negócio.

Outro passo importante é organizar os contextos de negócio (Bounded Context) usando as práticas de Domain Driven Design (DDD) como um mecanismo de facilitação e estruturação do context map, pois antes dos Microservices é fundamental entender, isolar e priorizar com as áreas de negócio qual a linha de investimento que gera mais valor.

Com a visão da estratégia estruturada você vai discutir jornadas de desidratação do legado que envolve o chamamos de estrangulamento ou StranglerFig com cita Martin Fowler. Toda essa transição envolverá estratégias de integração que são conhecidas como Anti-Corruption Layer pattern como descrito por Eric Evans.

Nesse momento de posse do mapeando da estratégia, impactos e pontos e atuação eu recomendo o desenvolvimento dos Microserices. É fundamental estruturar a fundação do software visando desenvolver um “software bem feito” se baseando em padronização, reúno e muitas práticas já discutidas pelo Robert Cecil Martine muitos outros.

Esses fundamentos são fundamentais para garantir a evolução continua dos projetos, manutenibilidade e principalmente testabilidade. Em nosso produto DevPrime que é um stack para acelerar o desenvolvimento de Microservices nós adotamos a abordagem Hexagonal architecture do Alistair Cockburn com o objetivo de isolar as camadas tecnologias do Micrososerices e tivemos excelentes resultados.

Acompanhe esse bate-papo no podcastEstratégia para modernização de software monólito“. Participe nos comentários e compartilhe.

Gostaria de ajuda na estratégia de software e modernização de aplicações? Faça contato e conheça o nosso produto DevPrime.

Para saber mais:


[],
Ramon Durães