DEV Community

rafaelbonilha
rafaelbonilha

Posted on

Migrando Aplicativos de uma Nuvem para Outra - Parte 3

Nesta terceira parte da série iremos falar sobre as estratégias de migração de uma aplicação de uma cloud para outra. Como abordamos nas partes 1 e 2, as estratégias fazem parte das boas práticas para se ter uma migração bem-sucedida de uma api de uma cloud para outra.

Vamos rever quais são esses padrões que abordaremos com mais detalhes neste artigo.:

✔ Rehost (Rehospedar) - também chamado de lift and shift
✔ Relocate (Realocação) - lift e shift a nível de hypervisor
✔ Refactor/Re-architect (Refatorar/Rearquitetar)
✔ Replataform (Redefinir plataforma)
✔ Repurchasing (Readquirir)
✔ Retire/Replace (Desativar/Substituir)
✔ Retain (Reter)

Cada um deles possuem pontos a serem levados em consideração para ser adotado, então é importante você considerar o seu cenário para poder escolher o que melhor atende a sua necessidade.
A seguir iremos abordar cada uma dessas estratégias para migração.

Image description

Rehost (Lift and Shift) Na maioria dos cenários é a abordagem mais rápida e simples disponível, pois não tem necessidade de alterações significativas na arquitetura (principalmente se usado ferramentas de IaaS no processo). Ponto a ser considerado: é uma estratégia que não aproveita totalmente os recursos nativos da nuvem, sendo indicada para apis que não estão fortemente ligadas a nuvem ou a infraestrutura subjacente.

Relocate (Realocação) Nesta abordagem, a infraestrutura da aplicação é migrada sem necessidade de adquirir recursos ou reescrever código, em alguns casos, nem é preciso alterar as operações existentes. Esse cenário depende da existência de parcerias a nível de cloud para outra. Por exemplo, VMware Cloud com a AWS. Essa estratégia faz sentido em cenários em que deve se ter a menor alteração possível na arquitetura existente.

Refactor/Re-architect (Refatorar/Rearquitetar) Este padrão é para cenários que os aplicativos necessitarão não somente serem migrados, mas alterados significativamente para serem executados no novo ambiente de cloud. Em alguns casos, as apis se assemelham a aplicativos criados exclusivamente para ambientes clouds. Também é abordado nesta estratégia de reavaliar a arquitetura ou mesmo desenvolver uma do 0 para o novo ambiente de nuvem.

Replataform (Redefinir plataforma) Também chamada de Lift and Reshape, esta abordagem é utilizada quando se identifica na aplicação uma oportunidade específica para ganho de performance ou redução de custo/manutenção no processo de migração. Por exemplo.: um banco de dados relacional que está hospedado numa cloud, pode ser migrado para outra em um serviço mais eficiente ou com custos mais baixos na nova cloud.

Repurchasing (Readquirir) Esta estratégia é abordada quando se identifica a necessidade de substituir a aplicação que será migrada por um produto como serviço ou uma aplicação na nuvem. Normalmente é adotada quando se identifica a possibilidade de mudar a aplicação para uma solução SaaS.

Retire/Replace (Desativar/Substituir) É a abordagem adotada quando se analisa que não é possível migrar a aplicação por motivos de tecnologia, custos ou outra razão que faça que a migração dela não seja mais possível ou necessária. Normalmente são os casos que a aplicação será descontinuada ou substituída, gerando economia nos custos finais de migração.

Retain (Reter) Como o próprio nome diz, esse padrão é adotado nos casos que é identificado que a migração não será realizada no momento, sendo a aplicação avaliada novamente em um outro momento. Normalmente se leva em consideração para essa decisão fatores como complexidade, impacto, custos e tecnologias utilizadas pela aplicação onde se decide pela manutenção da mesma na nuvem atual. Nestes casos é inserido no processo uma etapa de reavaliação das aplicações que entram neste cenário para serem monitoradas e reavaliadas perioridicamente.

Estas são as principais estratégias/padrões de migração de aplicações de ambiente de cloud para outro (também pode ser usado em casos de aplicações on premises para nuvem).
Reforçando que o processo de migração é um processo que irá sofrer mudanças ao longo do seu ciclo de vida, o que pode significar inclusive uma mudança no padrão adotado se necessário.

Top comments (0)