Estratégia para modernização de software monólito
29 de março de 2021A 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 podcast “Estraté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