Cloud Intelligence™Cloud Intelligence™

Cloud Intelligence™

AWS Database Migration Service: vamos mergulhar

By DoiTOct 29, 202119 min read

Esta página também está disponível em English, Deutsch, Español, Français, Italiano e 日本語.

AWS-Database-Migration-Service

Por Jason Gregson e Artem Shchodro

Introdução

Aqui na DoiT, lidamos com bancos de dados de todos os tipos e tamanhos, e ajudamos nossos clientes não só com suporte técnico, mas também a entender qual banco de dados usar em cada cenário.

A DoiT sabe que bancos de dados são um elemento extremamente complexo e estratégico para qualquer negócio. Por isso, optamos por separar Bancos de Dados de tudo o mais — ou seja, da área Core. Embora exista bastante sobreposição entre a engenharia Core e a de Bancos de Dados, há disciplinas muito específicas relacionadas a Bancos de Dados que ficam fora do escopo da Core Engineering. Assim, todas as discussões sobre bancos de dados e Database Migration Service ficam a cargo do time especialista em Bancos de Dados.

Não existe solução única que sirva para tudo, e com bancos de dados não é diferente. Conforme o cliente cresce, os requisitos mudam. O negócio pode alterar o modelo ou a forma como os dados são coletados, então o que fazia sentido no início pode não fazer mais lá na frente. O mesmo vale para o local onde os bancos de dados rodam: on premises ou na nuvem.

Como a maioria das aplicações precisa armazenar dados em algum tipo de banco, eles acabam virando as joias da coroa da plataforma do cliente. Navegar por esse cenário em constante mudança consome tempo e traz desafios técnicos reais. A Amazon Web Services (AWS) oferece diversos serviços e ferramentas para ajudar você a migrar seus bancos de dados — e também as aplicações que os utilizam — para a nuvem. Você pode trocar o sistema de gerenciamento de banco de dados (DBMS) ou até mudar a arquitetura de SQL para NoSQL, conforme os requisitos e as ambições do negócio.

Migrar dados de um servidor para outro é relativamente simples quando ambos usam o mesmo mecanismo de banco de dados — o que chamamos de migração homogênea. Por exemplo, mover um Microsoft SQL Server on premises para o mesmo Microsoft SQL Server rodando no Amazon Relational Database Service (Amazon RDS) é mais uma questão de garantir que todos os dados e schemas sejam replicados e que conectividade e segurança estejam corretas para que a aplicação consiga se conectar ao "novo" banco de dados. A complexidade real aparece quando há mudanças — até alterações que parecem pequenas, como o número da versão, podem trazer à tona uma série de pontos que precisam ser tratados. Já mudar para um mecanismo diferente, ou seja, fazer uma migração heterogênea, é mais difícil e pode exigir ajustes na sua abordagem e na aplicação.

Este artigo traz uma visão geral de duas ferramentas de banco de dados: o AWS Schema Conversion Tool (AWS SCT) e o AWS Database Migration Service (AWS DMS).

Por que migrar meu banco de dados para a AWS?

As aplicações de hoje trazem todo tipo de desafio em diferentes níveis de complexidade: grandes volumes de dados, alta exigência de throughput transacional, tipos de dados e regras de negócio complexos, além de recursos proprietários de fornecedores. Migrar esses workloads para a nuvem é meta de muitos clientes da Amazon Web Services, por vários motivos: redução de custos com automação e elasticidade mais simples, e diminuição dos custos de licenciamento com menor vendor lock-in em alguns dos DBMSs mais proprietários (Microsoft SQL/Oracle/SAP). Isso também tem o potencial de destravar inovação ao desacoplar os sistemas de dados da aplicação, em uma abordagem moderna e centrada na nuvem. A migração também ajuda a modernizar a infraestrutura de dados com recursos exclusivos de nuvem, como o mecanismo de armazenamento do Amazon Aurora. Não são passos a serem dados sem muita due diligence e expertise técnica — e é aí que a DoiT pode ser seu primeiro contato.

Veja alguns motivos comuns para migrar um banco de dados

Modernização de banco de dados

Mover dados de mecanismos de banco de dados legados para mecanismos modernos, dando ao negócio a agilidade necessária para competir na era digital.

