Migre para Google Cloud: transfira os seus conjuntos de dados grandes

Last reviewed 2024-11-13 UTC

Para muitos clientes, o primeiro passo na adoção de um produto é introduzir os respetivos dados no produto. Google CloudGoogle CloudEste documento explora esse processo, desde o planeamento de uma transferência de dados à utilização de práticas recomendadas na implementação de um plano.

A transferência de grandes conjuntos de dados envolve a criação da equipa certa, o planeamento antecipado e o teste do plano de transferência antes de o implementar num ambiente de produção. Embora estes passos possam demorar tanto tempo quanto a própria transferência, estas preparações podem ajudar a minimizar a interrupção das operações da sua empresa durante a transferência.

Este documento faz parte da seguinte série de várias partes sobre a migração para o Google Cloud:

O que é a transferência de dados?

Para efeitos do presente documento, a transferência de dados é o processo de mover dados sem os transformar, por exemplo, mover ficheiros tal como estão para objetos.

A transferência de dados não é tão simples quanto parece

É tentador pensar na transferência de dados como uma sessão FTP gigante, em que coloca os ficheiros de um lado e espera que saiam do outro lado. No entanto, na maioria dos ambientes empresariais, o processo de transferência envolve muitos fatores, como os seguintes:

  • Criar um plano de transferência que tenha em conta o tempo administrativo, incluindo o tempo para decidir sobre uma opção de transferência, receber aprovações e lidar com problemas inesperados.
  • Coordenar as pessoas na sua organização, como a equipa que executa a transferência, o pessoal que aprova as ferramentas e a arquitetura, e as partes interessadas da empresa que se preocupam com o valor e as interrupções que a movimentação de dados pode trazer.
  • Escolher a ferramenta de transferência certa com base nos seus recursos, custo, tempo e outras considerações do projeto.
  • Superar os desafios de transferência de dados, incluindo problemas de "velocidade da luz" (largura de banda insuficiente), mover conjuntos de dados que estão em utilização ativa, proteger e monitorizar os dados enquanto estão em trânsito e garantir que os dados são transferidos com êxito.

Este documento destina-se a ajudar a começar uma iniciativa de transferência bem-sucedida.

A lista seguinte inclui recursos para outros tipos de projetos de transferência de dados não abordados neste documento:

Passo 1: reunir a sua equipa

Normalmente, o planeamento de uma transferência requer pessoal com as seguintes funções e responsabilidades:

  • Ativar os recursos necessários para uma transferência: administradores de armazenamento, TI e rede, um patrocinador executivo e outros consultores (por exemplo, uma equipa da Conta Google ou parceiros de integração)
  • Aprovar a decisão de transferência: proprietários ou administradores de dados (para políticas internas sobre quem tem autorização para transferir que dados), consultores jurídicos (para regulamentos relacionados com dados) e um administrador de segurança (para políticas internas sobre como o acesso aos dados é protegido)
  • Executar a transferência: um líder de equipa, um gestor de projetos (para executar e acompanhar o projeto), uma equipa de engenharia e receção e envio no local (para receber o hardware do dispositivo)

É fundamental identificar quem é responsável pelas responsabilidades anteriores para o seu projeto de transferência e incluí-los nas reuniões de planeamento e decisão quando apropriado. Uma má planeamento organizacional é, muitas vezes, a causa das iniciativas de transferência falhadas.

A recolha dos requisitos do projeto e o contributo destes intervenientes podem ser desafiantes, mas a criação de um plano e o estabelecimento de funções e responsabilidades claras compensam. Não se espera que conheça todos os detalhes dos seus dados. Reunir uma equipa dá-lhe uma melhor compreensão das necessidades da empresa. É uma prática recomendada identificar potenciais problemas antes de investir tempo, dinheiro e recursos para concluir as transferências.

Passo 2: recolher requisitos e recursos disponíveis

