O blog da AWS
Como simplificar e organizar migrações em escala com as funcionalidades do AWS Application Migration Service (MGN) – Parte 1
Motivadores para a migração para a Nuvem
Há vários motivadores para a migração de workloads para a nuvem, entre eles:
- Inovação e transformação digital: A AWS fornece ferramentas para acelerar a transformação digital, facilitando o acesso às últimas tecnologias e melhores práticas. Empresas podem se beneficiar de recursos como automação, containers e Machine Learning.
- Produtividade da equipe: você pode aumentar a produtividade da equipe na nuvem usando a AWS com abordagens modernas de engenharia de software. A AWS oferece suporte à melhoria contínua/implantação contínua (CI/CD), arquitetura de microsserviços, testes automatizados e muito mais.
- Agilidade nos negócios: você também tem maior agilidade na nuvem. Você pode implantar novos recursos e aplicativos com mais rapidez e reduzir os erros. Você pode provisionar recursos para oferecer suporte a novos recursos e aumentar ou reduzir os recursos existentes para atender à sua demanda.
- Resiliência operacional: outro benefício da migração para a nuvem é a resiliência operacional. Isso permite que você melhore os contratos de nível de serviço e reduza as interrupções não planejadas. A AWS compartimenta a infraestrutura e os serviços para se proteger contra interrupções. Isso evita pontos únicos de falha ao criar componentes independentes e redundantes.
- Segurança aprimorada: A migração para a nuvem da AWS coloca os aplicativos e dados por trás da segurança física avançada dos data centers da AWS. Há diversas ferramentas para gerenciar o acesso aos recursos, como grupos de segurança granulares, listas de controle de acesso à rede e gerenciamento de chaves criptográficas, por exemplo.
- Mudanças de colocation ou outsourcing: A expiração de contratos de colocation ou terceirização assim como desafios relacionados a imóveis ou instalações também podem impulsionar a migração para a nuvem. Se houver aumento no aluguel ou expiração do contrato, pode ser necessário migrar o data center.
- Cargas de trabalho de computação intensiva em grande escala: Algumas cargas de trabalho podem exigir mais servidores do que a capacidade local permite. Além disso, se forem intermitentes ou sazonais, a capacidade adicional ficaria inativa fora dos horários de pico.
- Economia de custos: você pode reduzir os custos com a AWS de várias maneiras. Por exemplo, você pode escolher entre diferentes tipos de instância do Amazon Elastic Compute Cloud (Amazon EC2) com base nas suas necessidades de computação. O escalonamento automático ajuda você a escalar recursos para dentro e para fora para atender à demanda. Também há muitas opções de banco de dados para escolher, que oferecem economia em licenciamento e servidores.
Estratégias de migração para a Nuvem
Com base no estado atual de um determinado recurso e nas ferramentas e oportunidades disponíveis na nuvem, você decide qual estratégia usar ao migrar. É importante observar que a maioria dos projetos de migração emprega várias estratégias, e há diferentes ferramentas disponíveis para cada estratégia. A estratégia de migração influencia o tempo necessário para migrar e o agrupamento do aplicativo para o processo de migração. A seguir estão as sete estratégias de migração mais comuns:
- Rehost: Também conhecido como “Lift-and-Shift” (Elevar e Transferir), essa estratégia envolve mover um aplicativo existente para a nuvem sem fazer alterações significativas em sua arquitetura ou funcionamento. É uma abordagem rápida e direta, em que o aplicativo é simplesmente “rehospedado” na nuvem, muitas vezes usando serviços de infraestrutura como serviço (IaaS). Embora não aproveite totalmente os recursos da nuvem, essa estratégia permite obter benefícios como escalabilidade e redução de custos operacionais.
- Relocate: Nessa estratégia, o foco está na movimentação física do ambiente de TI existente para a nuvem, seja um data center próprio ou um ambiente terceirizado. Geralmente, é utilizado quando a empresa deseja migrar sua infraestrutura para a nuvem, mantendo a arquitetura e a funcionalidade inalteradas. Essa abordagem é útil quando há a necessidade de melhorar a disponibilidade, escalabilidade ou desempenho da infraestrutura atual.
- Replatform: Também conhecida como “Lift-and-Tweak” (Elevar e Ajustar), essa estratégia envolve a migração de um aplicativo para a nuvem, fazendo algumas modificações na camada de plataforma. Nesse caso, o objetivo é aproveitar serviços gerenciados da nuvem, como bancos de dados como serviço (DBaaS) ou servidores de aplicativos, para otimizar a operação do aplicativo e obter benefícios adicionais, como maior escalabilidade, gerenciamento simplificado e redução de custos com manutenção.
- Repurchase: Essa estratégia envolve a substituição do aplicativo atual por um novo software ou serviço disponível na nuvem. Pode-se adotar uma abordagem de Software como Serviço (SaaS), em que um aplicativo existente é substituído por uma solução baseada em nuvem pronta para uso, como um sistema de gerenciamento de relacionamento com o cliente (CRM) ou um software de contabilidade. Essa estratégia é útil quando se deseja aproveitar as vantagens de um aplicativo na nuvem e evitar a complexidade do desenvolvimento interno.
- Refactor: Também conhecida como “Rearchitect” (Rearquitetar), essa estratégia envolve a modificação significativa do código e da arquitetura de um aplicativo para aproveitar os recursos nativos da nuvem. É uma abordagem mais complexa, mas permite obter os benefícios completos da nuvem, como escalabilidade automática, tolerância a falhas e uso eficiente dos recursos. Pode-se adotar serviços como contêineres, microsserviços ou funções sem servidor (serverless) para modernizar e otimizar o aplicativo.
- Retain: Nessa estratégia, a empresa decide manter os aplicativos existentes em sua infraestrutura atual, seja local ou em um ambiente terceirizado. Essa estratégia é adotada quando os benefícios da migração para a nuvem não justificam os custos ou esforços envolvidos.
Cada estratégia envolve alterar seu aplicativo e seus recursos subjacentes de maneiras diferentes. Por exemplo, rehospedar um aplicativo requer mudanças mínimas no aplicativo, mas refatorar um aplicativo pode envolver uma reestruturação completa da arquitetura do software.
Rehost, ou “Lift-and-Shift”
O “Rehost” é uma das estratégias de migração para a nuvem mais rápidas. Usando essa estratégia, você simplesmente eleva e transfere um servidor ou aplicativo do ambiente local para a nuvem. Rehospedar um aplicativo envolve reimplantar os componentes de um aplicativo na nuvem sem recompilar, alterar o código do aplicativo ou modificar recursos e funções, tampouco alterar a versão do sistema operacional ou do software de banco de dados. Pode haver mudanças mínimas nos recursos durante o processo de migração. Essa estratégia de migração é rápida, previsível, repetível e econômica, o que a torna o método mais comum de migração para a nuvem. Se não houver tempo suficiente para otimizar um aplicativo antes da migração, você poderá usar a rehospedagem para migrar rapidamente a aplicação e otimizá-la posteriormente. Essa estratégia suporta migrações com restrições de tempo e pode rapidamente obter os benefícios de custo e a eficiência operacional do uso da nuvem. Para esta primeira fase de uma jornada para a nuvem, faz-se necessário o uso de uma ferramenta confiável para a replicação de dados, organização e monitoração das ondas de migração, como o AWS Application Migration Service (MGN).
O que é o AWS Application Migration Service (MGN)
O AWS Application Migration Service (MGN) é uma solução de Rehost (Lift-and-Shift) altamente automatizada que simplifica, agiliza e reduz o custo da migração de aplicativos para a AWS. Ele permite que as empresas hospedem novamente um grande número de servidores físicos, virtuais ou em nuvem sem problemas de compatibilidade, interrupção do desempenho ou longos períodos de transição. A integração do AWS Management Console é uma vantagem significativa do uso do AWS MGN. Isso fornece integração perfeita com outros serviços da AWS, como o AWS CloudTrail e o Amazon CloudWatch para conformidade e monitoramento, e o AWS IAM como o mecanismo padrão de autorização e autenticação da AWS. O AWS MGN usa o AWS CloudTrail como a solução centralizada de governança, conformidade e auditoria operacional. Você pode identificar qual usuário iniciou uma atividade de transferência ou modificou um Launch Template.
Arquitetura do AWS Application Migration Service (MGN)
O AWS MGN replica os discos dos servidores de origem para volumes EBS anexados à instâncias chamadas de Staging Area Replication Servers. Não é necessário criar estes servidores; eles são criados automaticamente como parte do processo quando o primeiro servidor é replicado. Além disso, as instâncias EC2 de destino são iniciadas somente quando você testa ou inicia um cutover, fornecendo uma solução econômica, já que não há ambiente de computação duplicado durante o processo de replicação de dados.
Ciclo de vida do AWS Application Migration Service (MGN)
- Avalie: Prepare seu ambiente identificando as máquinas que você deseja migrar. Adicione seus servidores de origem à console do AWS MGN para migrá-los para a AWS. Identificar os servidores de origem, a rede e o dimensionamento correto da instância são as tarefas realizadas como parte da fase de avaliação;
- Defina as configurações de replicação e inicialização: Estes conjuntos de instruções chamam-se “Replication Template” e “Launch Template”. Elas determinam como será a replicação, configuração de servidores de replicação e as instâncias de teste e cutover na AWS. Estas configurações podem ser alteradas individualmente para cada servidor, mas a definição de um template define as configurações gerais de replicação e inicialização do AWS MGN;
- Instale o agente de replicação: instale o agente de replicação do AWS MGN para a réplica de dados nos servidores de origem para uma transferência de dados sem interrupções;
- Inicie instâncias de teste: depois de adicionar todos os seus servidores de origem e definir suas configurações de inicialização, você estará pronto para iniciar uma instância de teste. Você pode testar um servidor de origem por vez ou testar simultaneamente vários servidores de origem;
- Migre: Depois de finalizar o teste de todos os seus servidores de origem, você estará pronto para a migração definitiva. Você deve realizar a transferência em uma data e hora definidas. A transferência migrará seus servidores de origem para as instâncias de cutover na AWS. Você pode migrar um servidor de origem por vez ou migrar simultaneamente vários servidores de origem.
Conclusão
O AWS Application Migration Service (MGN) é uma solução de Rehost (Lift-and-Shift) que simplifica e agiliza a migração de workloads para a AWS. No próximo post (Parte 2) demonstraremos como ativar o AWS MGN, iniciar a replicação de dados para a AWS e também explicaremos as funcionalidades de “Post-launch actions” para a automação de certas atividades. Até o próximo Post!
Sobre os Autores
Juliano Fernandes Baeta é Arquiteto de Soluções para Parceiros Globais nos Estados Unidos e América Latina. Sua missão é ajudar Clientes e Empresas Integradoras de Sistemas a construir soluções seguras, eficazes e resilientes na AWS.
Thiago Mantovani está localizado no Brasil e é Arquiteto de Soluções da AWS com especialização em Migrações. Seu maior foco é ajudar os clientes de diversos segmentos na América Latina em sua jornada para nuvem de forma resiliente e escalável. Fora do trabalho, ele adora se divertir com sua família e é um grande fã e praticante de esportes.
Pedro Calixto é Arquiteto de Soluções especialista em migrações na AWS. Pedro integra a equipe de Cloud Acceleration para a América Latina. Seu foco é ajudar empresas a exceder resultados de negócio, acelerando a migração e a modernização de workloads para a AWS de forma escalável