Migração de banco de dados

Mover dados de uma plataforma para outra, no contexto de aplicações corporativas.

Replicação de banco de dados

Copiar dados com frequência de um banco em um computador/servidor para um banco em outro, mantendo o mesmo nível de informação para todos os usuários

Quais são os benefícios de migrar um banco de dados com a AWS?

Bancos de dados relacionais são uma tecnologia madura e amplamente conhecida, o que permite gerenciar altos níveis de disponibilidade no dia a dia com servidores on-premises. Os bancos NoSQL são mais recentes, mas costumam manter alta disponibilidade on-premises também. Ainda assim, qualquer downtime de banco de dados pode impactar fortemente tanto a disponibilidade da aplicação quanto a capacidade da empresa de atender seus clientes em tempo hábil. Isso gera um efeito reputacional negativo e difícil de reverter. Por isso, ao garantir que requisitos de negócio e técnicos sejam totalmente endereçados em nossas conversas, conseguimos minimizar esses e outros riscos da(s) migração(ões).

As tecnologias de banco de dados da AWS, como o Amazon Relational Database Service (Amazon RDS) e o Amazon DynamoDB, oferecem soluções de baixo custo, escaláveis e altamente disponíveis, simples de configurar e usar. Para muitas empresas, migrar os bancos de dados para a nuvem (especialmente quando há troca de mecanismo) reduz o downtime e o custo em comparação com servidores on-premises.

Simples de usar

O AWS Database Migration Service (AWS DMS) é fácil de usar. Você não precisa instalar drivers ou aplicações, e normalmente não exige mudanças no banco de dados de origem.

Downtime mínimo

O AWS DMS ajuda a migrar seus bancos de dados para a AWS praticamente sem downtime.

Compatível com os principais mecanismos de banco de dados

O AWS DMS migra seus dados de e para a maioria dos mecanismos de banco de dados comerciais e open-source mais usados.

Baixo custo

O AWS DMS migra seus dados de e para a maioria dos mecanismos de banco de dados comerciais e open-source mais usados.

Rápido e fácil de configurar

Você configura uma tarefa de migração em minutos no AWS Management Console. É lá que você define os parâmetros usados pelo Amazon DMS para executar a migração.

image1

Confiável

O AWS DMS é altamente resiliente e tem capacidade de autorrecuperação. Ele monitora continuamente os bancos de dados de origem e destino, a conectividade de rede e a instância de replicação.

Como migro meu banco de dados para a AWS?

O AWS DMS e o AWS Schema Conversion Tool (AWS SCT) ajudam você a migrar bancos de dados para dentro ou para fora da AWS de forma rápida e segura. Com o AWS DMS, seu banco de dados de origem continua totalmente operacional durante a migração, minimizando o downtime das aplicações que dependem dele.

Você pode migrar para o mesmo mecanismo de banco de dados ou trocar de mecanismo para modernizar sua plataforma. Também dá para replicar dados e sincronizar os bancos de origem e destino.

Por exemplo:

Você pode migrar de uma instância Oracle on-premises para uma instância Amazon RDS for Oracle.

Ou...

Pode migrar uma instância Oracle, on-premises ou na nuvem, para um banco PostgreSQL como o Amazon RDS for PostgreSQL ou o Amazon Aurora PostgreSQL.

Quais ferramentas podem ajudar na minha migração?

AWS DMS

De forma bem simplificada, o AWS DMS é um servidor na AWS Cloud que executa o software de replicação. Você cria uma conexão de origem e outra de destino para informar ao AWS DMS de onde extrair e para onde carregar. Em seguida, agenda uma tarefa que roda nesse servidor de replicação e recebe uma cópia dos seus dados.

O AWS DMS cria as tabelas e as chaves primárias associadas, caso elas ainda não existam no destino. Se preferir, você pode criar as tabelas de destino manualmente. Ou pode usar o AWS SCT para criar parte ou todas as tabelas, índices, views, triggers e demais objetos no destino.

AWS SCT

