O que é a modernização de aplicativos?
Hoje, a modernização de aplicativos refere-se principalmente à transformação de aplicativos legados monolíticos em aplicativos da cloud criados na arquitetura de microsserviços.
Assine a newsletter da IBM Conheça o IBM Turbonomic
Fundo em preto e branco
O que é a modernização de aplicativos?

A modernização de aplicativos é o processo de modernização da infraestrutura da plataforma, arquitetura interna e/ou recursos de aplicativos legados existentes. Atualmente, grande parte da discussão sobre a modernização de aplicativos está centrada em aplicativos monolíticos locais, geralmente atualizados e mantidos usando processos de desenvolvimento em cascata, e como esses aplicativos podem ser trazidos para a arquitetura de cloud e para padrões de lançamento, ou seja, microsserviçosDevOps.

Os benefícios da modernização de aplicativos consistem na melhoria da velocidade de entrega de novos recursos, exposição da funcionalidade dos aplicativos existentes a serem consumidos via API por outros serviços e transferência de aplicativos para novas plataformas, do local para a cloud, para fins de ajuste de escala e desempenho de aplicativos, bem como a estratégia de longo prazo para área de TI e data centers.

Os desafios da modernização de aplicativos normalmente se resumem a custo e complexidade. Mover um aplicativo on-premises para a cloud sem pensar no ROI é mover aplicativos apenas por movê-los. Por outro lado, outros aplicativos podem se beneficiar consideravelmente da reformulação de plataforma ou da redefinição da arquitetura, mas estão integrados tão profundamente nos sistemas e nas infraestrutura existentes que a complexidade da modernização pode superar os benefícios.

A chave para o sucesso na modernização de aplicativos, como a maioria das coisas, se resume à estratégia e à escolha de projetos de modernização de aplicativos nos quais os benefícios de cloud, velocidade, desempenho, ajuste de escala e desenvolvimento de novos recursos, entre outros, são aqueles que oferecem a um determinado aplicativo um caminho claro para melhorar a experiência do cliente e o ROI.

Descubra como a IBM pode ajudá-lo a modernizar aplicativos mais rapidamente
Por que modernizar os aplicativos legados?

Além disso, os aplicativos legados geralmente são aplicativos monolíticos. Os aplicativos monolíticos possuem duas características que os tornam excelentes candidatos para modernização: são difíceis de atualizar e seu ajuste de escala é complexo e de alto custo.

Os aplicativos monolíticos são difíceis de atualizar por razões arquitetônicas. Como todos os componentes de um aplicativo são fornecidos em conjunto, incluir recursos é algo difícil e oneroso devido aos altos custos gerais decorrentes dos desafios de complexidade e integração.

Seu ajuste de escala é complexo e caro por motivos semelhantes. Se até mesmo um componente de um aplicativo está enfrentando desafios de carga e desempenho, pode ser necessário ajustar a escala de todo o aplicativo para atender apenas ao componente único mais exigente. Essa abordagem vem com um considerável desperdício de computação.

Ao modernizar um aplicativo para uma arquitetura de microsserviços, os componentes são menores, livremente integrados e podem ser implementados e escalados independentes uns dos outros. Embora isso tenha seus próprios desafios, essa abordagem é onde grande parte do valor central da modernização será percebida.

O vídeo a seguir explica mais sobre as arquiteturas de microsserviços:

Avaliações de modernização de aplicativos

A maneira mais importante de iniciar qualquer projeto de modernização de aplicativos é com uma avaliação dos aplicativos. Fazer um inventário quase sempre é uma das maneiras mais óbvias de iniciar qualquer transformação como essa.

Após ter uma lista em mãos, podemos começar a representar todos esses aplicativos graficamente em relação aos eixos x e y de facilidade/dificuldade e aumento de valor em no caso de modernização. Também é possível pensar em valor "potencial" como o quão crítico é o aplicativo para a experiência do cliente e para o futuro da sua organização.

Os aplicativos que se enquadram no quadrante superior direito desta grade de alto valor e baixo esforço serão os candidatos mais óbvios e menos polêmicos para iniciar um projeto de modernização de aplicativos.

As decisões mais complicadas recairão sobre os aplicativos de alto valor que são difíceis de migrar. Para isso, também não precisa ser uma estratégia de tudo ou nada no primeiro dia. Existem abordagens para a modernização de aplicativos, nesses casos, que podem reduzir o risco e o custo e, ao mesmo tempo, mover seu portfólio na direção certa.

Padrões de modernização de aplicações

Existem diversas abordagens conhecidas para a modernização de aplicativos que se concentram na combinação da plataforma, da arquitetura do aplicativo e da exposição de uma funcionalidade do aplicativo por meio de API.

De monólito para microsserviço. O padrão mais comum de modernização de aplicativos envolve a refatoração e divisão de um aplicativo monolítico em um conjunto de pequenos microsserviços livremente integrados.