Quando cria um plano de transferência, recomendamos que comece por recolher os requisitos para a transferência de dados e, em seguida, escolha uma opção de transferência. Para recolher requisitos, pode usar o seguinte processo:

  1. Identifique os conjuntos de dados que tem de mover.
    • Selecione ferramentas como o Catálogo de dados para organizar os seus dados em agrupamentos lógicos que são movidos e usados em conjunto.
    • Trabalhe com as equipas da sua organização para validar ou atualizar estas agrupamentos.
  2. Identifique que conjuntos de dados pode mover.
    • Pondere se fatores regulamentares, de segurança ou outros impedem a transferência de alguns conjuntos de dados.
    • Se precisar de transformar alguns dos seus dados antes de os mover (por exemplo, para remover dados confidenciais ou reorganizar os dados), considere usar um produto de integração de dados como o Dataflow ou o Cloud Data Fusion, ou um produto de orquestração de fluxo de trabalho como o Cloud Composer.
  3. Para conjuntos de dados móveis, determine para onde transferir cada conjunto de dados.
    • Registe a opção de armazenamento que seleciona para armazenar os seus dados. Normalmente, o sistema de armazenamento de destino no Google Cloud é o Cloud Storage. Mesmo que precise de soluções mais complexas depois de as suas aplicações estarem em funcionamento, o Cloud Storage é uma opção de armazenamento escalável e duradoura.
    • Compreenda que políticas de acesso aos dados têm de ser mantidas após a migração.
    • Determine se precisa de armazenar estes dados em regiões específicas.
    • Planeie como estruturar estes dados no destino. Por exemplo, vai ser igual à origem ou diferente?
    • Determine se precisa de transferir dados de forma contínua.
  4. Para conjuntos de dados móveis, determine que recursos estão disponíveis para os mover.
    • Hora: quando é que a transferência tem de ser concluída?
    • Custo: qual é o orçamento disponível para a equipa e os custos de transferência?
    • Pessoas: quem está disponível para executar a transferência?
    • Largura de banda (para transferências online): que parte da largura de banda disponível Google Cloud pode ser atribuída a uma transferência e durante que período?

Antes de avaliar e selecionar opções de transferência na fase seguinte do planeamento, recomendamos que avalie se alguma parte do seu modelo de TI pode ser melhorada, como a governação, a organização e a segurança dos dados.

O seu modelo de segurança

Muitos membros da equipa de transferência podem receber novas funções na sua organização do Google Cloud como parte do seu projeto de transferência de dados. O planeamento da transferência de dados é uma excelente altura para rever as suas autorizações de gestão de identidade e de acesso (IAM) e as práticas recomendadas para usar o IAM de forma segura. Estes problemas podem afetar a forma como concede acesso ao seu armazenamento. Por exemplo, pode colocar limites rigorosos no acesso de escrita a dados que foram arquivados por motivos regulamentares, mas pode permitir que muitos utilizadores e aplicações escrevam dados no seu ambiente de teste.

A sua Google Cloud organização

A forma como estrutura os seus dados no Google Cloud depende da forma como planeia usar Google Cloud. Armazenar os seus dados no mesmo Google Cloud projeto onde executa a sua aplicação pode funcionar, mas pode não ser ideal do ponto de vista da gestão. Alguns dos seus programadores podem não ter privilégios para ver os dados de produção. Nesse caso, um programador pode desenvolver código em dados de exemplo, enquanto uma conta de serviço privilegiada pode aceder a dados de produção. Assim, é recomendável manter todo o conjunto de dados de produção numGoogle Cloud projeto separado e, em seguida, usar uma conta de serviço para permitir o acesso aos dados de cada projeto de aplicação.

OGoogle Cloud está organizado em torno de projetos. Os projetos podem ser agrupados em pastas, e as pastas podem ser agrupadas na sua organização. As funções são estabelecidas ao nível do projeto e as autorizações de acesso são adicionadas a estas funções nos níveis de contentores do Cloud Storage. Esta estrutura está alinhada com a estrutura de autorizações de outros fornecedores de armazenamento de objetos.

Para ver as práticas recomendadas para estruturar uma Google Cloud organização, consulte Decida uma hierarquia de recursos para a sua Google Cloud zona de destino.

Passo 3: avaliar as opções de transferência

Para avaliar as suas opções de transferência de dados, a equipa de transferência tem de considerar vários fatores, incluindo o seguinte:

  • Custo
  • Tempo de transferência
  • Opções de transferência offline vs. online
  • Ferramentas e tecnologias de transferência
  • Segurança

Custo

A maioria dos custos associados à transferência de dados inclui o seguinte:

  • Custos de rede
    • A entrada no Cloud Storage é gratuita. No entanto, se estiver a alojar os seus dados num fornecedor de nuvem pública, pode esperar pagar uma taxa de saída e, potencialmente, custos de armazenamento (por exemplo, operações de leitura) para transferir os seus dados. Esta taxa aplica-se aos dados provenientes da Google ou de outro fornecedor de nuvem.
    • Se os seus dados estiverem alojados num centro de dados privado que explora, também pode incorrer em custos adicionais pela configuração de mais largura de banda para Google Cloud.
  • Custos de armazenamento e funcionamento do Cloud Storage durante e após a transferência de dados
  • Custos dos produtos (por exemplo, um Transfer Appliance)
  • Custos de pessoal para reunir a sua equipa e adquirir apoio logístico

