3 maneiras de dar nova vida a aplicativos antigos

3 maneiras de dar nova vida a aplicativos antigos

Aplicações mais antigas podem ter sua vida útil estendida através de diversas abordagens.

Imagem em destaque

Os líderes tecnológicos enfrentam frequentemente uma decisão difícil sobre o que fazer com aplicações e plataformas mais antigas. Esses aplicativos podem ser executados em hardware mais antigo ou usar ferramentas e linguagens de desenvolvimento que não são mais comuns. Talvez sejam de um fornecedor que não esteja mais no mercado ou baseados em um código personalizado desenvolvido por uma equipe que se aposentou ou deixou a empresa anos atrás.

A opção óbvia é substituir essas plataformas. No entanto, como pode atestar qualquer pessoa que tenha passado por um processo de seleção, implementação e transição, isso muitas vezes é mais difícil (e mais caro) do que parece.

Então, o que você deve fazer em vez disso? Aqui estão três maneiras de atualizar aplicativos antigos e torná-los valiosos para sua organização.

Por que não substituir aplicativos antigos?

Abordamos os custos associados à substituição de aplicativos e plataformas desatualizados. Vamos detalhar isso ainda mais.

Há o custo relativamente simples de aquisição e implementação do novo aplicativo e do hardware associado, mas também outros custos menos óbvios, incluindo taxas de licenciamento de software, custos de treinamento, taxas de manutenção contínua e muito mais. Você pode gastar grandes quantias de dinheiro em:

  • Migrando funcionalidade personalizada. A maioria dos sistemas mais antigos está repleta de anos de ajustes e personalizações exclusivas, então você precisará acomodar essas personalizações na nova plataforma ou identificar alternativas.
  • Integrações. Quanto mais antigo o sistema, maior a probabilidade de ele ter interfaces e integrações com dezenas de outras plataformas. Um sistema de contabilidade empresarial pode até ter centenas de interfaces que vão desde interfaces transacionais em tempo real até lotes noturnos. Eles devem ser identificados e duplicados em seu novo aplicativo, ou você precisará criar uma “camada de tradução” para conectar o novo sistema.
  • Migração de dados. Os dados nos sistemas antigos devem ser migrados de alguma forma. O método mais fácil é deixar o sistema antigo em modo “somente leitura”, permitindo que os usuários façam referência aos dados, mas não atualizem as transações. Embora fácil, é a abordagem menos amigável e requer suporte e manutenção contínuos do sistema antigo.

Essas complexidades podem dobrar (ou mais) o custo de implementação de um sistema de substituição. Durante a sua análise, vale a pena considerar se o aplicativo antigo pode ser atualizado para prolongar sua vida útil ou pelo menos se preparar para uma eventual substituição por meio de algumas escolhas técnicas inteligentes.

Como atualizar aplicativos antigos

Agora, vamos dar uma olhada em como dar nova vida a aplicativos antigos.

Nº 1: Mudança para serviços

Uma abordagem é mudar os aplicativos para uma abordagem baseada em serviços. Essa arquitetura tecnológica divide sistemas monolíticos em serviços discretos e fornece uma API para comunicação com outros serviços. Por exemplo, você pode ter um serviço de status de pedido que aceita o número do pedido do cliente e recupera a data do pedido, o status, as informações de rastreamento e os itens de linha do pedido.

Como existe uma API padrão para recuperar o status do pedido, não importa se um aplicativo COBOL de 30 anos contém as informações do pedido ou se é um aplicativo em nuvem moderno.

Ao fazer a transição dos principais aplicativos para serviços, você pode eventualmente atualizar os aplicativos que fornecem cada serviço sem afetar outras aplicações. Na verdade, você criou uma abordagem comum para troca de dados que permite modificar componentes únicos sem afetar outros componentes.

Essa transição pode ser cara e complexa durante a implementação inicial, mas aplicativos de gerenciamento de API como MuleSoft e Boomi podem acelerar a implantação. Você também pode criar serviços lentamente, começando com um subconjunto limitado e adicionando gradualmente mais à medida que atualiza e modifica suas plataformas tecnológicas.

Nº 2 Modernize a experiência do usuário

