É de conhecimento geral que, para as organizações manterem-se competitivas em um mercado acelerado como o atual, a nuvem é essencial. Benefícios como agilidade, elasticidade e a possibilidade de efetuar experimentações, sem comprometer recursos a longo prazo, fazem da nuvem o ambiente ideal para a evolução dos produtos e serviços oferecidos pelas empresas.
Contudo, um dos grandes desafios quando uma empresa decide adotar a nuvem, é como idealizar a migração de suas cargas de trabalho existentes on-premises. Sendo uma tarefa complexa e que deve ser bem planejada, a seleção da melhor estratégia depende muito do cenário.
Veja também
- Receio em migrar para a nuvem? Comece “pequeno”!
- As grandes etapas, recomendadas pela Microsoft, para migração para a nuvem
Existem três estratégias genéricas de migração de aplicações para a nuvem:
- Rehosting
- Replatforming
- Rearchitecting
Escolher e explicitar, desde cedo, qual é a estratégia genérica que será adotada melhora o alinhamento de propósitos, dando autonomia de atuação.
Rehosting
Rehosting (ou lift-and-shift) é certamente a estratégia mais conhecida, e provavelmente aplicada, no mercado. Consiste em levar as aplicações para a nuvem AS-IS, ou seja, sem qualquer modificação arquitetural.
Esta é a abordagem que menos aproveita os recursos de nuvem, resultando em menor eficiência e, geralmente, um custo mais alto, principalmente no longo prazo. Entretanto, é a estratégia mais simples e rápida de ser aplicada. Por esta razão é uma opção interessante em cenários onde a migração precisa ser feita de forma emergencial, ou quando o time não possui conhecimentos necessários das técnicas e tecnologias.
Replatforming
Quando o cenário permite, podemos aplicar uma estratégia de Replatforming, fazendo pequenas alterações nas aplicações, sem mexer em seu core, mas que possibilitam a adoção de alguns serviços da nuvem durante a migração, seja com o intuito de reduzir custos, aumentar a segurança, ganhar performance ou confiabilidade.
Como exemplo, podemos citar a modificação da estratégia de armazenamento de arquivos, substituindo o armazenamento em disco, por tecnologias de storage oferecidas pelos provedores, como o Amazon S3 ou o Azure Storage. Uma das maiores desvantagens desta estratégia ocorre quando o escopo destas atualizações não é planejado adequadamente, estendendo o prazo mais do que o desejado e, consequentemente, impactando diretamente no custo da migração.
Rearchitecting
Adotando uma estratégia de Rearchitecting, teremos o cenário mais extremo de migração, caracterizada por uma reformulação completa da aplicação. Na prática, a remodelagem da arquitetura permite uma estratégia Cloud-Native, onde são adotados serviços gerenciados, serviços sem servidor e outros recursos do provedor de nuvem.
Apesar de ser a mais custosa, esta forma de migração também proporciona o melhor aproveitamento dos benefícios, contudo, tende a ser estratégica para a empresa, sendo normalmente aplicada em situações onde a aplicação necessita de uma revisão arquitetural, devido ao alto esforço de desenvolvimento e tempo comprometido, se comparado às demais estratégias.
Qual é a opção certa?
Como sempre, não há “bala de prata”. Muitas vezes, a estratégia de Rehosting dá mais tempo para viabilizar abordagens mais agudas. Outras vezes, executá-la é apenas um “pedágio” desnecessário para obtenção de vantagens maiores.
Durante o planejamento, devem ser considerados aspectos da aplicação, custos, riscos, a motivação da migração e as demais estratégias da empresa. Para quem está começando sua jornada para a nuvem, via de regra, é importante selecionar uma carga de trabalho pequena, mas que traga benefícios visíveis em um curto período de tempo, para que a percepção deste benefícios viabilizem a migração das demais cargas de trabalho da organização.