Modernize e Consolide o AWS RDS para MySQL e MongoDB Atlas no Oracle Autonomous Database
Saiba como um cliente substituiu uma arquitetura complexa de vários bancos de dados no Amazon Web Service (AWS) que usou o MySQL e o MongoDB Atlas por um único Autonomous Database convergente.
A migração do banco de dados foi feita usando o Oracle Cloud Infrastructure GoldenGate. O Oracle Cloud Infrastructure GoldenGate é um serviço de nuvem nativo totalmente gerenciado que move dados em tempo real em escala. A migração também preservou uma grande porcentagem de código de aplicativo usando a API do Oracle Database para MongoDB.
A arquitetura legada implantada no AWS foi um workflow de processamento de dados complexo que consistia em um AWS RDS MySQL Database gerenciado e MongoDB Atlas para garantir consistência e precisão dos dados, fornecendo as informações em um formato JSON flexível para seus clientes.
O seguinte diagrama ilustra o fluxo de dados legado:
aws-rds-oci-adw-flow1-oracle.zip
Vários sistemas fragmentados foram combinados, aumentando a complexidade do carregamento de dados, da transformação e da sincronização. A arquitetura legada não era apenas complexa, mas também desperdiçou recursos e estava propensa a erros. A complexidade do sistema:
- Aumentou as chances de erros de processamento de dados, resultando em menor qualidade e menos de 100% de precisão.
- Aumento dos tempos de processamento, levando a um tempo de produção insuficiente
- Aumentou a sobrecarga operacional, desperdiçando tempo e recursos na solução de problemas e na depuração
Arquitetura
O banco de dados de produção é migrado do Amazon RDS para o Atlas MySQL e MongoDB no AWS para o Oracle Autonomous Database implantado na região do Oracle Cloud Infrastructure (OCI) US-East (Ashburn) usando o OCI GoldenGate provisionado na mesma região e na mesma rede virtual na nuvem (VCN).
A replicação unidirecional entre as duas nuvens só é usada para migração.
Os aplicativos são implantados no AWS US-East (Ashburn). Após a migração, a camada de aplicativos também é migrada para uma instância de computação do OCI. A conectividade dedicada é fornecida pelo Oracle Cloud Infrastructure FastConnect e um parceiro OCI FastConnect para conectar bancos de dados em execução no AWS ao OCI GoldenGate. Para obter um link para uma lista de parceiros FastConnect do OCI por região, consulte a seção Explorar Mais.
As etapas de migração e consolidação de alto nível são as seguintes:
- Prepare os bancos de dados MySQL e MongoDB para replicação usando o OCI GoldenGate.
- Provisione duas implantações GoldenGate do OCI para executar Extracts: implantação MySQL para banco de dados MySQL e implantação de Big Data para MongoDB.
- Crie conexões do OCI GoldenGate com MySQL e MongoDB.
- Na implantação do Oracle de destino, crie uma implantação do OCI GoldenGate para replicar dados para o Oracle Autonomous Database.
- Crie uma conexão do OCI GoldenGate para o Oracle Autonomous Database.
- Designe conexões às respectivas implementações.
- Crie uma extração de carga inicial para implantações MySQL e MongoDB.
- Crie processos de serviço de distribuição para enviar os dados das implantações de origem MySQL e MongoDB para a implantação Oracle de destino.
- Crie um processo de replicação na implantação do Oracle de destino para replicar os dados de carga inicial.
- Crie uma extração de captura de dados de alteração para implantações MySQL e MongoDB.
- Crie um processo de replicação de captura de dados de alteração na implantação do Oracle de destino para replicar dados.
- Replique o aplicativo do AWS EC2 para a VM do OCI.
- Conecte o aplicativo no OCI ao Oracle Autonomous Database.
- Desconecte e desative os aplicativos e bancos de dados no AWS.
Com recursos de banco de dados convergentes que suportam requisitos relacionais e de armazenamento de documentos em um único banco de dados, o Oracle Autonomous Database em execução no OCI fornece a plataforma principal para atingir as metas do cliente. O Oracle Autonomous Database permite que eles armazenem os dados brutos como estão em seu formato relacional com integridade de dados imposta. Os dados dos aplicativos do usuário final são retornados no formato JSON necessário em milissegundos. Os dados estão prontamente disponíveis por meio de SQL e JSON e por meio da API do Oracle Database para MongoDB, sem qualquer processamento adicional.
O diagrama a seguir ilustra a arquitetura:
aws-rds-oci-adw-arch-oracle.zip
Nesta arquitetura, o OCI GoldenGate e o Oracle Autonomous Database são provisionados no OCI e facilitam a replicação unidirecional do AWS RDS para MySQL.
Usando o OCI GoldenGate, você também pode projetar, executar, orquestrar e monitorar tarefas de replicação de dados e análise de streaming sem precisar alocar ou gerenciar qualquer ambiente de computação. O OCI GoldenGate não é necessário para executar o aplicativo e o banco de dados após a conclusão da migração e pode ser removido.
A consolidação da antiga arquitetura de banco de dados em um único Oracle Autonomous Database em execução na OCI elimina a necessidade de operar uma arquitetura complexa com vários bancos de dados de finalidade única e processos ETL (extração, transformação e carga) complexos e sincronizados entre esses dois bancos de dados e reduz o tempo de processamento, aumentando a qualidade e a precisão dos dados.
O seguinte diagrama ilustra o fluxo de dados atual:
aws-rds-oci-adw-flow2-oracle.zip
O cliente percebeu os seguintes benefícios comerciais imediatos:
- Tempo de produção do projeto 15% mais rápido e melhor qualidade para oferecer maior satisfação do cliente
- Aumentou o desempenho do aplicativo por meio de uma arquitetura mais simples e recursos do Oracle Autonomous Database
- 10% de economia de custos operacionais por meio de menos infraestrutura e gerenciamento reduzido de aplicativos e bancos de dados
- Maior produtividade do desenvolvedor para se concentrar na inovação, em vez de solucionar problemas
A arquitetura tem os seguintes componentes:
- Tenancy
Uma tenancy é uma partição segura e isolada que a Oracle configura no Oracle Cloud quando você acessa o Oracle Cloud Infrastructure. Você pode criar, organizar e administrar seus recursos no Oracle Cloud em sua tenancy. Uma tenancy é sinônimo de empresa ou organização. Geralmente, uma empresa terá uma única tenancy e refletirá sua estrutura organizacional dentro dessa tenancy. Em geral, uma única tenancy é associada a uma única assinatura e, em geral, uma única assinatura só tem uma tenancy.
- Região
Uma região do Oracle Cloud Infrastructure é uma área geográfica localizada que contém um ou mais data centers, denominada domínios de disponibilidade. As regiões são independentes de outras regiões, e grandes distâncias podem separá-las (entre países ou até mesmo continentes).
- Domínio de disponibilidade
Domínios de disponibilidade são data centers stand-alone e independentes dentro de uma região. Os recursos físicos de cada domínio de disponibilidade são isolados dos recursos de outros domínios de disponibilidade, o que oferece tolerância a falhas. Os domínios de disponibilidade não compartilham infraestrutura como energia ou refrigeração ou a rede interna do domínio de disponibilidade. Portanto, sem probabilidade de uma falha em um domínio de disponibilidade afetar os outros domínios de disponibilidade na região.
- VCN (Virtual Cloud Network) e sub-redes
Uma VCN é uma rede personalizável definida por software que você configura em uma região do Oracle Cloud Infrastructure. Como as redes tradicionais de data center, as VCNs oferecem total controle sobre seu ambiente de rede. Uma VCN pode ter vários blocos CIDR não sobrepostos que você pode alterar após a criação da VCN. Você pode segmentar uma VCN em sub-redes, com escopo definido para uma região ou para um domínio de disponibilidade. Cada sub-rede consiste em um intervalo contíguo de endereços que não se sobrepõem a outras sub-redes da VCN. Você pode alterar o tamanho de uma sub-rede após a criação. Uma sub-rede pode ser pública ou privada.
- Tabela de roteamento
As tabelas de roteamento virtual contêm regras para rotear o tráfego de sub-redes para destinos fora de uma VCN, geralmente por meio de gateways.
- Lista de segurança
Para cada sub-rede, você pode criar regras de segurança que especifiquem a origem, o destino e o tipo de tráfego que deve ser permitido dentro e fora da sub-rede.
- FastConnect
O Oracle Cloud Infrastructure FastConnect fornece uma maneira fácil de criar uma conexão privada dedicada entre o seu data center e o Oracle Cloud Infrastructure. O FastConnect oferece opções de largura de banda mais alta e uma experiência de rede mais confiável quando comparado com conexões baseadas na internet.
- Gateway de roteamento dinâmico (DRG)
O DRG é um roteador virtual que fornece um caminho para o tráfego de rede privada entre VCNs na mesma região, entre uma VCN e uma rede fora da região, como uma VCN em outra região do Oracle Cloud Infrastructure, uma rede local ou uma rede em outro provedor de nuvem.
- Gateway de serviço
O gateway de serviço fornece acesso de uma VCN a outros serviços, como o Oracle Cloud Infrastructure Object Storage. O tráfego da VCN para o serviço Oracle passa pela malha da rede Oracle e nunca atravessa a internet.
- Serviço Bastion
O Oracle Cloud Infrastructure Bastion oferece acesso seguro restrito e com tempo limitado a recursos que não têm pontos finais públicos e que exigem controles rígidos de acesso a recursos, como bare metal e máquinas virtuais, Oracle MySQL Database Service, Autonomous Transaction Processing (ATP), Oracle Container Engine for Kubernetes (OKE) e qualquer outro recurso que permita acesso ao Secure Shell Protocol (SSH). Com o serviço Oracle Cloud Infrastructure Bastion, você pode ativar o acesso a hosts privados sem implantar e manter um host de salto. Além disso, você ganha melhor postura de segurança com permissões baseadas em identidade e uma sessão SSH centralizada, auditada e limitada por tempo. O Oracle Cloud Infrastructure Bastion elimina a necessidade de um IP público para acesso bastion, eliminando o incômodo e a potencial superfície de ataque ao fornecer acesso remoto.
- Computação
O serviço Oracle Cloud Infrastructure Compute permite provisionar e gerenciar hosts de computação na nuvem. Você pode iniciar instâncias de computação com formas que atendam aos seus requisitos de recursos para CPU, memória, largura de banda da rede e armazenamento. Depois de criar uma instância de computação, você pode acessá-la de forma segura, reiniciá-la, anexar e desconectar volumes e encerrá-la quando não precisar mais dela.
- Object Storage
O armazenamento de objetos oferece acesso rápido a grandes quantidades de dados estruturados e não estruturados de qualquer tipo de conteúdo, incluindo backups de bancos de dados, dados analíticos e conteúdo avançado, como imagens e vídeos. Você pode armazenar de forma segura e depois recuperar dados diretamente da internet ou de dentro da plataforma da nuvem. Você pode dimensionar o armazenamento de forma integrada sem prejudicar o desempenho ou a confiabilidade do serviço. Use o armazenamento padrão para armazenamento de acesso frequente que você precisa acessar de forma rápida, imediata e com frequência. Use o armazenamento de arquivos compactados para armazenamento "frio" que você mantém por longos períodos de tempo e raramente acessa.
- Serviço IAM (Identity and Access Management)
O Oracle Cloud Infrastructure Identity and Access Management (IAM) é o plano de controle de acesso do Oracle Cloud Infrastructure (OCI) e do Oracle Cloud Applications. A API do serviço IAM e a interface do usuário permitem que você gerencie domínios de identidades e os recursos dentro do domínio de identidades. Cada domínio de identidades do OCI IAM representa uma solução de gerenciamento de identidades e acesso independente ou outra população de usuários.
- LoggingO Logging é um serviço altamente escalável e totalmente gerenciado que oferece acesso aos seguintes tipos de logs de recursos na nuvem:
- Logs de auditoria: Logs relacionados a eventos emitidos pelo serviço Audit.
- Logs de serviço: Logs emitidos por serviços individuais como API Gateway, Events, Functions, Load Balancing, Object Storage e logs de fluxo da VCN.
- Logs personalizados: Logs que contêm informações de diagnóstico de aplicativos personalizados, outros provedores de nuvem ou um ambiente on-premises.
- Monitoring
O serviço Oracle Cloud Infrastructure Monitoring monitora de forma ativa e passiva seus recursos de nuvem usando métricas para monitorar recursos e alarmes para notificá-lo quando essas métricas atenderem aos acionadores especificados pelo alarme.
- Cloud Guard
Você pode usar o Oracle Cloud Guard para monitorar e manter a segurança de seus recursos no Oracle Cloud Infrastructure. O Cloud Guard usa receitas do detector que você pode definir para examinar seus recursos em busca de pontos fracos de segurança e para monitorar operadores e usuários em busca de atividades arriscadas. Quando qualquer atividade de configuração incorreta ou insegura é detectada, o Cloud Guard recomenda ações corretivas e ajuda a tomar essas ações, com base nas receitas do respondedor que você pode definir.
- Data Integration
O Oracle Cloud Infrastructure GoldenGate é um serviço totalmente gerenciado que permite a ingestão de dados de origens residentes no local ou em qualquer nuvem, aproveitando a tecnologia CDC GoldenGate para uma captura não intrusiva e eficiente de dados e entrega para o Oracle Autonomous Data Warehouse em tempo real e em escala a fim de disponibilizar as informações relevantes aos clientes o mais rápido possível.
- AWS RDS para MySQL
O RDS (Relational Database Service) para MySQL é uma oferta MySQL totalmente gerenciada do Amazon Web Services (AWS).
- Autonomous Transaction Processing
O Oracle Autonomous Transaction Processing é um serviço de banco de dados independente, com autoproteção e reparo otimizado para cargas de trabalho de processamento de transações. Você não precisa configurar nem gerenciar nenhum hardware, nem instalar nenhum software. O Oracle Cloud Infrastructure trata da criação do banco de dados, bem como do backup, da aplicação de patches, do upgrade e do ajuste do banco de dados.
Recomendações
Use as seguintes recomendações como ponto de partida. Seus requisitos podem ser diferentes da arquitetura descrita aqui.
- Escolha da localização da interconexão
Essa arquitetura requer uma ou mais localizações geográficas para seus componentes: a região OCI e o nó de borda FastConnect do OCI associado, e a região AWS e o nó de borda associado do AWS Direct Connect. Para obter a latência ideal de ponta a ponta, recomendamos que você selecione um local que tenha cada um desses elementos de arquitetura por perto.
- Provisionamento
Para um Oracle Database em um ponto final privado, configure a VCN para permitir tráfego somente da VCN especificada. Isso bloqueia o acesso ao banco de dados de todos os IPs públicos ou VCNs. Selecione blocos CIDR que não se sobrepõem a nenhuma outra rede (no Oracle Cloud Infrastructure, no seu data center local ou em outro provedor de nuvem) para a qual você pretende configurar conexões privadas.
- Design do aplicativo
Ao usar a replicação ativa/ativa, os fusos horários devem ser os mesmos nos dois sistemas de banco de dados para que a resolução e detecção de conflitos baseada em timestamp possam operar de forma eficaz.
- Exclusividade de dados
Ao usar a replicação ativa/ativa, defina um intervalo exclusivo em sequências para facilitar a identificação, a fim de evitar conflitos. Os procedimentos de resolução de conflitos devem ser implementados em todos os sistemas em uma configuração ativa-ativa. Os conflitos devem ser identificados imediatamente e tratados com o máximo de automação possível.
Considerações
Ao implementar uma implantação de pilha dividida, considere essas opções.
- Rede
Com uma solução multinuvem, a rede é um dos principais determinantes do desempenho geral do sistema. É responsabilidade do cliente garantir que a rede nuvem a nuvem (largura de banda e latência) seja totalmente testada para garantir que o desempenho do aplicativo atenda aos requisitos de negócios definidos.
- Custo
O dimensionamento automático de CPUs da Oracle permite que o banco de dados ajuste automaticamente seus recursos de computação (CPU e memória) com base nas demandas da carga de trabalho. Durante as cargas de trabalho de pico, o Oracle Autonomous Transaction Processing (ATP) pode alocar mais recursos para garantir o desempenho ideal e, durante períodos de menor demanda, pode ser reduzido para economizar custos. Essa elasticidade é particularmente útil para lidar com cargas de trabalho flutuantes de forma eficiente e econômica.
- Estratégia de Resolução de Conflitos
Defina uma estratégia clara de resolução de conflitos no seu aplicativo. Quando alterações conflitantes forem detectadas, seu aplicativo deverá ser programado para tratá-las com base em regras predefinidas. Essas regras podem priorizar alterações de uma origem sobre outra ou mesclar alterações conflitantes com base em critérios específicos.