Tempo de transferência

Poucas coisas na computação realçam as limitações de hardware das redes como a transferência de grandes quantidades de dados. Idealmente, pode transferir 1 GB em oito segundos através de uma rede de 1 Gbps. Se aumentar a escala para um conjunto de dados enorme (por exemplo, 100 TB), o tempo de transferência é de 12 dias. A transferência de conjuntos de dados enormes pode testar os limites da sua infraestrutura e, potencialmente, causar problemas para a sua empresa.

Quando estimar o tempo que uma transferência pode demorar, inclua os seguintes fatores nos seus cálculos:

  • O tamanho do conjunto de dados que está a mover.
  • A largura de banda disponível para a transferência.
  • Uma determinada percentagem do tempo de gestão.
  • A eficiência da largura de banda, que também pode ter um impacto no tempo de transferência.

Pode não querer transferir grandes conjuntos de dados da rede da sua empresa durante as horas de trabalho de maior atividade. Se a transferência sobrecarregar a rede, mais ninguém vai conseguir concluir o trabalho necessário ou essencial. Por este motivo, a equipa de transferência tem de considerar o fator tempo.

Depois de os dados serem transferidos para o Cloud Storage, pode usar várias tecnologias para processar os novos ficheiros à medida que chegam, como o Dataflow.

Aumentar a largura de banda da rede

A forma como aumenta a largura de banda da rede depende da forma como se liga à Google Cloud.

Numa transferência de nuvem para nuvem entre o Google Cloud e outros fornecedores de nuvem, a Google aprovisiona a ligação entre os centros de dados do fornecedor de nuvem, não sendo necessária qualquer configuração da sua parte.

Se estiver a transferir dados entre o seu centro de dados privado e o Google Cloud, existem várias abordagens, como:

  • Uma ligação pública à Internet através de uma API pública
  • Intercâmbio direto através de uma API pública
  • Cloud Interconnect através de uma API privada

Ao avaliar estas abordagens, é útil considerar as suas necessidades de conetividade a longo prazo. Pode concluir que é proibitivo em termos de custos adquirir largura de banda apenas para fins de transferência, mas, ao ter em conta a utilização a longo prazo doGoogle Cloud e as necessidades de rede em toda a sua organização, o investimento pode valer a pena. Para mais informações sobre como ligar as suas redes ao Google Cloud, consulte o artigo Escolha um produto de conetividade de rede.

Se optar por uma abordagem que envolva a transferência de dados através da Internet pública, recomendamos que verifique junto do seu administrador de segurança se a política da sua empresa proíbe essas transferências. Além disso, verifique se a ligação à Internet pública é usada para o seu tráfego de produção. Por último, tenha em atenção que as transferências de dados em grande escala podem afetar negativamente o desempenho da sua rede de produção.

Transferência online versus offline

Uma decisão crítica é se deve usar um processo offline ou online para a transferência de dados. Ou seja, tem de escolher entre a transferência através de uma rede, seja um Cloud Interconnect ou a Internet pública, ou a transferência através de hardware de armazenamento.

Para ajudar a tomar esta decisão, o gráfico seguinte também mostra algumas velocidades de transferência para vários tamanhos de conjuntos de dados e larguras de banda. É incorporado um determinado valor de custos gerais de gestão nestes cálculos.

Gráfico que mostra a relação entre os tamanhos de transferência e as velocidades de transferência.

Conforme referido anteriormente, pode ter de considerar se o custo de alcançar latências mais baixas para a sua transferência de dados (como a aquisição de largura de banda da rede) é compensado pelo valor desse investimento para a sua organização.

Opções disponíveis da Google

A Google oferece várias ferramentas e tecnologias para ajudar a fazer uma transferência de dados.

Decidir entre as opções de transferência da Google

A escolha de uma opção de transferência depende do seu exemplo de utilização, conforme mostrado na tabela seguinte.

De onde está a mover os dados Cenário Produtos sugeridos
Outro fornecedor de nuvem (por exemplo, serviços Web da Amazon ou Microsoft Azure) para Google Cloud Serviço de transferência de armazenamento
Cloud Storage para Cloud Storage (dois contentores diferentes) Serviço de transferência de armazenamento
O seu centro de dados privado para Google Cloud Largura de banda suficiente para cumprir o prazo do projeto gcloud storage comando
O seu centro de dados privado para Google Cloud Largura de banda suficiente para cumprir o prazo do projeto Serviço de transferência de armazenamento para dados no local
O seu centro de dados privado para Google Cloud Não tem largura de banda suficiente para cumprir o prazo do projeto Transfer Appliance

