Este documento descreve as práticas recomendadas para validar o plano de migração das suas cargas de trabalho para o Google Cloud. Este documento não lista todas as práticas recomendadas possíveis para validar um plano de migração e não lhe dá garantias de sucesso. Em alternativa, ajuda a estimular debates sobre potenciais alterações e melhorias ao seu plano de migração.
Este documento é útil se estiver a planear uma migração de um ambiente no local, de um ambiente de alojamento privado ou de outro fornecedor de nuvem para o Google Cloud. O documento também é útil se estiver a avaliar a oportunidade de migrar e quiser explorar como poderá ser.
Este documento faz parte da seguinte série de várias partes sobre a migração para o Google Cloud:
- Migre para Google Cloud: comece já
- Migre para Google Cloud: avalie e descubra as suas cargas de trabalho
- Migre para Google Cloud: planeie e crie a sua base
- Migre para Google Cloud: transfira os seus grandes conjuntos de dados
- Migre para Google Cloud: implemente as suas cargas de trabalho
- Migre para Google Cloud: migre de implementações manuais para implementações automatizadas em contentores
- Migre para Google Cloud: otimize o seu ambiente
- Migre para Google Cloud: práticas recomendadas para validar um plano de migração (este documento)
- Migre para Google Cloud: minimize os custos
Avaliação
A realização de uma avaliação completa das suas cargas de trabalho e ambientes ajuda a garantir que desenvolve uma compreensão profunda das suas cargas de trabalho e ambientes. Desenvolver esta compreensão ajuda a minimizar os riscos de ocorrência de problemas durante e após a migração para o Google Cloud.
Faça uma avaliação completa
Antes de avançar com os passos que se seguem à fase de avaliação, conclua a avaliação das suas cargas de trabalho e ambientes. Para fazer uma avaliação completa, considere os seguintes itens, que são frequentemente ignorados:
- Inventário: certifique-se de que o inventário das cargas de trabalho a migrar está atualizado e que concluiu a avaliação. Por exemplo, considere a atualidade e a fiabilidade dos dados de origem para a sua avaliação, bem como as lacunas que possam existir nos dados.
Tempos de inatividade: identifique as cargas de trabalho que podem processar tempos de inatividade. Determine quando estas indisponibilidades podem ocorrer e durante quanto tempo podem durar para minimizar a interrupção, como durante as noites ou os fins de semana. A migração de cargas de trabalho com tempos de inatividade nulos ou quase nulos é mais difícil do que a migração de cargas de trabalho que podem ter tempos de inatividade. Para concluir uma migração sem tempo de inatividade, tem de conceber e implementar a redundância para cada carga de trabalho a migrar. Também tem de coordenar estas instâncias redundantes.
Quando avaliar a quantidade de tempo de inatividade que uma carga de trabalho pode tolerar, avalie se a vantagem empresarial de uma migração sem tempo de inatividade é superior à complexidade de migração adicional. Sempre que possível, evite criar um requisito de tempo de inatividade zero para uma carga de trabalho.
Clustering e redundância: avalie que cargas de trabalho suportam clustering e redundância. Se uma carga de trabalho suportar o agrupamento e a redundância, pode implementar várias instâncias dessa carga de trabalho, mesmo em diferentes ambientes, como o ambiente de origem e o ambiente de destino. As implementações agrupadas e redundantes podem simplificar a migração porque essas cargas de trabalho coordenam-se entre si com uma intervenção limitada.
Atualizações de configuração: avalie como atualiza a configuração das suas cargas de trabalho. Por exemplo, considere como fornece atualizações à configuração de cada carga de trabalho que quer migrar. Esta consideração é fundamental para o sucesso da migração, uma vez que pode ter de atualizar a configuração das suas cargas de trabalho enquanto as migra para o ambiente de destino.
Gerar vários relatórios de avaliação: durante a fase de avaliação, pode ser útil gerar mais do que um relatório de avaliação para ter em conta diferentes cenários. Por exemplo, pode gerar relatórios para ter em conta diferentes perfis de carga para as suas cargas de trabalho, como horas de pico e fora de pico.
Avalie os modos de falha suportados pelas suas cargas de trabalho
Saber como as suas cargas de trabalho se comportam em circunstâncias excecionais ajuda a garantir que não as expõe a condições das quais não se podem recuperar. Como parte da avaliação, recolha informações sobre os modos de falha e os respetivos efeitos que as suas cargas de trabalho suportam e dos quais podem recuperar automaticamente, e que modos de falha precisam da sua intervenção. Por exemplo, pode começar por considerar perguntas sobre possíveis modos de falha, como as seguintes:
- O que acontece se uma carga de trabalho perder a conetividade com a rede?
- Uma carga de trabalho consegue retomar o respetivo trabalho a partir do ponto em que ficou depois de ser parada?
- O que acontece se o desempenho de uma carga de trabalho ou das respetivas dependências for inadequado?
- O que acontece se existirem duas cargas de trabalho com o mesmo identificador na arquitetura?
- O que acontece se uma tarefa agendada não for executada?
- O que acontece se duas cargas de trabalho processarem a mesma mensagem?
Outra origem de modos de falha não suportados pode ser o próprio plano de migração. Determine se o seu plano de migração inclui passos que dependem do êxito de uma condição específica e se inclui contingências caso a condição não seja cumprida. Um plano que inclua estes tipos de condições pode indicar que o próprio plano pode falhar ou que os componentes individuais podem falhar durante a migração.
Depois de avaliar esses modos de falha e os respetivos efeitos, valide as suas conclusões num ambiente não crítico simulando falhas e injetando erros que emulem esses modos de falha. Por exemplo, se uma carga de trabalho for concebida para recuperar automaticamente após uma perda de conetividade de rede, valide a recuperação automática interrompendo à força a respetiva conetividade e, em seguida, restaurando-a.
Avalie os seus pipelines de tratamento de dados
A avaliação da carga de trabalho deve conseguir responder às seguintes perguntas:
- Os recursos têm o tamanho correto para a migração?
- Quanto tempo é necessário para migrar os dados de que as suas cargas de trabalho precisam?
- O ambiente de destino consegue acomodar o volume total de dados?
- Como se comportam as suas cargas de trabalho quando têm de acomodar picos na procura ou picos na quantidade de dados que produzem num determinado período?
- Se houver picos na procura ou picos na quantidade de dados que as suas cargas de trabalho produzem, existe algum efeito adverso, como um aumento da latência ou atrasos nas respostas?
- Depois de as cargas de trabalho começarem, precisam de tempo para aumentar até aos níveis de desempenho esperados?
Os resultados desta avaliação são frequentemente modelos da procura que as suas cargas de trabalho satisfazem e os dados que as cargas de trabalho produzem num determinado período. Quando recolhe pontos de dados para produzir esses modelos, considere que esses pontos de dados podem variar significativamente entre os períodos de pico e não pico. Para mais informações sobre como e o que monitorizar, consulte os objetivos de nível de serviço no livro de engenharia de fiabilidade do site.
Certifique-se de que pode atualizar e implementar cada carga de trabalho para migrar
Durante a migração, pode ter de atualizar algumas das cargas de trabalho que está a migrar. Por exemplo, pode ter de implementar uma correção para um problema ou reverter uma alteração recente que esteja a causar um problema. Para cada carga de trabalho que está a migrar, certifique-se de que pode aplicar e implementar alterações. Por exemplo, se estiver a migrar uma carga de trabalho para a qual tem o código-fonte, certifique-se de que consegue aceder a esse código-fonte e que consegue criar, empacotar e implementar o código-fonte conforme necessário.
A sua migração pode incluir cargas de trabalho às quais não pode aplicar nem implementar alterações, como software pré-existente e pronto a usar. Nesse cenário, refatore o seu plano de migração para considerar um esforço adicional para mitigar os problemas que possam ocorrer após a migração dessas cargas de trabalho.
Avalie a infraestrutura de rede
Uma infraestrutura de rede funcional é fundamental para a migração. Pode usar a infraestrutura de rede como parte das ferramentas de migração. Por exemplo, pode usar balanceadores de carga e servidores DNS para direcionar o tráfego de acordo com o seu plano de migração.
Para evitar problemas durante a migração, é importante avaliar a infraestrutura de rede e determinar em que medida pode suportar a migração. Por exemplo, pode começar por considerar perguntas sobre a sua infraestrutura de equilíbrio de carga, como as seguintes:
- O que acontece quando reconfigura os balanceadores de carga?
- Quanto tempo demora a configuração atualizada a entrar em vigor?
- Quando migra com tempo de inatividade zero, o que acontece se tiver um pico de tráfego antes de a configuração atualizada estar em vigor?
Depois de considerar questões sobre a sua infraestrutura de equilíbrio de carga, considere questões sobre a sua infraestrutura de DNS, como as seguintes:
- Que registos de DNS deve atualizar para os direcionar para o ambiente de destino e quando os deve atualizar?
- Que clientes estão a usar esses registos de DNS?
- Como está configurado o tempo de vida (TTL) para os registos de DNS que planeia atualizar?
- Pode definir o TTL do registo DNS para o respetivo valor mínimo em segundos antes de fazer a migração?
- Os seus clientes e intermediários de DNS respeitam o TTL dos registos de DNS que planeia atualizar? Por exemplo, as suas aplicações têm uma cache de DNS do lado do cliente que ignora o TTL que configurou para a migração? Lembre-se de que a resolução de DNS envolve várias camadas de colocação em cache. Considere usar o DNS público da Google para evitar problemas de DNS do ISP.
- Os seus clientes de DNS respeitam o TTL dos registos de DNS a atualizar? Por exemplo, as suas aplicações têm uma cache de DNS do lado do cliente que ignora o TTL que configurou para a migração?
- Deteta tráfego direcionado para o seu ambiente de origem mesmo depois de ter concluído a migração?
Considere criar uma prova de conceito
Uma validação de conceito (POC) é uma implementação preliminar e pequena de um projeto de migração planeado. Valida a viabilidade, a funcionalidade e os potenciais benefícios desse projeto antes de se comprometer com uma implementação completa. Um POC ajuda a determinar se as cargas de trabalho de migração funcionam corretamente no ambiente de destino.
Comece por definir o âmbito e os critérios de sucesso específicos para o POC. Os critérios de sucesso podem incluir métricas como a compatibilidade total da carga de trabalho de destino, o tempo de inatividade mínimo da migração e as exigências de desempenho específicas.
Depois de identificar os critérios de sucesso, teste e valide a sua POC. Na documentação do plano de migração, registe as suas conclusões, os desafios que encontrou e as potenciais soluções para esses desafios.
Pondere criar uma POC quando quiser investigar as seguintes áreas de interesse:
- Validar a viabilidade da migração: verifique se as suas aplicações, cargas de trabalho e dados funcionam como esperado no Google Cloud.
- Estime o tempo de inatividade e planeie o reversão: meça o tempo de inatividade necessário para migrar as cargas de trabalho e transferir dados. Valide os cenários de reversão.
- Refine o plano de migração: use as seguintes considerações para refinar o seu plano antes de se comprometer com uma migração em grande escala:
- Identifique a melhor abordagem de migração.
- Identifique as suas necessidades de modernização ou refatoração de cargas de trabalho.
- Identifique os potenciais riscos ou problemas com a sua migração.
- Teste a migração.
- Realize a validação de segurança e conformidade: certifique-se de que as políticas de segurança, as funções de gestão de identidade e acesso (IAM) e os requisitos de conformidade para a sua migração estão alinhados com as necessidades da sua organização.
- Gere confiança e envolvimento dos intervenientes: ajude a garantir a satisfação dos intervenientes. Uma POC bem-sucedida aumenta a confiança das partes interessadas no plano de migração, demonstrando vantagens tangíveis para a sua liderança e equipas técnicas.
- Estime os custos e as possibilidades de otimização: estime os custos associados à migração. Explore as possibilidades de otimização, como testar diferentes tamanhos de ambiente de destino e ferramentas de migração.
Iterar através de vários POCs. Ajuste as cargas de trabalho de destino e o plano de migração até criar um POC que cumpra os seus critérios de sucesso.
Planeamento da migração
O planeamento exaustivo da migração ajuda a evitar problemas durante e após a migração. O planeamento também ajuda a evitar o esforço para lidar com tarefas inesperadas.
Desenvolva uma estratégia de reversão para cada passo do plano de migração
Durante a migração, qualquer passo do plano de migração que executar pode resultar em problemas inesperados. Para garantir que consegue recuperar desses problemas, prepare uma estratégia de reversão para cada passo do plano de migração. Para evitar perder tempo durante uma indisponibilidade, faça o seguinte:
- Certifique-se de que as suas estratégias de reversão funcionam revendo e testando periodicamente cada estratégia de reversão.
- Defina um tempo de execução máximo permitido para cada passo da migração. Após este período de tempo de execução permitido expirar, as suas equipas começam a reverter o passo de migração.
Mesmo que tenha estratégias de reversão prontas para cada passo do plano de migração, alguns desses passos podem continuar a ser potencialmente disruptivos. Um passo potencialmente perturbador pode causar algum tipo de perda, mesmo que o reverta, como uma perda de dados. Avalie que passos do plano de migração são potencialmente perturbadores.
Se automatizou algum passo do plano de migração, certifique-se de que tem um procedimento planeado previamente para cada passo automatizado se ocorrer uma falha na automatização. Tal como acontece com as estratégias de reversão, reveja e teste periodicamente cada procedimento planeado previamente.
Se configurar canais de comunicação como parte da migração, para garantir que não fica impedido de aceder ao seu ambiente, faculte canais de cópia de segurança que possa usar para recuperar de uma falha. Por exemplo, se estiver a configurar o Partner Interconnect, durante a migração, também pode configurar um acesso de cópia de segurança através da Internet pública, caso tenha problemas durante o aprovisionamento e a configuração.
Planeie modernizar e adaptar as suas cargas de trabalho
Quando planear a migração para o Google Cloud, lembre-se de que a migração e a integração das cargas de trabalho demoram tempo e podem apresentar desafios. Pondere criar um documento de vista geral que descreva a arquitetura geral das suas cargas de trabalho, incluindo informações sobre os seguintes tópicos:
- Dependências de sistemas externos e middleware de terceiros, como armazenamento, mensagens e alojamento.
- Mecanismos para autenticar e autorizar cargas de trabalho.
- Processos de integração com o IAM.
- Requisitos para o ambiente de tempo de execução.
- Interações com opções da camada de armazenamento, como o Cloud Storage e as Google Cloud bases de dados.
- Requisitos para o volume de transferência de dados e a largura de banda.
- Alterações no código da aplicação que pode fazer durante a migração.
- Opções de integração com o Google Cloud Observability.
Pode ser necessário modernizar as suas cargas de trabalho, como integrar bibliotecas para autenticação, autorização, armazenamento e observabilidade.Google Cloud A modernização das bibliotecas antigas pode exigir esforço. Planeie tempo suficiente para testar exaustivamente as suas cargas de trabalho.
Planeie implementações e implementações graduais
Para reduzir o âmbito dos problemas que possam ocorrer durante a migração, evite alterações em grande escala e crie o seu plano de migração para implementar as alterações gradualmente. Por exemplo, planeie implementações graduais e alterações de configuração.
Se planear implementações graduais, para reduzir o risco de problemas inesperados causados pela aplicação das alterações, minimize o número e a dimensão dessas alterações. Depois de identificar e resolver problemas na primeira implementação reduzida, pode fazer as implementações subsequentes para alterações semelhantes em maiores escalas.
Alerta as equipas de desenvolvimento e operações
Para reduzir o impacto dos problemas que possam ocorrer durante uma migração, alerte as equipas responsáveis por qualquer carga de trabalho a migrar. Alerta também as equipas responsáveis pela infraestrutura dos ambientes de origem e destino.
Se as suas equipas trabalharem em fusos horários diferentes e praticarem o modelo operacional de follow-the-sun, certifique-se do seguinte:
- As suas equipas cobrem corretamente esses fusos horários e cobrem vários turnos consecutivos, porque podem não conseguir resolver problemas durante um único turno.
- As suas equipas estão preparadas para recolher informações detalhadas sobre os problemas que podem enfrentar. Esta coleção dá aos engenheiros do turno seguinte uma compreensão completa do que o turno anterior fez e porquê.
- Pessoas específicas nas suas equipas são responsáveis por qualquer turno.
Remova os recursos de prova de conceito do ambiente de produção de destino
Como parte da avaliação, pode ter usado o ambiente de destino para alojar experiências e provas de conceito. Antes da migração, remova todos os recursos que criou durante essas experiências e provas de conceito da área de produção do ambiente de destino.
Pode manter os recursos numa área de não produção do ambiente de destino enquanto a migração estiver em curso, uma vez que podem ajudar a recolher informações sobre qualquer problema que possa surgir durante a migração. Por exemplo, para diagnosticar problemas que afetam as cargas de trabalho de produção após a migração, pode comparar a configuração e os registos de dados da carga de trabalho de produção com a configuração e os registos de dados das validações de conceito e das experiências.
Depois de concluir a migração e validar que o ambiente de destino funciona como esperado, pode eliminar os recursos na área de não produção do ambiente de destino.
Defina critérios para desativar o ambiente de origem em segurança
Para evitar o custo de executar dois ambientes indefinidamente, defina as condições que têm de ser cumpridas para poder desativar em segurança o ambiente de origem, como as seguintes:
- Todas as cargas de trabalho, incluindo as respetivas cópias de segurança e mecanismos de alta disponibilidade e recuperação de desastres, são migradas com êxito para o ambiente de destino.
- Os dados migrados para o ambiente de destino são consistentes, acessíveis e utilizáveis.
- A precisão e a integridade dos dados migrados cumprem a norma definida.
- Os recursos que permanecem no ambiente de origem não são dependências para cargas de trabalho fora do âmbito da migração.
- O desempenho das suas cargas de trabalho no ambiente de destino cumpre os alvos do ANS.
- Os seus sistemas de monitorização comunicam que não existe tráfego de rede para o ambiente de origem que deve ser direcionado para o ambiente de destino.
- Depois de as cargas de trabalho serem executadas sem problemas no ambiente de destino durante um período que definir, tem a certeza de que já não precisa da capacidade de reverter para o ambiente de origem.
Planeie atualizar todos os documentos e painéis de controlo
Após concluir a migração, planeie atualizar de forma abrangente os manuais de procedimentos de produção, os documentos de apoio técnico e os painéis de controlo de monitorização. As alterações que tem de fazer à sua documentação podem incluir os seguintes itens:
- Diagramas arquitetónicos: atualize os diagramas arquitetónicos para refletirem a arquitetura, especialmente se modernizar e refatorar as suas cargas de trabalho. Google Cloud
- Ligação e autenticação: atualize a sua documentação sobre os métodos de autenticação, como o IAM, e as configurações de rede, para refletir a arquitetura. Google Cloud
- Segurança: atualize a sua documentação que aborda as Google Cloud funcionalidades de segurança, incluindo a encriptação em repouso e em trânsito, e os controlos de acesso baseados na IAM.
- Manutenção e escalabilidade: atualize os manuais de procedimentos de produção sobre janelas de manutenção de serviços geridos, procedimentos de escalabilidade vertical e horizontal, e práticas recomendadas para a otimização do desempenho.
- Elevada disponibilidade e comutação por falha: atualize a sua documentação para configurações de elevada disponibilidade, considerações de sincronização regionais e zonais, e mecanismos de comutação por falha.
- Cópia de segurança e recuperação: atualize os seus processos de cópia de segurança e recuperação para se alinharem com os processos que o Google Cloud e o serviço de cópia de segurança e recuperação de desastres (RD) suportam. Estes processos incluem cópias de segurança automáticas, possibilidades de recuperação num determinado momento e procedimentos de exportação e importação.
- Recuperação de desastres: atualize o seu plano e procedimentos de RD para se alinharem com as capacidades de RD do Google Cloud e, em seguida, teste os procedimentos atualizados.
- Monitorização e registo: integre o Google Cloud Observability nos seus painéis de controlo de monitorização e sistemas de alerta. Atualize a sua documentação sobre as cotas da nuvem e especifique como interpretar registos, métricas e alertas.
Operações
Para gerir de forma eficiente o ambiente de origem e o ambiente de destino durante a migração, também tem de criar os seus processos operacionais.
Monitorize os seus ambientes
Para observar o comportamento dos ambientes de origem e de destino, e para ajudar a diagnosticar problemas à medida que ocorrem, configure o seguinte:
- Um sistema de monitorização para recolher métricas úteis para o seu cenário.
- Um sistema de registo para observar o fluxo de operações realizadas pelas suas cargas de trabalho e outros componentes dos seus ambientes.
- Um sistema de alerta que lhe envia avisos antes de ocorrer um evento problemático.
A observabilidade do Google Cloud suporta a monitorização, o registo e os alertas integrados para o seu Google Cloud ambiente.
Uma vez que uma carga de trabalho e as respetivas dependências abrangem vários ambientes, pode ter de considerar a utilização de várias ferramentas de monitorização e alerta para diferentes ambientes. Considere o momento em que migra as políticas de monitorização e alerta que suportam as cargas de trabalho. Por exemplo, se o seu ambiente de origem estiver configurado para enviar um alerta quando um determinado servidor estiver inativo, o alerta é acionado quando desativa intencionalmente esse servidor. O acionador do alerta é esperado, mas é um comportamento inútil. Como parte da migração, tem de ajustar continuamente os alertas para o ambiente de origem e reconfigurá-los para o ambiente de destino.
Faça a gestão da migração
Para gerir a migração, reveja o desempenho da migração para recolher informações que pode usar como retrospetiva após a conclusão da migração. Depois de recolher informações, usa-as para analisar o desempenho da migração e preparar pontos de dados sobre potenciais melhorias nos seus ambientes.
Por exemplo, para começar a planear a gestão da migração, considere as seguintes perguntas:
- Quanto tempo demorou cada passo do plano de migração?
- Houve algum passo do plano de migração que demorou mais tempo a concluir do que o previsto?
- Faltaram passos ou verificações?
- Ocorreram eventos adversos durante a migração?
O que se segue?
- Saiba quando encontrar ajuda para as suas migrações.
- Para ver mais arquiteturas de referência, diagramas e práticas recomendadas, explore o Centro de arquitetura na nuvem.
Colaboradores
Autor: Marco Ferrari | Arquiteto de soluções na nuvem
Outro colaborador: Alex Cârciu | Solutions Architect