Modernização de aplicações: quando reescrever é melhor do que refatorar

Ecossistema F5 | 08 de setembro de 2020

Um dos maiores impactos da transformação digital é a disrupção no desenvolvimento de aplicações. Historicamente, a introdução de novas arquiteturas no desenvolvimento de aplicações costuma levar vários anos até ganhar força e ser amplamente adotada. As arquiteturas de aplicações que tendem a dominar setores inteiros acabam se tornando o padrão de fato. Vimos isso acontecer entre meados e o fim da década de 1990, quando o J2EE, lenta mas seguramente, tornou-se o "padrão empresarial" para o desenvolvimento de aplicações web de três camadas.

Hoje, a arquitetura que parece destinada a se consolidar e se tornar o novo padrão é a nativa da nuvem. Essas arquiteturas baseadas em contêineres e microsserviços estão rapidamente passando a dominar novos projetos de desenvolvimento em todos os setores. O crescimento bem-sucedido do Kubernetes, no qual um número significativo dessas aplicações é implantado e operado, indica que essa nova arquitetura de aplicações veio para ficar. Nossa pesquisa mostra que pelo menos metade das organizações está explorando “novas arquiteturas” devido à transformação digital.

impacto no desenvolvimento de aplicativos

Agora, isso costuma ser interpretado como um sinal de que as organizações estão em uma jornada de “modernização”. E nós (o setor) tendemos a falar sobre modernização em termos muito genéricos (e vagos). Como se as organizações fossem simplesmente agitar uma varinha mágica e todos os seus aplicativos passassem a ser desenvolvidos com base nesse novo modelo.

A realidade é que as organizações têm muitas maneiras de modernizar aplicações. Apenas algumas (37%) estão adotando uma abordagem de refatoração. Há inúmeros métodos de refatoração, sendo um dos mais populares o Red Green Refactor. Mas existem outros, incluindo a refatoração preparatória e diversas opções baseadas em abstração. A maioria se baseia na simplificação do código. Em outras palavras, esses métodos dependem, em grande parte, de uma forma menos disruptiva de reescrever a aplicação.

Mas há momentos em que uma reescrita completa é a melhor estratégia de modernização. Em geral, o esforço necessário para reescrever por completo uma aplicação legada pode ser tão grande a ponto de desmotivar até mesmo os defensores mais determinados da transformação digital. Porém, em alguns casos, isso pode gerar uma economia significativa.

Considere a abordagem adotada por uma agência federal para modernizar seu portfólio de aplicações. Como havia uma determinação para migrar para uma metodologia ágil, a agência precisava de uma autorização especial para desenvolver aplicações da maneira tradicional, seguindo o modelo em cascata. O modelo em cascata era a metodologia predominante quando eu programava, então sim, ele é antigo. A agência decidiu que o melhor ponto de partida seria compreender seu próprio portfólio e avaliar a necessidade de cada aplicação.

Durante essa auditoria, eles encontraram quase 200 aplicações — de um total de cerca de 6.000 — que realizavam a mesma tarefa básica de gestão de ativos. Imagine, por um momento, que fosse necessário alterar essa função básica de negócios e, para isso, modificar todas as 200 aplicações.

Isso exige muito tempo e esforço de desenvolvedores e operadores para desenvolver, testar e implantar a mesma função de negócios.

A agência decidiu se modernizar, substituindo todos os 200 aplicativos por um único microsserviço, que agora pode ser usado em toda a agência para rastrear ativos. Desenvolvido com metodologias ágeis e operado em um ambiente moderno, ele pode ser dimensionado para atender às necessidades de todas as áreas que dependiam de seus próprios aplicativos privados e exclusivos.

Nem todos os esforços de modernização se concentram na refatoração. Explorar estrategicamente o que a modernização representa para todo o portfólio de aplicações pode gerar vantagens comerciais significativas. Muitas organizações, especialmente aquelas que operam há décadas, provavelmente enfrentam o mesmo problema de portfólio: a duplicação. Reestruturações, aquisições, fusões e mudanças na gestão podem facilmente levar à duplicação de aplicações.