comando gcloud storage para transferências mais pequenas de dados no local

O comando gcloud storage é a ferramenta padrão para transferências de pequena a média dimensão através de uma rede de escala empresarial típica, a partir de um centro de dados privado ou de outro fornecedor de nuvem para o Google Cloud. Embora o gcloud storage suporte o carregamento de objetos até ao tamanho máximo de objetos do Cloud Storage, é mais provável que as transferências de objetos grandes falhem do que as transferências de curta duração. Para mais informações sobre a transferência de objetos grandes para o Cloud Storage, consulte o artigo Serviço de transferência de armazenamento para transferências grandes de dados no local.

O comando gcloud storage é especialmente útil nos seguintes cenários:

  • As transferências têm de ser executadas conforme necessário ou durante sessões de linha de comandos pelos seus utilizadores.
  • Está a transferir apenas alguns ficheiros ou ficheiros muito grandes, ou ambos.
  • Está a consumir o resultado de um programa (transmitindo o resultado para o Cloud Storage).
  • Tem de monitorizar um diretório com um número moderado de ficheiros e sincronizar quaisquer atualizações com latências muito baixas.

Serviço de transferência de armazenamento para transferências grandes de dados nas instalações

Tal como o comando gcloud storage, o Serviço de transferência de armazenamento para dados nas instalações permite transferências do armazenamento do sistema de ficheiros de rede (NFS) para o Cloud Storage. O Serviço de transferência de armazenamento para dados nas instalações foi concebido para transferências em grande escala (até petabytes de dados e milhares de milhões de ficheiros). Suporta cópias completas ou cópias incrementais e funciona em todas as opções de transferência indicadas anteriormente em Decidir entre as opções de transferência da Google. Também tem uma interface gráfica do utilizador gerida. Mesmo os utilizadores sem conhecimentos técnicos (após a configuração) podem usá-la para mover dados.

O Serviço de transferência de armazenamento para dados nas instalações é especialmente útil nos seguintes cenários:

  • Tem largura de banda disponível suficiente para mover os volumes de dados.
  • Tem uma grande base de utilizadores internos que podem ter dificuldades em usar uma ferramenta de linha de comandos.
  • Precisa de relatórios de erros robustos e de um registo de todos os ficheiros e objetos que são movidos.
  • Tem de limitar o impacto das transferências noutras cargas de trabalho no seu centro de dados (este produto pode permanecer abaixo de um limite de largura de banda especificado pelo utilizador).
  • Quiser executar transferências recorrentes de acordo com uma programação.

Configura o serviço de transferência de armazenamento para dados no local instalando software no local (conhecido como agentes) em computadores no seu centro de dados.

Depois de configurar o Serviço de transferência de armazenamento, pode iniciar transferências na Google Cloud consola indicando um diretório de origem, um contentor de destino e uma hora ou um horário. O Serviço de transferência de armazenamento rastreia recursivamente subdiretórios e ficheiros no diretório de origem e cria objetos com um nome correspondente no Cloud Storage (o objeto /dir/foo/file.txt torna-se um objeto no contentor de destino denominado /dir/foo/file.txt). O Serviço de transferência de armazenamento volta a tentar automaticamente uma transferência quando encontra erros transitórios. Enquanto as transferências estão em execução, pode monitorizar o número de ficheiros movidos, a velocidade de transferência geral e ver exemplos de erros.

Quando o serviço de transferência de armazenamento conclui uma transferência, gera um ficheiro delimitado por tabulações (TSV) com um registo completo de todos os ficheiros processados e quaisquer mensagens de erro recebidas. Os agentes são tolerantes a falhas, pelo que, se um agente ficar inativo, a transferência continua com os agentes restantes. Os agentes também são atualizados automaticamente e recuperam-se automaticamente, pelo que não tem de se preocupar com a aplicação de patches às versões mais recentes nem com o reinício do processo se este falhar devido a um problema inesperado.

