Desapegando do monólito: como abandonar o legado e ir mais rápido para a nuvem?

MODERNIZAÇÃO TECNOLÓGICA 9 de Nov de 2021


Todas as empresas que mantêm sistemas legados querem saber: como quebrar o monólito e transformar minhas aplicações legadas em microsserviços e containers para modernizar meu negócio?

Este é um tema que vem preocupando os executivos porque a modernização dos sistemas e as integrações internas e externas vêm exigindo um nível acelerado de desenvolvimento de produtos, no qual o legado definitivamente não tem mais espaço.

Quem já havia iniciado a estratégia de modernização do legado e da quebra do monólito antes da crise causada pela Covid 19, hoje está se beneficiando de uma operação eficiente e com ganho de escala para expandir seus produtos e serviços e responder mais rapidamente aos novos comportamentos dos usuários.

Pare de levar o "legadão" para a nuvem!

Antes de falar sobre nuvem, vamos entender o que é uma aplicação legada ou um sistema monolítico.

Legado: É aquele código bem antigo que ninguém quer mais botar a mão e costuma ser muito caro para manter, seja do ponto de vista de infraestrutura ou desenvolvimento.

Monólito: É o sistema desenvolvido em um grande bloco de código, onde os códigos de front e back estão juntos e misturados e que normalmente se comunicam com um único grande banco de dados. Uma explicação bonita e polida sobre o que é um monólito pode ser encontrada aqui!

E por que essas aplicações custam caro e são ineficientes para os dias de hoje?

Na prática, qualquer manutenção ou alteração que precise ser feita em uma aplicação se torna complexa, exigindo especialistas técnicos e investimento alto das empresas. Isso porque ao mexer em uma funcionalidade da aplicação corre-se o risco de “dar ruim” em toda a operação.

Então não leve seu monólito ou legado para nuvem, pois vai ficar muito mais caro do que você imagina!

Modernização de aplicaçoes

Por causa disso, é crescente o número de empresas que estão acelerando os processos de modernização tecnológica, não só do ponto de vista do código, mas de toda a stack de tecnologia, que passa por processos de qualidade, infraestrutura, automação, segurança da informação etc.

As vantagens e o caminho para a modernização de aplicações

“A modernização representa hoje a capacidade de inovar, manter-se competitivo, reduzir a barreira digital, propor novos serviços e oferecer uma experiência unificada nos canais de atendimento. Em geral, os nossos clientes levam cerca de 3 dias para modernizar uma aplicação de aproximadamente 100 mil linhas de código, comparado com 42 dias do mesmo processo manual sem a plataforma vFunction", afirma Roberto Monteiro, diretor da vFunction para a América Latina.

De forma simples e automática, a solução vFunction aprende a aplicação do cliente e faz uma sugestão de microsserviços com base nos fluxos de negócios, e o arquiteto ou o desenvolvedor trabalha com a plataforma para refinar os modelos e desenhar o estado futuro dos microsserviços.

Agora, vejamos alguns pontos importantes nessa jornada:

1. Como quebrar o monólito? Existem várias maneiras e técnicas para fazer isso e você vai encontrar muita coisa no Google sobre o assunto. Minha ideia aqui é ser prático e ir direto ao ponto: use a solução vFunction para quebrar seu monólito Java.

Por enquanto, a solução só funciona para Java, mas se você tiver um código .net muito grande, quem sabe isso pode impulsionar o desenvolvimento da versão para essa linguagem?

Você também pode containerizar uma aplicação monolítica e com isso ganhar um pouco de resiliência e escalabilidade e, talvez, rodar essa aplicação numa cloud pública para questões de integração e desenvolvimento. Mas ainda assim, vai ficar preso na dificuldade de atualização do código, da gestão da infraestrutura e de custos muito mais altos.

2. Vou para a nuvem, fico no meu data center ou uso os dois? Se você está em um data center no modelo colocation, talvez não precise sair dele. Você pode montar sua própria cloud!

A partir do momento que você tem suas aplicações como microsserviços, naturalmente, elas irão rodar em containers e com isso, fica fácil você criar um ambiente orquestrado dentro do seu próprio bare metal (servidor dedicado).

Você ainda pode querer rodar parte desses workloads na sua cloud privada e parte deles numa cloud pública e se beneficiar do mundo híbrido, mantendo uma boa gestão de custos, pois irá utilizar a cloud pública de forma mais eficiente e naquilo que ela faz muito bem: escalar rapidamente!

3. Gestão de ambientes cloud native: E agora, José? Tenho um ambiente bacana, rodando em containers, multicloud, vários clusters kubernetes, aplicações serverless, APIs etc. Como gerenciar tudo isso?

O primeiro passo é implementar uma boa stack de observabilidade, em seguida ter um time capacitado para gerenciar a nova stack tecnológica e por último, e não se limitando a isso, adotar uma abordagem DevSecOps. Em um ambiente cloud native, a infraestrutura, o código e a segurança da informação são de responsabilidade de todo o time, por isso a cultura DevOps é o pilar fundamental para evolução do seu negócio.

Seja criando novas aplicações ou quebrando as aplicações monolíticas em microsserviços, para abraçar a modernização de aplicações, as empresas precisam priorizar as suas necessidades de negócio e aplicar as melhores práticas de desenvolvimento em arquiteturas cloud-native, além de contar com o apoio de profissionais ou parceiros especializados.

Fato é que, quanto mais moderna for a operação do negócio, mais competitivo e inovador ele se tornará neste mercado em constante transformação.

| Para dar esse passo rumo ao sucesso dos negócios, conte com um parceiro especializado em modernização tecnológica: da quebra do monólito ao gerenciamento dos serviços em nuvem. Conheça as soluções da O2B !

Andre Galvani

CEO @ O2B