Seria vantajoso para qualquer organização realizar uma auditoria e racionalização de aplicações como parte de uma estratégia de modernização. Talvez você descubra que possui centenas de aplicações, mas precisa apenas de algumas delas. Esse tipo de estratégia permite que os líderes justifiquem uma aplicação totalmente nova, desenvolvida com uma nova arquitetura, para eliminar a redundância de aplicações e os custos decorrentes dessa situação.

Compartilhar
Tags: 2020

Sobre o autor

Lori Mac Vittie
Lori Mac VittieEngenheiro Emérito e Evangelista-Chefe | F5

Lori MacVittie é engenheira distinta e evangelista-chefe no Escritório do CTO da F5, com ampla experiência em entrega de aplicações, estratégia de automação e infraestrutura. Ela é conhecida por transformar complexidade em clareza, seja definindo diretrizes para agentes de IA, analisando arquiteturas multinuvem frágeis ou investigando os limites de sistemas escaláveis. Ela acumula mais de trinta anos de experiência no setor, abrangendo desenvolvimento de aplicações, arquitetura de TI e operações de redes e sistemas. Antes de ingressar na F5, atuou como editora de tecnologia e recebeu diversos prêmios. MacVittie tem mestrado em Ciência da Computação e é uma autora prolífica, com publicações que abrangem segurança, nuvem e arquitetura empresarial. Ela também é uma entusiasta de jogos de tabuleiro e videogames, além de ter opiniões assumidamente fortes sobre queijos.

Mais publicações de Lori Mac Vittie

Publicações relacionadas no blog

Entrega e proteção de agentes de IA em fábricas de IA: F5 para a arquitetura de referência NVIDIA OpenShell para agentes de IA seguros
Ecossistema F5 | 21/10/2026

Entrega e proteção de agentes de IA em fábricas de IA: F5 para a arquitetura de referência NVIDIA OpenShell para agentes de IA seguros

As soluções da F5 ampliam a Arquitetura de Referência NVIDIA OpenShell para agentes de IA seguros.

Como medir – e minimizar – o custo total de propriedade do seu Kubernetes
Ecossistema F5 | 10/12/2020

Como medir – e minimizar – o custo total de propriedade do seu Kubernetes

O Kubernetes pode ser baixado e executado gratuitamente, mas sua manutenção está longe de não ter custos. Assim como outras grandes plataformas de código aberto que são “gratuitas” apenas em um sentido simplista, o Kubernetes quase certamente exigirá investimentos para ser implantado e operado.

As-Code: a pilha de TI contínua
Ecossistema F5 | 08/10/2018

As-Code: a pilha de TI contínua

Infraestrutura, configuração, pipeline, operações. De repente, tudo é “como código”. Lori MacVittie busca esclarecer a terminologia e identificar os diferentes componentes de uma stack contínua de TI.

O estado da entrega de aplicações em 2017: automação, APIs e DevOps
Ecossistema F5 | 17/04/2017

O estado da entrega de aplicações em 2017: automação, APIs e DevOps

Explore o relatório State of Application Delivery de 2017. Leia o blog retrospectivo da F5 sobre o início da ascensão das redes declarativas e dos pipelines de DevOps.

DevOps Summit: onde a rede foi convidada para a festa
Ecossistema F5 | 11/06/2015

DevOps Summit: onde a rede foi convidada para a festa

No DevOps Summit NY, falou-se muito não apenas sobre DevOps, mas também sobre contêineres, IoT e microsserviços. As sessões se concentraram não só na mudança cultural necessária para crescer em escala com uma abordagem DevOps, mas também fizeram questão de incluir...

F5 e Nutanix convergem em infraestrutura no .NEXT
Ecossistema F5 | 08/06/2015

F5 e Nutanix convergem em infraestrutura no .NEXT

Aplicações empresariais como Microsoft SharePoint e Exchange, juntamente com a VDI, continuam sendo a espinha dorsal da sua empresa. A produtividade, embora não seja tão atraente quanto o lucro, é um fator essencial para o sucesso das operações empresariais atuais. Deixar de...