Aspetos a considerar quando usar o Serviço de transferência de armazenamento:

  • Use uma configuração de agente idêntica em todas as máquinas. Todos os agentes devem ver as montagens do sistema de ficheiros de rede (NFS) da mesma forma (os mesmos caminhos relativos). Esta configuração é um requisito para o funcionamento do produto.
  • Mais agentes resultam em maior velocidade. Uma vez que as transferências são automaticamente paralelizadas em todos os agentes, recomendamos que implemente muitos agentes para usar a largura de banda disponível.
  • Os limites máximos de largura de banda podem proteger as suas cargas de trabalho. As suas outras cargas de trabalho podem estar a usar a largura de banda do centro de dados, por isso, defina um limite máximo de largura de banda para impedir que as transferências afetem os seus SLAs.
  • Planeie tempo para rever os erros. As transferências grandes podem, muitas vezes, resultar em erros que requerem revisão. O serviço de transferência de armazenamento permite-lhe ver um exemplo dos erros encontrados diretamente na Google Cloud consola. Se necessário, pode carregar o registo completo de todos os erros de transferência para o BigQuery para verificar os ficheiros ou avaliar os erros que permaneceram mesmo após as novas tentativas. Estes erros podem ser causados pela execução de apps que estavam a escrever na origem enquanto a transferência ocorria, ou os erros podem revelar um problema que requer resolução de problemas (por exemplo, erro de autorizações).
  • Configure o Cloud Monitoring para transferências de longa duração. O Storage Transfer Service permite que a monitorização monitorize o estado e o débito do agente, para que possa definir alertas que lhe enviam uma notificação quando os agentes estão inativos ou precisam de atenção. A tomada de medidas em relação a falhas de agentes é importante para transferências que demoram vários dias ou semanas, para evitar abrandamentos ou interrupções significativos que podem atrasar o cronograma do seu projeto.

Transfer Appliance para transferências maiores

Para transferências em grande escala (especialmente transferências com largura de banda de rede limitada), o Transfer Appliance é uma excelente opção, especialmente quando não está disponível uma ligação de rede rápida e é demasiado dispendioso adquirir mais largura de banda.

O Transfer Appliance é especialmente útil nos seguintes cenários:

  • O seu centro de dados está numa localização remota com acesso limitado ou sem acesso à largura de banda.
  • A largura de banda está disponível, mas não pode ser adquirida a tempo de cumprir o prazo.
  • Tem acesso a recursos logísticos para receber e ligar eletrodomésticos à sua rede.

Com esta opção, considere o seguinte:

  • O Transfer Appliance requer que consiga receber e devolver o hardware pertencente à Google.
  • Consoante a sua ligação à Internet, a latência para transferir dados para Google Cloud é normalmente superior com o Transfer Appliance do que online.
  • O Transfer Appliance só está disponível em determinados países.

Os dois principais critérios a ter em consideração com o Transfer Appliance são o custo e a velocidade. Com uma conetividade de rede razoável (por exemplo, 1 Gbps), a transferência de 100 TB de dados online demora mais de 10 dias a ser concluída. Se esta taxa for aceitável, é provável que uma transferência online seja uma boa solução para as suas necessidades. Se tiver apenas uma ligação de 100 Mbps (ou pior a partir de uma localização remota), a mesma transferência demora mais de 100 dias. Neste ponto, vale a pena considerar uma opção de transferência offline, como o Transfer Appliance.

Adquirir um Transfer Appliance é simples. Na Google Cloud consola, pede um Transfer Appliance, indica a quantidade de dados que tem e, em seguida, a Google envia um ou mais dispositivos para a localização pedida. Tem um determinado número de dias para transferir os seus dados para o dispositivo ("captura de dados") e enviá-lo de volta para a Google.

Serviço de transferência de armazenamento para transferências de nuvem para nuvem

O Serviço de transferência de armazenamento é um serviço totalmente gerido e altamente escalável para automatizar transferências de outras nuvens públicas para o Cloud Storage. Por exemplo, pode usar o Serviço de transferência de armazenamento para transferir dados do Amazon S3 para o Cloud Storage.

Para HTTP, pode fornecer ao serviço de transferência de armazenamento uma lista de URLs públicos num formato especificado. Esta abordagem requer que escreva um script que indique o tamanho de cada ficheiro em bytes, juntamente com um hash MD5 codificado em Base64 do conteúdo do ficheiro. Por vezes, o tamanho do ficheiro e o hash estão disponíveis no Website de origem. Caso contrário, precisa de acesso local aos ficheiros. Neste caso, pode ser mais fácil usar o comando gcloud storage, conforme descrito anteriormente.

Se tiver uma transferência em vigor, o Serviço de transferência de armazenamento é uma excelente forma de obter dados e mantê-los, especialmente quando transfere dados de outra nuvem pública.

Se quiser mover dados de outra nuvem não suportada pelo Serviço de transferência de armazenamento, pode usar o comando gcloud storage a partir de uma instância de máquina virtual alojada na nuvem.

Segurança

Para muitos Google Cloud utilizadores, a segurança é o foco principal e existem diferentes níveis de segurança disponíveis. Alguns aspetos de segurança a ter em consideração incluem a proteção de dados em repouso (autorização e acesso ao sistema de armazenamento de origem e destino), a proteção de dados durante o envio e a proteção do acesso ao produto de transferência. A tabela seguinte descreve estes aspetos da segurança por produto.

