Como fazer rehosting de aplicativos

​​Para fazer rehosting de um aplicativo, migre-o entre ambientes, normalmente de no local para a nuvem ou, em alguns casos, de volta para o local para cargas de trabalho especializadas, sem alterar sua arquitetura principal ou código.

Objetivos de aprendizado

Após ler este artigo, você será capaz de:

  • Identificar cenários ideais para fazer rehosting de aplicativos para a nuvem
  • Conhecer as melhores práticas para planejar e executar o rehosting
  • Entender as necessidades de infraestrutura além da computação durante o rehosting

Conteúdo relacionado


Quer saber mais?

Assine o theNET, uma recapitulação mensal feita pela Cloudflare dos insights mais populares da internet.

Consulte a política de privacidade da Cloudflare para saber como coletamos e processamos seus dados pessoais.

Copiar o link do artigo

O que é rehosting de aplicativos?

Rehosting de aplicativos, também conhecido como "lift and shift", é o processo de transferir um aplicativo de um ambiente no local para a nuvem com pouca ou nenhuma modificação em sua arquitetura subjacente. Essa abordagem permite que as organizações migrem cargas de trabalho rapidamente sem precisar fazer reengenharia ou modificar profundamente seus aplicativos.

Ao transferir aplicativos para plataformas em nuvem, as empresas podem diminuir sua dependência de hardware físico, reduzir custos operacionais e melhorar a escalabilidade e a resiliência.

Por que as organizações migram aplicativos para a nuvem

Existem vários fatores importantes por trás da migração para ambientes em nuvem:

  • Escalabilidade: as plataformas em nuvem oferecem recursos elásticos que se ajustam à demanda
  • Eficiência de custos: migrar para a nuvem reduz despesas gerais e transfere os gastos para um modelo mais flexível, de pagamento conforme o uso
  • Resiliência e disponibilidade: a infraestrutura em nuvem geralmente fornece recursos integrados de redundância e recuperação de desastres
  • Segurança e conformidade: os principais provedores de nuvem oferecem recursos de segurança e certificações para atender às necessidades de conformidade
  • Inovação: a migração para a nuvem permite ciclos de desenvolvimento mais rápidos, integrações mais fáceis e acesso a serviços como IA, analytics e computação sem servidor

Embora a maioria das organizações migre para a nuvem para desbloquear esses benefícios, uma minoria significativa, normalmente grandes empresas com cargas de trabalho especializadas, está fazendo rehosting de determinados aplicativos de volta em ambientes no local para atender a considerações exclusivas de desempenho, conformidade ou custo.

Como o rehosting apoia a modernização de aplicativos

Modernização de aplicativos refere-se ao processo de atualização e migração de aplicativos de software existentes, e sua infraestrutura subjacente, para atender melhor às necessidades de segurança, desempenho e escalabilidade de uma organização. Uma abordagem comum nesse esforço mais amplo é o rehosting.

Embora o rehosting não envolva alterações significativas no aplicativo em si, ele desbloqueia os benefícios da nuvem e apoia esforços adicionais de modernização, como conteinerização, adoção de microsserviços ou rearquitetura.

Em alguns casos, o rehosting é a etapa final para aplicativos legados que não exigem upgrades significativos. Em outros, serve como uma fase de transição antes de uma transformação mais profunda.

Rehosting versus replataforma versus refatoração

Existem várias maneiras diferentes de abordar a modernização de aplicativos, incluindo:

  • Rehosting: mover um aplicativo para a nuvem (com alterações mínimas)
  • Replataforma: fazer algumas alterações otimizadas para a nuvem, como migrar de um banco de dados autogerenciado para um serviço gerenciado em nuvem, sem alterar o código principal do aplicativo
  • Refatoração: redesenhar ou reescrever um aplicativo para tirar proveito dos recursos nativos de nuvem, como contêineres ou computação sem servidor

