Como a Amazon está conquistando a independência de seus bancos de dados usando a AWS

Ao ouvir que a Amazon está prestes a concluir uma iniciativa plurianual em nível corporativo para migrar seus dados da Oracle para a Amazon Web Services (AWS), é possível que se perguntem: por que essa potência do varejo on-line, conhecida pelo uso de tecnologias de ponta, já não estava aproveitando a flexibilidade, a escala, a confiabilidade e a relação custo-benefício da AWS, especialmente considerando que as duas fazem parte da mesma empresa?

A primeira parte da resposta é que a Amazon nasceu muito antes da AWS, em uma era em que soluções monolíticas de banco de dados on-premises, como o Oracle, ainda faziam mais sentido para armazenar e gerenciar dados em escala corporativa. E a segunda é que, embora essa era tenha acabado, existem grandes obstáculos para se desvincular da Oracle, como muitas empresas que desejam migrar para a AWS sabem muito bem.

“Se uma empresa como a Amazon pode migrar tantos bancos de dados usados por tantas equipes descentralizadas e distribuídas globalmente da Oracle para a AWS, isso está realmente ao alcance de praticamente qualquer empresa.”

Thomas Park, gerente sênior de arquitetura de soluções para tecnologias de dados de negócios de consumo, Amazon

  • Sobre a Amazon
  • A Amazon é orientada por quatro princípios: obsessão pelo cliente em vez de foco na concorrência, paixão por inventar, compromisso com excelência operacional e foco no longo prazo. Avaliações de clientes, compras com um clique, recomendações personalizadas, Amazon Prime, FBA - Logística da Amazon, AWS, KDP (Kindle Direct Publishing), Kindle, Fire, Fire TV, Amazon Echo e Alexa são alguns dos produtos e serviços pioneiros criados pela Amazon.

  • Benefícios
    • Reduziu os custos operacionais do banco de dados em 50%
    • Eliminou a maior parte da sobrecarga de administração de banco de dados e gerenciamento de hardware
    • Diminuiu a latência da maioria dos serviços essenciais em 40%
  • Serviços da AWS usados

Romper com a Oracle: mais fácil falar do que fazer

No caso da Amazon, os obstáculos para deixar a Oracle incluíam o tamanho da frota da empresa: mais de 5.000 bancos de dados conectados a uma variedade de sistemas não padronizados, com propriedades e dependências que não foram inventariadas de maneira centralizada. Também havia riscos relacionados ao pessoal. As carreiras de muitos funcionários da Amazon foram baseadas em plataformas de banco de dados Oracle. Eles apoiariam totalmente a mudança? Ou deixariam a empresa?

Muitas outras empresas que desejam migrar da Oracle para a AWS enfrentam desafios semelhantes. Assim como elas, a Amazon tinha motivos urgentes para que a mudança desse certo. Os engenheiros da Amazon estavam perdendo muito tempo com administração, provisionamento e planejamento de capacidade de banco de dados complicados e propensos a erros. A rápida trajetória de crescimento da empresa (e o aumento acentuado do throughput) exigiu cada vez mais fragmentos de banco de dados Oracle, com todas as operações adicionais e despesas de manutenção que eles acarretam. E havia também os custos diretos: continuar com a Oracle aumentaria os milhões de dólares que a Amazon já estava pagando por sua licença: inacreditáveis 10% ao ano.

“O que aconteceu conosco é a realidade de muitas empresas”, diz Thomas Park, gerente sênior de arquitetura de soluções de tecnologias de dados comerciais de consumo na Amazon.com, que ajudou a liderar o projeto de migração. “A Oracle foi nosso maior motivo e nosso maior obstáculo para migrar para a AWS.”

Mas isso passou. Hoje, a Amazon está prestes a concluir a migração de cerca de 50 petabytes de dados e fechar o último desses 5.000 bancos de dados Oracle. Como a empresa realizou essa migração massiva?

Gerenciar a mudança cultural e a complexidade técnica

A Amazon enfrentou dois desafios principais durante a migração. Um deles foi como lidar com o gerenciamento de programas em grande escala necessário para motivar suas equipes diversificadas e distribuídas globalmente a abraçar o projeto e acompanhar seu progresso. A outra foi a complexidade técnica da migração. Para que o projeto fosse bem-sucedido, ficou claro que as linhas de negócios da empresa precisariam de coordenação centralizada, treinamento e suporte técnico.

Para superar esses desafios, a Amazon começou criando um Program Management Office (PMO – Escritório de gerenciamento de programas) corporativo, que definia requisitos claros de performance e estabelecia avaliações semanais, mensais e trimestrais com cada equipe de serviço para acompanhar e relatar o progresso e o status do programa.