Produto Dados em repouso Dados em trânsito Acesso ao produto de transferência
Transfer Appliance Todos os dados são encriptados em repouso. Os dados são protegidos com chaves geridas pelo cliente. Qualquer pessoa pode encomendar um dispositivo, mas para o usar, precisa de acesso à origem de dados.
Comando gcloud storage Chaves de acesso necessárias para aceder ao Cloud Storage, que está encriptado em repouso. Os dados são enviados através de HTTPS e encriptados em trânsito. Qualquer pessoa pode transferir e executar a Google Cloud CLI. Têm de ter autorizações para contentores e ficheiros locais para mover dados.
Serviço de transferência de armazenamento para dados no local Chaves de acesso necessárias para aceder ao Cloud Storage, que está encriptado em repouso. O processo do agente pode aceder a ficheiros locais conforme as autorizações do SO permitem. Os dados são enviados através de HTTPS e encriptados em trânsito. Tem de ter autorizações de editor de objetos para aceder aos contentores do Cloud Storage.
Serviço de transferência de armazenamento Chaves de acesso necessárias para recursos nãoGoogle Cloud (por exemplo, o Amazon S3). As chaves de acesso são necessárias para aceder ao Cloud Storage, que está encriptado em repouso. Os dados são enviados através de HTTPS e encriptados em trânsito. Tem de ter autorizações da IAM para que a conta de serviço aceda às autorizações de editor de origem e de objeto para quaisquer contentores do Cloud Storage.

Para alcançar melhorias de segurança básicas, as transferências online para o Google Cloud usando o comando gcloud storage são realizadas através de HTTPS, os dados são encriptados em trânsito e todos os dados no Cloud Storage são, por predefinição, encriptados enquanto inativos. Se usar o Transfer Appliance, as chaves de segurança que controla podem ajudar a proteger os seus dados. Geralmente, recomendamos que contacte a sua equipa de segurança para garantir que o seu plano de transferência cumpre os requisitos regulamentares e da empresa.

Produtos de transferência de terceiros

Para uma otimização avançada ao nível da rede ou fluxos de trabalho de transferência de dados contínuos, é recomendável usar ferramentas mais avançadas. Para ver informações sobre ferramentas mais avançadas, consulte os Google Cloud parceiros.

Passo 4: avaliar abordagens de migração de dados

Quando migrar dados, pode seguir estes passos gerais:

  1. Transfira os dados do site antigo para o novo.
  2. Resolva quaisquer problemas de integração de dados que surjam, por exemplo, sincronizar os mesmos dados de várias origens.
  3. Valide a migração de dados.
  4. Promova o novo site para ser a cópia principal.
  5. Quando já não precisar do site antigo como opção alternativa, retire-o.

Deve basear a sua abordagem de migração de dados nas seguintes perguntas:

  • Quantos dados precisa de migrar?
  • Com que frequência é que estes dados mudam?
  • Pode permitir o tempo de inatividade representado por uma janela de transição durante a migração de dados?
  • Qual é o seu modelo de consistência de dados atual?

Não existe uma melhor abordagem. A escolha de uma depende do ambiente e dos seus requisitos.

As secções seguintes apresentam quatro abordagens de migração de dados:

  • Manutenção agendada
  • Replicação contínua
  • Y (escrita e leitura)
  • Microserviço de acesso a dados

Cada abordagem resolve problemas diferentes, consoante a escala e os requisitos da migração de dados.

A abordagem de microsserviços de acesso a dados é a opção preferencial numa arquitetura de microsserviços. No entanto, as outras abordagens são úteis para a migração de dados. Também são úteis durante o período de transição necessário para modernizar a sua infraestrutura de modo a usar a abordagem de microsserviços de acesso a dados.

O gráfico seguinte descreve os tamanhos das respetivas janelas de transição, o esforço de refatoração e as propriedades de flexibilidade de cada uma destas abordagens.

Gráfico de barras com cada barra a mostrar valores relativos para flexibilidade, esforço de refatoração e tamanhos da janela de transição para cada uma das 4 abordagens

Antes de seguir qualquer uma destas abordagens, certifique-se de que configurou a infraestrutura necessária no novo ambiente.

Manutenção agendada

A abordagem de manutenção agendada (também denominada migração única ou migração de grande impacto) é ideal se as suas cargas de trabalho puderem suportar uma janela de transição. Está agendada no sentido em que pode planear quando ocorre a janela de transição.