Se você quer trocar de mecanismo de banco de dados, o AWS SCT consegue converter o schema existente do seu banco para a plataforma de destino. Isso inclui tabelas, índices, views e stored procedures, além do código da aplicação. Quando o schema do banco de origem não pode ser convertido automaticamente, o AWS SCT orienta como criar um schema equivalente no mecanismo de destino. É importante entender quais pontos não conseguem ser convertidos automaticamente, porque eles vão impactar tanto o banco resultante quanto a forma como a aplicação atual interage com ele. De novo, é aqui que a experiência da DoiT entra em campo: conseguimos ajudar você a entender os elementos em jogo e o que precisa ser considerado nas mudanças necessárias.

Como gerencio um projeto de migração?

Como o AWS DMS e o AWS SCT se encaixam no seu projeto de migração? A AWS sugere estruturar uma migração em 12 etapas. Como nem todas as etapas são necessárias em todo projeto, a DoiT International designa um especialista em migração do departamento de Database Engineering para cada projeto de cliente, a fim de avaliar seu caso de uso específico. Com base nas avaliações iniciais e nas características da sua aplicação, banco de dados, infraestrutura, recursos disponíveis e habilidades, a DoiT International monta um plano de migração com você.

Essa etapa da migração começa a revelar elementos que não fazem parte da migração física, e sim dos objetivos de negócio — o que significa um bom resultado? Por exemplo: "Hoje usamos o Banco de Dados X e vamos crescer 1000x nos próximos 12 meses". Isso traz todo tipo de implicação que precisa ser compreendida, e talvez uma migração homogênea não seja a melhor abordagem para resolver essa enorme demanda de escalabilidade do negócio.

E agora?

Se você representa a engenharia do negócio e quer aprender a usar as ferramentas para o próximo projeto de migração, pode se inscrever no curso introdutório gratuito da AWS. O treinamento aborda: migração de schema, migração de dados, e treinamento e suporte. Ele dá uma compreensão mais profunda do que está envolvido e desmistifica os elementos técnicos da própria migração. Mas isso não substitui a experiência necessária para entender as nuances de uma Migração de Banco de Dados — e é nesse ponto que a DoiT entra para oferecer o suporte necessário para o seu sucesso.

Se quer avaliar uma possível migração — a DoiT International ajuda os clientes a migrar seus workloads para a nuvem e oferece suporte contínuo. Saiba mais sobre nossa abordagem em migrações e como a DoiT International pode ajudar você.

P: Quanto tudo isso vai custar?

O melhor de tudo é que a DoiT tem um modelo de precificação único para apoiar nossos clientes. Isso vale também para Migrações de Bancos de Dados para a AWS. Fazemos o trabalho com custo adicional zero; não há custos extras associados à migração dos seus workloads para a nuvem.

P: Onde está a pegadinha?

Não tem pegadinha. Você só precisa pagar sua fatura AWS pela DoiT como reseller — só isso. Somos um complemento aos serviços e ao suporte que você já recebe diretamente da Amazon; não tiramos nada dessa relação, exceto pelo pagamento da fatura AWS, que passa a ser feito diretamente pela DoiT. Considerando o custo zero, dá para entender que a DoiT não vai executar a migração do banco de dados em si, mas atuará em caráter consultivo para garantir que você receba a orientação certa, no momento certo, em cada etapa da migração. Você precisará executar o trabalho ou contratar um terceiro para isso. Além disso, terá todos os benefícios habituais de quem é cliente DoiT, incluindo:

Suporte ilimitado (24x7 — Follow the sun)

Treinamento sem custo

Acesso ao DoiT Cloud Intelligence™

Revisões do Well Architected Framework (WAfR) sem custo

Flexsave da DoiT (economia flexível)

Spot0 da DoiT (precificação flexível de Spot)

Jason

Jason Gregson é Global Head of AWS Programs and Operations da DoiT international. Após muitos anos como Solution Architect, incluindo 5 anos na Amazon, é apaixonado por ajudar clientes a construir aplicações modernas com os serviços mais recentes da AWS. Tecnólogo pragmático e engenheiro de coração, adora aprendizado e troca de tecnologia em comunidade, para que todos conheçam a Arte do possível. Siga-o no Twitter em @JasonGregson.

Artem