Cada abordagem apresenta compensações em termos de tempo, custo e complexidade. O rehosting oferece velocidade e simplicidade, tornando-o uma escolha prática para organizações que buscam reduzir riscos e, ao mesmo tempo, acelerar a adoção da nuvem.

Quais são algumas práticas recomendadas para fazer rehosting?

O rehosting é mais do que apenas mover o código do aplicativo de um servidor em um data center para uma máquina virtual na nuvem. É um processo estruturado que inclui planejamento, automação, testes e escala, não apenas de recursos de computação, mas de toda a infraestrutura de aplicativos.

Avaliação e planejamento

Antes de fazer rehosting de um aplicativo na infraestrutura de nuvem, separe um tempo para entender o que precisa ser movido e como isso interage com outros sistemas.

Identificação de dependências de aplicativos

Durante a fase de descoberta, mapeie os principais componentes e dependências de aplicativos, como um binário de aplicativo monolítico (uma única unidade implantável contendo toda a lógica, como um JAR, WAR ou EXE), uma camada de apresentação renderizada pelo servidor (por exemplo, JSP, ASP.NET), lógica de negócios incorporada diretamente no aplicativo e um banco de dados relacional, geralmente um único RDBMS, como Oracle, SQL Server ou MySQL.

Considere também dependências comuns, incluindo servidores de aplicativos (como Tomcat, WebLogic ou IIS), APIs externas, sistemas de autenticação, regras de rede, IPs ou endpoints codificados e quaisquer outros serviços conectados. Esta lista não é completa, mas abrange muitos dos elementos típicos encontrados nas arquiteturas de aplicativos tradicionais.

Essa etapa ajuda a evitar surpresas durante a migração e garante que todas as partes móveis sejam levadas em consideração.

Avaliação das necessidades de infraestrutura em nuvem

Após o mapeamento das principais dependências, avalie o que o aplicativo precisa em seu novo ambiente:

  • Requisitos de computação e armazenamento
  • Sensibilidade à latência
  • Objetivos de backup e recuperação
  • Zonas de disponibilidade regionais
  • Expectativas de largura de banda sob carga de pico

Esse também é o momento de avaliar a pilha de suporte: DNS, CDN, proteção contra DDoS e observabilidade. O rehosting também é uma oportunidade de modernizar essas camadas.

Escolha do provedor de nuvem adequado

Os provedores de nuvem desempenham um papel importante no sucesso de longo prazo dos esforços de migração. Embora o preço da computação seja muitas vezes o primeiro ponto de comparação, analise mais detalhadamente.

Ao avaliar parceiros de nuvem ou de modernização, é importante procurar um provedor que ofereça um conjunto abrangente de recursos para apoiar o desempenho, a segurança e a eficiência operacional. Isso inclui serviços de back-end escaláveis que podem crescer com a demanda sem introduzir picos de custos imprevisíveis, bem como recursos de segurança integrados em nível de rede, como firewalls de aplicativos web (WAF), proteção contra DDoS e controles de acesso granulares.

Uma rede de distribuição de conteúdo (CDN) global também é essencial para garantir a entrega rápida e consistente de ativos estáticos e dinâmicos para usuários em todo o mundo. Os provedores devem oferecer serviços de DNS integrados que não sejam apenas rápidos e confiáveis, mas também programáveis para apoiar a automação e a resiliência.

Por fim, as ferramentas nativas de observabilidade, ou a integração perfeita com as pilhas de registros e monitoramento existentes, são essenciais para manter a visibilidade e o controle à medida que os aplicativos escalam e evoluem.

Teste e validação pós-migração

O sucesso da migração ocorre quando um aplicativo é executado corretamente, com segurança e eficiência. Após o rehosting, é importante comparar os principais indicadores de desempenho, como latência e taxa de transferência, em relação à linha de base no local para garantir que o aplicativo atenda às expectativas do usuário. A execução de testes de carga pode ajudar a simular a demanda do mundo real e descobrir problemas que podem não aparecer em condições normais. Analisar logs e alertas também é fundamental para identificar anomalias ou configurações incorretas que podem afetar a confiabilidade ou a segurança.

Além do desempenho dos aplicativos, as equipes também devem validar os componentes de infraestrutura de suporte, incluindo resolução de DNS, comportamento da CDN, configurações de TLS e regras de firewall, para confirmar que estão funcionando conforme o esperado no novo ambiente.

Como parte do cutover da migração, a direção do tráfego desempenha um papel fundamental para garantir uma transição tranquila, sem tempo de inatividade voltado para o cliente. Técnicas como mudança de tráfego baseado em DNS, balanceamento de carga ponderado e implantações canárias podem ajudar a migrar gradualmente os usuários da versão do aplicativo em ambiente no local para a versão baseada em nuvem. Isso permite que as equipes monitorem o comportamento do sistema em tempo real, identifiquem os problemas antecipadamente e revertam as alterações, se necessário, tudo isso sem interromper a experiência do usuário final. A coordenação cuidadosa de TTLs de DNS, verificações de integridade e cobertura de monitoramento é essencial para manter a continuidade do serviço durante esta fase crítica.

Monitorar e escalar os recursos em nuvem

A escalabilidade deve ser proativa. Considere a escala automática de grupos ou opções sem servidor, se apropriado para as cargas de trabalho atuais. E monitore os gastos com nuvem, a otimização de custos na migração para a nuvem não para depois que os aplicativos são lançados na nuvem.

A observabilidade contínua após a migração pode ajudar a:

  • Detectar problemas de desempenho com antecedência
  • Gerenciar a utilização de recursos
  • Identificar eventos de segurança

Implementar monitoramento nativo de nuvem ou de terceiros para dar suporte a:

  • Métricas de aplicativos (CPU, memória, erros)
  • Fluxo de rede e anomalias de tráfego
  • Desempenho de DNS e taxas de acertos do cache
  • Eficiência da CDN (cache de borda versus pulls de origem)

Quando fazer rehosting de aplicativos

O rehosting geralmente é ideal quando as organizações precisam migrar rapidamente, evitar esforços de desenvolvimento pesados ou estender a vida útil de um sistema legado. Também pode ser a opção ideal para organizações que procuram reduzir as dependências de infraestruturas físicas e, ao mesmo tempo, iniciam uma transformação mais ampla na sua infraestrutura de TI.

Cenários ideais para fazer rehosting

O rehosting é mais eficaz em cenários em que as organizações têm aplicativos legados estáveis, mas caros, que estão se tornando difíceis de manter no local. Também é uma excelente opção quando há a necessidade de sair rapidamente de um data center ou quando a prioridade é migrar para a nuvem com o mínimo de interrupção na base de código existente do aplicativo.

Para equipes que planejam esforços de modernização mais amplos no futuro, o fazer rehosting pode servir como um primeiro passo estratégico, permitindo mudanças fundamentais hoje, preservando a flexibilidade para a refatoração futura. Nesses casos, o rehosting ajuda a ampliar o valor dos aplicativos legados sem exigir reescritas imediatas, ganhando tempo efetivamente para modernizar ainda mais quando a organização estiver pronta.

Fatores corporativos e técnicos que influenciam o rehosting

Ao avaliar o rehosting como um caminho de modernização de aplicativos, considere o seguinte:

  • Tempo até a nuvem: a rapidez com que a organização precisa mover os aplicativos para um novo ambiente
  • Restrições orçamentárias: se os recursos financeiros atuais permitem esforços de rehosting ou preparam o terreno para esforços de replataforma ou refatoração no futuro
  • Continuidade operacional: a tolerância da organização para possíveis interrupções de serviço durante a migração
  • Funcionários: a disponibilidade de habilidades internas necessárias para apoiar iniciativas de modernização mais profundas

O rehosting pode ajudar a gerenciar restrições de riscos e recursos, fornecendo um caminho para a nuvem com atrito relativamente baixo.

Otimização de custos na migração para a nuvem

O rehosting pode oferecer otimização de custos no curto prazo na migração para a nuvem, reduzindo os custos de manutenção e licenciamento de hardware, a sobrecarga do data center e o tempo de provisionamento da infraestrutura. No entanto, o rehosting sozinho pode não otimizar totalmente os custos no longo prazo. Sem refatoração ou replataforma, os aplicativos podem não usar eficiências nativas de nuvem, como dimensionamento automático, sem servidor ou serviços gerenciados.

No curto prazo, as organizações podem obter um ROI rápido ao eliminar as despesas de capital e a necessidade de infraestrutura física. No longo prazo, no entanto, obter uma verdadeira eficiência de custos requer uma otimização mais profunda, como ajustar o uso de computação, redimensionar instâncias e desassociar serviços monolíticos para melhorar a escalabilidade e a alocação de recursos.

Gerenciamento de despesas em nuvem após a migração

Embora o rehosting possa reduzir alguns riscos de segurança, como a dependência da correção de infraestruturas vulneráveis e desatualizadas, ele também cria novos riscos. Aplicativos que eram seguros em um ambiente controlado no local podem ser expostos em uma configuração de nuvem menos controlada, a menos que sejam tomadas medidas para protegê-los adequadamente por meio de uma plataforma de segurança nativa de nuvem.

O custo é outra consideração importante. Sem gerenciamento proativo, o rehosting de aplicativos pode gerar contas de nuvem mais altas do que o esperado. Por exemplo, as taxas de saída, cobranças pela movimentação de dados para fora do ambiente de um provedor de nuvem, podem aumentar rapidamente, especialmente para aplicativos com uso intensivo de dados.

Para evitar custos inesperados após a migração para a nuvem, as organizações devem adotar uma abordagem proativa no gerenciamento de recursos e custos. Isso inclui monitorar de perto as tendências de uso para identificar padrões e anomalias e estabelecer políticas claras de governança de custos para definir propriedade e responsabilidade. Automatizar tarefas como dimensionamento correto e alocação de recursos subutilizados pode ajudar a reduzir o desperdício e otimizar os gastos. Além disso, definir orçamentos e alertas nas plataformas em nuvem fornece sinais de alerta antecipados antes que os custos excedam os limites aceitáveis, ajudando as equipes a permanecerem no controle à medida que os ambientes escalam.

Considerações de segurança na migração

Toda estratégia de migração deve incorporar a segurança como uma consideração central em todo o processo, incluindo:

A importância da preparação antes de fazer rehosting

Um rehosting bem-sucedido requer mais do que copiar um aplicativo para a nuvem. Cutovers mal executados podem resultar em:

  • Experiências de usuário ruins
  • Tempo de inatividade durante a propagação de DNS
  • Problemas de latência ou disponibilidade
  • Dependências não encontradas ou configuração desatualizada

Um problema comum: os clientes ou parceiros podem depender de endereços de IP estáticos vinculados ao data center antigo de um aplicativo. Se esses endereços de IP não forem atualizados no lado deles, o tráfego falha. As organizações devem antecipar essas dependências e coordenar proativamente com as partes interessadas para garantir uma transição tranquila.

Um rehosting bem planejado inclui:

  • Planos de comunicação com clientes e parceiros
  • Ambientes de teste e opções de reversão
  • Documentação clara de alterações de endpoints ou infraestrutura

Como a Cloudflare apoia a modernização de aplicativos

A Cloudflare acelera a modernização de aplicativos transformando vídeos e imagens, fazendo balanceamento de carga de aplicativos e resolvendo o DNS globalmente para obter um desempenho rápido e confiável. A proteção automatizada defende contra bots, ataques de DDoS e de dia zero, enquanto a observabilidade integrada garante a conformidade em todos os ambientes de nuvem. Com esses recursos, a Cloudflare fortalece cada camada da pilha de aplicativos para uma modernização segura, de alto desempenho e pronta para o futuro.

Saiba mais sobre modernização de aplicativos.