Nesta abordagem, a migração consiste nos seguintes passos:

  1. Copie os dados do site antigo para o novo site. Esta cópia inicial minimiza o período de transição. Após esta cópia inicial, só tem de copiar os dados que foram alterados durante este período.
  2. Realize a validação de dados e as verificações de consistência para comparar os dados no site antigo com os dados copiados no novo site.
  3. Pare as cargas de trabalho e os serviços que têm acesso de escrita aos dados copiados, para que não ocorram mais alterações.
  4. Sincronizar as alterações ocorridas após a cópia inicial.
  5. Refatore as cargas de trabalho e os serviços para usar o novo site.
  6. Inicie as suas cargas de trabalho e serviços.
  7. Quando já não precisar do site antigo como opção alternativa, desative-o.

A abordagem de manutenção agendada coloca a maior parte do ónus no lado das operações, porque é necessário um mínimo de refatoração da carga de trabalho e dos serviços.

Replicação contínua

Uma vez que nem todas as cargas de trabalho podem ter uma longa janela de transição, pode basear-se na abordagem de manutenção agendada fornecendo um mecanismo de replicação contínua após os passos iniciais de cópia e validação. Quando cria um mecanismo como este, também deve ter em conta a taxa à qual as alterações são aplicadas aos seus dados. Pode ser difícil manter dois sistemas sincronizados.

A abordagem de replicação contínua (também denominada migração online ou migração gradual) é mais complexa do que a abordagem de manutenção agendada. No entanto, a abordagem de replicação contínua minimiza o tempo necessário para a janela de transição, porque minimiza a quantidade de dados que tem de sincronizar.A sequência para uma migração de replicação contínua é a seguinte:

  1. Copie os dados do site antigo para o novo site. Esta cópia inicial minimiza o período de transição. Após a cópia inicial, só tem de copiar os dados que foram alterados durante este período.
  2. Realize a validação de dados e as verificações de consistência para comparar os dados no site antigo com os dados copiados no novo site.
  3. Configure um mecanismo de replicação contínua do site antigo para o novo site.
  4. Pare os fluxos de trabalho e os serviços que têm acesso aos dados a migrar (ou seja, aos dados envolvidos no passo anterior).
  5. Refatore as cargas de trabalho e os serviços para usar o novo site.
  6. Aguarde que a replicação sincronize totalmente o novo site com o site antigo.
  7. Inicie as suas cargas de trabalho e serviços.
  8. Quando já não precisar do site antigo como opção alternativa, desative-o.

Tal como acontece com a abordagem de manutenção programada, a abordagem de replicação contínua coloca a maior parte do ónus no lado das operações.

Y (escrita e leitura)

Se as suas cargas de trabalho tiverem requisitos de elevada disponibilidade rigorosos e não puder permitir o tempo de inatividade representado por uma janela de transição, tem de adotar uma abordagem diferente. Para este cenário, pode usar uma abordagem que, neste documento, é denominada Y (escrita e leitura), que é uma forma de migração paralela. Com esta abordagem, a carga de trabalho está a escrever e a ler dados no site antigo e no novo site durante a migração. (A letra Y é usada aqui como uma representação gráfica do fluxo de dados durante o período de migração.)

Esta abordagem é resumida da seguinte forma:

  1. Refatore as cargas de trabalho e os serviços para escrever dados no site antigo e no novo, e para ler a partir do site antigo.
  2. Identifique os dados que foram escritos antes de ativar as escritas no novo site e copie-os do site antigo para o novo site. Juntamente com a refatoração anterior, isto garante que os arquivos de dados estão alinhados.
  3. Realize a validação de dados e as verificações de consistência que comparam os dados no site antigo com os dados no novo site.
  4. Mude as operações de leitura do site antigo para o novo site.
  5. Realize outra ronda de validação de dados e verificações de consistência para comparar os dados no site antigo com os do novo site.
  6. Desative a escrita no site antigo.
  7. Quando já não precisar do site antigo como opção alternativa, desative-o.

Ao contrário das abordagens de manutenção agendada e replicação contínua, a abordagem Y (escrita e leitura) transfere a maioria dos esforços do lado das operações para o lado do desenvolvimento devido às várias refatorações.

Microserviço de acesso a dados

Se quiser reduzir o esforço de refatoração necessário para seguir a abordagem Y (escrita e leitura), pode centralizar as operações de leitura e escrita de dados refatorando as cargas de trabalho e os serviços para usar um microsserviço de acesso a dados. Este microserviço escalável torna-se o único ponto de entrada para a camada de armazenamento de dados e atua como um proxy para essa camada. Das abordagens abordadas aqui, esta oferece-lhe a máxima flexibilidade, porque pode refatorar este componente sem afetar outros componentes da arquitetura e sem precisar de uma janela de transição.