A tecnologia equivalente a uma nova camada de tinta e algum paisagismo para melhorar a atratividade de uma casa antiga também pode ser aplicada a aplicações mais antigas. Em muitos casos, melhorar a interface e a experiência do usuário de um aplicativo pode melhorar drasticamente a satisfação do usuário finalque pode ser o que está gerando chamadas para substituir o aplicativo.

Por exemplo, aplicativos complicados de tempo e despesas baseados em software de contabilidade empresarial como Oracle ou SAP são a ruína das rotinas semanais de muitos usuários. No entanto, um aplicativo móvel bem projetado e fácil de usar é muito menos dispendioso do que substituir o pacote de contabilidade, mas pode aumentar drasticamente a satisfação do usuário.

Um front-end moderno permite a recriação mínima de lógica de negócios complexa e mantém todas as interfaces downstream, personalizações e processos complexos associados ao aplicativo antigo, mas dá nova vida ao aplicativo para o usuário final.

Com a prevalência de ferramentas de desenvolvimento front-end rápido, é mais fácil do que nunca criar interfaces modernas para sistemas mais antigos.

Ao considerar essa abordagem, concentre-se em tarefas distintas em vez de tentar criar “telas bonitas” que dupliquem cada tela do aplicativo antigo. Por exemplo, a entrada de pedidos na maioria dos softwares empresariais pode compreender diversas telas e centenas de campos potenciais. Se sua empresa usa apenas um subconjunto, projete seu front-end para mostrar apenas esses campos e consolide-os em uma única tela. Usuários avançados e administradores podem acessar o sistema completo, mas fornecer interfaces úteis projetadas apenas para mostrar aos usuários típicos o que eles precisam pode torná-los mais eficazes em seus trabalhos e aumentar a satisfação com o sistema.

#3 Levante e mude

Para muitos aplicativos mais antigos, o desempenho e o custo de manutenção do hardware subjacente podem ser o principal fator para a substituição do sistema. No caso de aplicativos mais antigos baseados em mainframe, as atualizações podem ser extremamente caras e talvez de benefício limitado se o aplicativo for eventualmente substituído.

Um dos grandes benefícios da computação em nuvem é que você pode mover essas cargas de trabalho para um provedor de nuvem, adquirir capacidade de computação conforme necessário e, essencialmente, deixar seu provedor de nuvem se preocupar com a manutenção e atualização do hardware.

Um benefício adicional da migração para a nuvem é que muitos provedores oferecerão assistência na chamada operação “lift and shift” para migrar seu aplicativo para sua plataforma. Este não é um ato de benevolência de forma alguma. Em última análise, a migração do seu aplicativo resultará em taxas de computação na plataforma, mas essas taxas podem ser significativamente menor do que o suporte a hardware mais antigo para um futuro próximo.

Uma migração para a nuvem também pode prepará-lo para a transição para uma arquitetura baseada em serviços, já que a nuvem pode ser uma plataforma consolidada para comunicação com aplicativos e serviços internos e outros externos.

Atualização de aplicativo

Embora possa ser tentador escolher imediatamente a substituição quando confrontado com a eliminação de um sistema mais antigo, uma combinação de abordagens pode permitir que essa decisão dispendiosa seja adiada e que os recursos sejam mobilizados para uma prioridade mais urgente.

Conteúdo Relacionado

O Rails 8 sempre foi um divisor de águas...
A GenAI está transformando a força de trabalho com...
Entenda o papel fundamental dos testes unitários na validação...
Aprenda como os testes de carga garantem que seu...
Aprofunde-se nas funções complementares dos testes positivos e negativos...
Vídeos deep fake ao vivo cada vez mais sofisticados...
Entenda a metodologia por trás dos testes de estresse...
Descubra a imprevisibilidade dos testes ad hoc e seu...
A nomeação de Nacho De Marco para o Fast...
Aprenda como os processos baseados em IA aprimoram o...
A web está em constante evolução, e com ela,...
A Inteligência Artificial (IA) tem sido um tema cada...
Você já se sentiu frustrado com a complexidade de...
O OpenStack é uma plataforma de computação em nuvem...
Você já se sentiu frustrado com a criação de...
A era digital trouxe uma transformação profunda na forma...
Nos dias atuais, a presença digital é fundamental para...
Introdução Quando se trata de desenvolvimento de software, a...
Como desenvolvedor Dart, você provavelmente já se deparou com...
返回博客

发表评论

请注意,评论必须在发布之前获得批准。