“Ao estabelecer o programa, tivemos que definir claramente o que estávamos tentando alcançar e por que, antes de abordarmos o 'como'”, diz Dave George, diretor de tecnologias de dados de negócios de consumo da Amazon. “Depois de estabelecermos o 'quê' e o 'porquê', estabelecemos metas claras com patrocínio executivo ativo. Esse patrocínio garantiu que nossas muitas equipes de tecnologia distribuídas tivessem um foco claro e inequívoco e estivessem comprometidas em atingir essas metas. O foco incansável na entrega garantiu que a interrupção de outras prioridades de negócios fosse minimizada e, ao mesmo tempo, garantisse uma atualização significativa da arquitetura dos sistemas principais.”

Também foi fundamental para o sucesso do projeto uma equipe técnica central da AWS composta por arquitetos de soluções e engenheiros de banco de dados experientes. Essa equipe fez recomendações sobre quais serviços da AWS seriam mais adequados para cada categoria de dados da Amazon que estava sendo migrada da Oracle, incluindo:

  • Amazon DynamoDB: recomendado para serviços essenciais que exigem alta disponibilidade, esquemas em constante mudança e latência consistente inferior a dez milissegundos em escala.
  • Amazon Aurora: recomendado para serviços com esquemas estáveis que exigem alta disponibilidade e forte integridade referencial.
  • Amazon Simple Storage Service (Amazon S3): recomendado para armazenamento econômico e de longo prazo de dados relacionais e não relacionais.
  • Amazon Relational Database Service (Amazon RDS) para PostgreSQL ou MySQL: recomendado para serviços não críticos e facilidade de configuração, operação e escalabilidade.
  • O AWS Database Migration Service (AWS DMS) ajuda a migrar bancos de dados para a AWS de modo rápido e seguro. O banco de dados de origem permanece totalmente operacional durante a migração, minimizando o tempo de inatividade de aplicações que dependem do banco de dados. O DMS pode migrar dados dos/para os bancos de dados comerciais e de código aberto mais usados no mercado.
  • A AWS Schema Conversion Tool (AWS SCT) viabiliza migrações previsíveis de bancos de dados heterogêneos ao converter automaticamente o esquema do banco de dados de origem e uma grande parte dos objetos de código do banco de dados, inclusive visualizações, procedimentos armazenados e funções, em um formato compatível com o banco de dados de destino.

Essa equipe também forneceu instruções formais sobre serviços específicos da AWS, realizou laboratórios práticos, ofereceu consultas individuais e coordenou a assistência direta das equipes de produtos da AWS para empresas da Amazon que enfrentavam desafios específicos.

“Ter essa equipe central formada por arquitetos de soluções e engenheiros de banco de dados experientes foi crucial para o sucesso do projeto”, diz Park. “A equipe não apenas ajudou a educar as equipes de negócios da Amazon, mas também forneceu feedback e solicitações de atributos que tornaram os serviços da AWS ainda mais fortes para todos os clientes.”

A Amazon também pensou cuidadosamente sobre a melhor forma de ajudar seus administradores de banco de dados Oracle na transição para as novas carreiras que agora estavam abertas para eles. Uma opção era ajudá-los a adquirir as habilidades necessárias para se tornarem arquitetos de soluções da AWS. Outra era uma função gerencial na qual a experiência com a Oracle seria útil durante o processo contínuo de unir ambientes tradicionais baseados em Oracle e ambientes da Nuvem AWS.

Independência para os bancos de dados da AWS

A migração para a AWS reduziu os custos operacionais anuais do banco de dados da Amazon em mais da metade, apesar de ter provisionado maior capacidade após a mudança. As despesas com administração de bancos de dados e gerenciamento de hardware foram muito reduzidas, e a alocação de custo entre as equipes está muito mais simples que antes. A maioria dos serviços que tiveram sua plataforma alterada para o Amazon DynamoDB (normalmente os serviços mais críticos, que exigem alta disponibilidade e latência de milissegundos de um dígito em grande escala) teve uma redução de 40% na latência, apesar de agora lidar com o dobro do volume de transações. Durante a migração, as equipes de serviços também aproveitaram a oportunidade para estabilizá-los ainda mais, eliminar a dívida técnica e documentar totalmente todos os códigos e dependências.

Refletindo sobre o escopo do projeto (uma migração que afetou 800 serviços, milhares de microsserviços, dezenas de milhares de funcionários e milhões de clientes, e que resultou em uma área de banco de dados da AWS maior do que para 90% de seus outros clientes) a Amazon.com vê uma lição para outras grandes empresas que estão pensando em uma mudança semelhante.

“Ninguém envolvido nesse projeto de migração diria que foi simples, fácil ou divertido, mas também não foram necessários superpoderes. Se uma empresa como a Amazon pode migrar tantos bancos de dados descentralizados e distribuídos globalmente da Oracle para a AWS, quase qualquer outra empresa também pode.”


Saiba mais

Saiba mais sobre o Amazon DynamoDB.