No exemplo de arquiteturas de microsserviços acima, um aplicativo de varejo foi dividido de um único aplicativo de n-camadas para um conjunto de microsserviços de todos os serviços individuais dentro do aplicativo, cada um com seu banco de dados e modelo de dados.

Uma abordagem possível é conhecida como "padrão strangler". Em vez de dividir o monólito de uma só vez, o padrão strangler divide o aplicativo parte por parte, retirando primeiramente as mais fáceis e valiosas, até que eventualmente sobre nada do monólito.

Migração para a cloudGeralmente parte da refatoração para microsserviços, a replicação ou mudança de hospedagem de aplicativos quase sempre faz parte do processo de modernização. Embora seja possível simplesmente mudar os aplicativos sem a necessidade de muita recodificação, geralmente o valor é encontrado na reestruturação do aplicativo para que ele utilize os modelos de cloud com mais eficiência, vezes por meio de contêineres e Kubernetes. (Saiba mais sobre migração para a cloud)

Expondo a funcionalidade por meio de APIs

Por fim, outra abordagem de modernização pode envolver deixar um aplicativo em seu local atual mas expor, com segurança, suas funções ou dados por meio de APIs. Essa abordagem, mais baseada na integração do que na migração, permite que novos aplicativos nativos em cloud  simplesmente utilizem os recursos de sistemas e dados existentes.

Principais tecnologias para modernização de aplicativos

Existe um amplo portfólio de tecnologias que podem facilitar os processos de modernização pelos quais a maioria das organizações está passando.

Cloud privada, cloud híbrida e multicloud

Embora a cloud pública seja uma parte crítica de qualquer estratégia de modernização, as estratégias de cloud privada, cloud híbridamulticloud  são extremamente importantes por motivos de segurança, latência e arquitetura.

Por vários motivos, uma organização pode não estar pronta para ir direto do data center para a cloud pública; os outros modelos de cloud podem ajudar a resolver toda a complexidade arquitetônica e de política associada ao local onde certas cargas de trabalho precisarão residir, com base em suas características específicas.

Contêineres e Kubernetes

Os contêineres e os Kubernetes surgiram não apenas como alternativas às máquinas virtuais (VMs) como forma de computação multifuncional na cloud, mas também como um importante capacitador de estratégias de modernização de cloud híbrida e de aplicativos.

A conteinerização possibilita que um aplicativo seja integrado de formas consistentes e leves para que possam ser executados de forma consistente em ambientes desktop, cloud ou local. Esse tipo de flexibilidade é um benefício real para organizações que buscam avançar em sua jornada para a cloud.

Soluções relacionadas
Red Hat OpenShift on IBM Cloud

Com o Red Hat OpenShift on IBM Cloud, os desenvolvedores do OpenShift têm uma maneira rápida e segura de conteinerizar e implementar cargas de trabalho corporativas em clusters Kubernetes.

Conheça o Red Hat OpenShift on IBM Cloud
IBM WebSphere Hybrid Edition

O WebSphere Hybrid Edition é o conjunto abrangente de tempos de execução e ferramentas de modernização de aplicativos do WebSphere que oferece suporte para implementações em ambientes no local e nas principais implementações de cloud pública, em máquinas virtuais, contêineres e no Kubernetes.

Conheça o WebSphere Hybrid Edition
Modernização da infraestrutura de TI

A modernização de aplicativos requer uma infraestrutura moderna. Modernize os aplicativos, os servidores e o armazenamento em uso para integrar esses recursos à cloud híbrida e ter um data center à disposição para tudo o que estiver relacionado com IA.

Conheça a modernização da infraestrutura de TI
Recursos Continue sua jornada com um portfólio de aplicativos pronto para o futuro

Uma maneira de ser bem-sucedido logo nas primeiras etapas é identificar os aplicativos centrais ao seu negócios e modernizar suas principais dependências.

Guia de vendas de modernização de aplicativos

Este guia descreve como acelerar a modernização de seus aplicativos, aumentar a produtividade de desenvolvedores e melhorar a eficiência operacional e padronização.

O que é o Kubernetes?

Kubernetes é uma plataforma de orquestração de contêineres de software livre que automatiza a implementação, o gerenciamento e o ajuste de escala de aplicativos.

Dê o próximo passo

Permita que a IBM forneça o conhecimento e as ferramentas de modernização de aplicativos que sua equipe precisa para impulsionar a inovação e levar seus negócios ao próximo nível. Nossos mais de 100.000 especialistas e consultores estão prontos para ajudá-lo a redesenhar processos, aplicativos e infraestruturas em cloud. Mais de 20.000 clusters Kubernetes de produção estão em execução na IBM Cloud; mais de 3.200 clientes contam com software IBM na plataforma de cloud Red Hat.                                                   

Selecione um desafio e comece já