Artem Shchodro é Senior Cloud Architect na DoiT international. Ex-Amazonian, ajuda clientes a extrair o máximo de valor da nuvem. Artem é pragmático e direto, unindo valor de negócio à tecnologia. Não o siga no Twitter.

Por Jason Gregson e Artem Shchodro

Introdução

Aqui na DoiT, lidamos com bancos de dados de todos os tipos e tamanhos, e ajudamos nossos clientes não só com suporte técnico, mas também a entender qual banco de dados usar em cada cenário.

A DoiT sabe que bancos de dados são um elemento extremamente complexo e estratégico para qualquer negócio. Por isso, optamos por separar Bancos de Dados de tudo o mais — ou seja, da área Core. Embora exista bastante sobreposição entre a engenharia Core e a de Bancos de Dados, há disciplinas muito específicas relacionadas a Bancos de Dados que ficam fora do escopo da Core Engineering. Assim, todas as discussões sobre bancos de dados e Database Migration Service ficam a cargo do time especialista em Bancos de Dados.

Não existe solução única que sirva para tudo, e com bancos de dados não é diferente. Conforme o cliente cresce, os requisitos mudam. O negócio pode alterar o modelo ou a forma como os dados são coletados, então o que fazia sentido no início pode não fazer mais lá na frente. O mesmo vale para o local onde os bancos de dados rodam: on premises ou na nuvem.

Como a maioria das aplicações precisa armazenar dados em algum tipo de banco, eles acabam virando as joias da coroa da plataforma do cliente. Navegar por esse cenário em constante mudança consome tempo e traz desafios técnicos reais. A Amazon Web Services (AWS) oferece diversos serviços e ferramentas para ajudar você a migrar seus bancos de dados — e também as aplicações que os utilizam — para a nuvem. Você pode trocar o sistema de gerenciamento de banco de dados (DBMS) ou até mudar a arquitetura de SQL para NoSQL, conforme os requisitos e as ambições do negócio.

Migrar dados de um servidor para outro é relativamente simples quando ambos usam o mesmo mecanismo de banco de dados — o que chamamos de migração homogênea. Por exemplo, mover um Microsoft SQL Server on premises para o mesmo Microsoft SQL Server rodando no Amazon Relational Database Service (Amazon RDS) é mais uma questão de garantir que todos os dados e schemas sejam replicados e que conectividade e segurança estejam corretas para que a aplicação consiga se conectar ao "novo" banco de dados. A complexidade real aparece quando há mudanças — até alterações que parecem pequenas, como o número da versão, podem trazer à tona uma série de pontos que precisam ser tratados. Já mudar para um mecanismo diferente, ou seja, fazer uma migração heterogênea, é mais difícil e pode exigir ajustes na sua abordagem e na aplicação.

Este artigo traz uma visão geral de duas ferramentas de banco de dados: o AWS Schema Conversion Tool (AWS SCT) e o AWS Database Migration Service (AWS DMS).

Por que migrar meu banco de dados para a AWS?

As aplicações de hoje trazem todo tipo de desafio em diferentes níveis de complexidade: grandes volumes de dados, alta exigência de throughput transacional, tipos de dados e regras de negócio complexos, além de recursos proprietários de fornecedores. Migrar esses workloads para a nuvem é meta de muitos clientes da Amazon Web Services, por vários motivos: redução de custos com automação e elasticidade mais simples, e diminuição dos custos de licenciamento com menor vendor lock-in em alguns dos DBMSs mais proprietários (Microsoft SQL/Oracle/SAP). Isso também tem o potencial de destravar inovação ao desacoplar os sistemas de dados da aplicação, em uma abordagem moderna e centrada na nuvem. A migração também ajuda a modernizar a infraestrutura de dados com recursos exclusivos de nuvem, como o mecanismo de armazenamento do Amazon Aurora. Não são passos a serem dados sem muita due diligence e expertise técnica — e é aí que a DoiT pode ser seu primeiro contato.

Veja alguns motivos comuns para migrar um banco de dados

Modernização de banco de dados

Mover dados de mecanismos de banco de dados legados para mecanismos modernos, dando ao negócio a agilidade necessária para competir na era digital.

Migração de banco de dados

Mover dados de uma plataforma para outra, no contexto de aplicações corporativas.

Replicação de banco de dados

Copiar dados com frequência de um banco em um computador/servidor para um banco em outro, mantendo o mesmo nível de informação para todos os usuários

Quais são os benefícios de migrar um banco de dados com a AWS?

Bancos de dados relacionais são uma tecnologia madura e amplamente conhecida, o que permite gerenciar altos níveis de disponibilidade no dia a dia com servidores on-premises. Os bancos NoSQL são mais recentes, mas costumam manter alta disponibilidade on-premises também. Ainda assim, qualquer downtime de banco de dados pode impactar fortemente tanto a disponibilidade da aplicação quanto a capacidade da empresa de atender seus clientes em tempo hábil. Isso gera um efeito reputacional negativo e difícil de reverter. Por isso, ao garantir que requisitos de negócio e técnicos sejam totalmente endereçados em nossas conversas, conseguimos minimizar esses e outros riscos da(s) migração(ões).

As tecnologias de banco de dados da AWS, como o Amazon Relational Database Service (Amazon RDS) e o Amazon DynamoDB, oferecem soluções de baixo custo, escaláveis e altamente disponíveis, simples de configurar e usar. Para muitas empresas, migrar os bancos de dados para a nuvem (especialmente quando há troca de mecanismo) reduz o downtime e o custo em comparação com servidores on-premises.

Simples de usar

O AWS Database Migration Service (AWS DMS) é fácil de usar. Você não precisa instalar drivers ou aplicações, e normalmente não exige mudanças no banco de dados de origem.

Downtime mínimo

O AWS DMS ajuda a migrar seus bancos de dados para a AWS praticamente sem downtime.

Compatível com os principais mecanismos de banco de dados

O AWS DMS migra seus dados de e para a maioria dos mecanismos de banco de dados comerciais e open-source mais usados.

Baixo custo

O AWS DMS migra seus dados de e para a maioria dos mecanismos de banco de dados comerciais e open-source mais usados.

Rápido e fácil de configurar

Você configura uma tarefa de migração em minutos no AWS Management Console. É lá que você define os parâmetros usados pelo Amazon DMS para executar a migração.

image1

Confiável

O AWS DMS é altamente resiliente e tem capacidade de autorrecuperação. Ele monitora continuamente os bancos de dados de origem e destino, a conectividade de rede e a instância de replicação.

Como migro meu banco de dados para a AWS?

O AWS DMS e o AWS Schema Conversion Tool (AWS SCT) ajudam você a migrar bancos de dados para dentro ou para fora da AWS de forma rápida e segura. Com o AWS DMS, seu banco de dados de origem continua totalmente operacional durante a migração, minimizando o downtime das aplicações que dependem dele.

Você pode migrar para o mesmo mecanismo de banco de dados ou trocar de mecanismo para modernizar sua plataforma. Também dá para replicar dados e sincronizar os bancos de origem e destino.

Por exemplo:

Você pode migrar de uma instância Oracle on-premises para uma instância Amazon RDS for Oracle.

Ou...

Pode migrar uma instância Oracle, on-premises ou na nuvem, para um banco PostgreSQL como o Amazon RDS for PostgreSQL ou o Amazon Aurora PostgreSQL.

Quais ferramentas podem ajudar na minha migração?

AWS DMS

De forma bem simplificada, o AWS DMS é um servidor na AWS Cloud que executa o software de replicação. Você cria uma conexão de origem e outra de destino para informar ao AWS DMS de onde extrair e para onde carregar. Em seguida, agenda uma tarefa que roda nesse servidor de replicação e recebe uma cópia dos seus dados.

O AWS DMS cria as tabelas e as chaves primárias associadas, caso elas ainda não existam no destino. Se preferir, você pode criar as tabelas de destino manualmente. Ou pode usar o AWS SCT para criar parte ou todas as tabelas, índices, views, triggers e demais objetos no destino.

AWS SCT