A utilização de um microsserviço de acesso a dados é muito semelhante à abordagem Y (escrita e leitura). A diferença é que os esforços de refatorização focam-se apenas no microsserviço de acesso aos dados, em vez de ter de refatorizar todas as cargas de trabalho e os serviços que acedem à camada de armazenamento de dados. Esta abordagem é resumida da seguinte forma:

  1. Refatore o microsserviço de acesso a dados para escrever dados no site antigo e no novo site. As leituras são realizadas no site antigo.
  2. Identifique os dados que foram escritos antes de ativar as escritas no novo site e copie-os do site antigo para o novo site. Juntamente com a refatoração anterior, isto garante que os arquivos de dados estão alinhados.
  3. Realize a validação de dados e as verificações de consistência comparando os dados no site antigo com os dados no novo site.
  4. Refatore o microsserviço de acesso a dados para ler a partir do novo site.
  5. Faça outra ronda de validação de dados e verificações de consistência, comparando os dados no site antigo com os dados no novo site.
  6. Refatore o microsserviço de acesso aos dados para escrever apenas no novo site.
  7. Quando já não precisar do site antigo como opção alternativa, desative-o.

Tal como a abordagem Y (escrita e leitura), a abordagem do microsserviço de acesso a dados coloca a maior parte do ónus no lado do desenvolvimento. No entanto, é significativamente mais leve em comparação com a abordagem Y (escrita e leitura), porque os esforços de refatoração estão focados no microsserviço de acesso aos dados.

Passo 5: prepare-se para a transferência

Para uma transferência grande ou uma transferência com dependências significativas, é importante compreender como operar o seu produto de transferência. Normalmente, os clientes seguem os passos seguintes:

  1. Preços e estimativa do ROI. Este passo oferece muitas opções para ajudar na tomada de decisões.
  2. Testes funcionais. Neste passo, confirma que o produto pode ser configurado com êxito e que a conetividade de rede (quando aplicável) está a funcionar. Também testa se consegue mover uma amostra representativa dos seus dados (incluindo passos não relacionados com a transferência, como mover uma instância de VM) para o destino.

    Normalmente, pode realizar este passo antes de atribuir todos os recursos, como máquinas de transferência ou largura de banda. Os objetivos deste passo incluem o seguinte:

    • Confirme que consegue instalar e operar a transferência.
    • Identifique potenciais problemas que impedem o projeto e bloqueiam o movimento de dados (por exemplo, rotas de rede) ou as suas operações (por exemplo, formação necessária num passo de não transferência).
  3. Testes de desempenho. Neste passo, executa uma transferência numa grande amostra dos seus dados (normalmente, 3 a 5%) depois de os recursos de produção serem atribuídos para fazer o seguinte:

    • Confirme que pode consumir todos os recursos atribuídos e alcançar as velocidades esperadas.
    • Identificar e corrigir gargalos (por exemplo, um sistema de armazenamento de origem lento).

Passo 6: garantir a integridade da transferência

Para ajudar a garantir a integridade dos seus dados durante uma transferência, recomendamos que tome as seguintes precauções:

  • Ative o controlo de versões e a cópia de segurança no destino para limitar os danos causados por eliminações acidentais.
  • Valide os dados antes de remover os dados de origem.

Para transferências de dados em grande escala (com petabytes de dados e milhares de milhões de ficheiros), uma taxa de erro latente de base do sistema de armazenamento de origem subjacente tão baixa quanto 0,0001% resulta ainda numa perda de dados de milhares de ficheiros e gigabytes. Normalmente, as aplicações em execução na origem já toleram estes erros. Nesse caso, não é necessária validação adicional. Em alguns cenários excecionais (por exemplo, arquivo a longo prazo), é necessária mais validação antes de ser considerado seguro eliminar dados da origem.

Consoante os requisitos da sua aplicação, recomendamos que execute alguns testes de integridade de dados após a conclusão da transferência para garantir que a aplicação continua a funcionar como previsto. Muitos produtos de transferência têm verificações de integridade de dados incorporadas. No entanto, consoante o seu perfil de risco, é recomendável fazer um conjunto adicional de verificações nos dados e nas apps que leem esses dados antes de eliminar dados da origem. Por exemplo, pode querer confirmar se uma soma de verificação que registou e calculou de forma independente corresponde aos dados escritos no destino ou confirmar se um conjunto de dados usado pela aplicação foi transferido com êxito.

O que se segue?

Colaboradores

Autores: