As empresas estão sempre mudando, e os programas feitos nos anos 90 precisam melhorar para agradar os clientes exigentes de hoje.

Mesmo assim, nossos sistemas antigos ficaram duros e difíceis de mudar. Eles ainda usam tecnologia de 20 anos atrás.

Antes de começar a mudar, veja estes artigos sobre Por que migrar uma aplicação? e Quando migrar o legado?.

Se decidiu seguir adiante, aqui está um guia de como migrar.

Imagem de sistema legado

Entendendo a mudança

Modernizar sistemas envolve manutenção, modernização e substituição.

  • Manutenção: Corrige erros e adiciona coisas novas. Precisamos ter paciência.
  • Modernização: Muda boa parte do sistema, como uma reforma.
  • Substituição: Refaz tudo do zero. Isso pode ser arriscado.

As empresas gostam mais de modernização e manutenção do que substituição.

Imagem de modernização

Estratégias para modernizar

Para modernizar, precisamos de boa infraestrutura, nuvens, microsserviços, APIs e DevOps.

Planeje bem as mudanças e veja se a empresa está preparada para novas soluções. As novas implementações precisam caber no orçamento.

Por exemplo, reduzir custos pode levar a mover para a nuvem (Re-hosting), mas tenha cuidado com a segurança, que pode complicar o Re-architecting.

Pense bem nas suas escolhas e veja se são boas. Pergunte-se:

  • Posso trocar por um produto comercial?
  • O que meu app atual já faz?
  • Como acesso e uso os dados?
  • Quantas integrações têm e serão afetadas?
  • Preciso substituir produtos/componentes externos?
  • Quero mudar tudo para microsserviços?
  • Já conferi o impacto no orçamento?

Considere usar tecnologias open source e explorar a nuvem, containers, OpenAPI e serviços de mensagens. Decida se vai usar banco de dados relacional ou NoSQL em alguma parte do sistema.

Imagem de estratégia de modernização

6 R's da Modernização

Opções de modernização

Os 6 R's ajudam a cuidar do legado:

6 R's

Retain

Espere para modernizar até ser necessário.

Retire

Desligue sistemas velhos para economizar recursos, mas com cuidado.

Rehost

Troque de infraestrutura, por exemplo, para nuvens, usando a técnica "lift-and-shift".

Replataform

Atualize a plataforma, como mudar Web Forms para PWAs, usando a nuvem.

Refactor / Rearchitecture

Reconstrua e modernize, mas mantenha as regras de negócio. Use containers, APIs e microsserviços.

Replace / Repurchasing

Adote soluções novas por completo. Isso pode ser caro e arriscado, mas às vezes é necessário.


Os 6 R's são uma boa ajuda para modernizar.

Conclusão

Pense bem antes de decidir modernizar. Veja se as mudanças combinam com os objetivos da empresa e o que os clientes querem. As decisões que você tomar podem definir o sucesso ou fracasso do seu sistema antigo.

Referências