Se você quer trocar de mecanismo de banco de dados, o AWS SCT consegue converter o schema existente do seu banco para a plataforma de destino. Isso inclui tabelas, índices, views e stored procedures, além do código da aplicação. Quando o schema do banco de origem não pode ser convertido automaticamente, o AWS SCT orienta como criar um schema equivalente no mecanismo de destino. É importante entender quais pontos não conseguem ser convertidos automaticamente, porque eles vão impactar tanto o banco resultante quanto a forma como a aplicação atual interage com ele. De novo, é aqui que a experiência da DoiT entra em campo: conseguimos ajudar você a entender os elementos em jogo e o que precisa ser considerado nas mudanças necessárias.

Como gerencio um projeto de migração?

Como o AWS DMS e o AWS SCT se encaixam no seu projeto de migração? A AWS sugere estruturar uma migração em 12 etapas. Como nem todas as etapas são necessárias em todo projeto, a DoiT International designa um especialista em migração do departamento de Database Engineering para cada projeto de cliente, a fim de avaliar seu caso de uso específico. Com base nas avaliações iniciais e nas características da sua aplicação, banco de dados, infraestrutura, recursos disponíveis e habilidades, a DoiT International monta um plano de migração com você.

Essa etapa da migração começa a revelar elementos que não fazem parte da migração física, e sim dos objetivos de negócio — o que significa um bom resultado? Por exemplo: "Hoje usamos o Banco de Dados X e vamos crescer 1000x nos próximos 12 meses". Isso traz todo tipo de implicação que precisa ser compreendida, e talvez uma migração homogênea não seja a melhor abordagem para resolver essa enorme demanda de escalabilidade do negócio.

E agora?

Se você representa a engenharia do negócio e quer aprender a usar as ferramentas para o próximo projeto de migração, pode se inscrever no curso introdutório gratuito da AWS. O treinamento aborda: migração de schema, migração de dados, e treinamento e suporte. Ele dá uma compreensão mais profunda do que está envolvido e desmistifica os elementos técnicos da própria migração. Mas isso não substitui a experiência necessária para entender as nuances de uma Migração de Banco de Dados — e é nesse ponto que a DoiT entra para oferecer o suporte necessário para o seu sucesso.

Se quer avaliar uma possível migração — a DoiT International ajuda os clientes a migrar seus workloads para a nuvem e oferece suporte contínuo. Saiba mais sobre nossa abordagem em migrações e como a DoiT International pode ajudar você.

P: Quanto tudo isso vai custar?

O melhor de tudo é que a DoiT tem um modelo de precificação único para apoiar nossos clientes. Isso vale também para Migrações de Bancos de Dados para a AWS. Fazemos o trabalho com custo adicional zero; não há custos extras associados à migração dos seus workloads para a nuvem.

P: Onde está a pegadinha?

Não tem pegadinha. Você só precisa pagar sua fatura AWS pela DoiT como reseller — só isso. Somos um complemento aos serviços e ao suporte que você já recebe diretamente da Amazon; não tiramos nada dessa relação, exceto pelo pagamento da fatura AWS, que passa a ser feito diretamente pela DoiT. Considerando o custo zero, dá para entender que a DoiT não vai executar a migração do banco de dados em si, mas atuará em caráter consultivo para garantir que você receba a orientação certa, no momento certo, em cada etapa da migração. Você precisará executar o trabalho ou contratar um terceiro para isso. Além disso, terá todos os benefícios habituais de quem é cliente DoiT, incluindo:

Suporte ilimitado (24x7 — Follow the sun)

Treinamento sem custo

Acesso ao DoiT Cloud Intelligence

Revisões do Well Architected Framework (WAfR) sem custo

Flexsave da DoiT (economia flexível)

Spot0 da DoiT (precificação flexível de Spot)

Jason

Jason Gregson é Global Head of AWS Programs and Operations da DoiT international. Após muitos anos como Solution Architect, incluindo 5 anos na Amazon, é apaixonado por ajudar clientes a construir aplicações modernas com os serviços mais recentes da AWS. Tecnólogo pragmático e engenheiro de coração, adora aprendizado e troca de tecnologia em comunidade, para que todos conheçam a Arte do possível. Siga-o no Twitter em @JasonGregson.

Artem

Artem Shchodro é Senior Cloud Architect na DoiT international. Ex-Amazonian, ajuda clientes a extrair o máximo de valor da nuvem. Artem é pragmático e direto, unindo valor de negócio à tecnologia. Não o siga no Twitter.