Modernizza e consolida AWS RDS per MySQL e MongoDB Atlas su Oracle Autonomous Database
Scopri come un cliente ha sostituito una complessa architettura a più database su Amazon Web Service (AWS) che utilizzava MySQL e MongoDB Atlas con un'unica Autonomous Database convergente.
La migrazione del database è stata eseguita utilizzando Oracle Cloud Infrastructure GoldenGate. Oracle Cloud Infrastructure GoldenGate è un servizio cloud nativo completamente gestito che sposta i dati in tempo reale su larga scala. La migrazione ha inoltre conservato una grande percentuale di codice dell'applicazione utilizzando Oracle Database API per MongoDB.
L'architettura legacy implementata su AWS era un complesso flusso di lavoro di elaborazione dati che consisteva in un AWS RDS MySQL Database gestito e MongoDB Atlas per garantire coerenza e accuratezza dei dati, fornendo al contempo le informazioni in un formato JSON flessibile ai propri clienti.
Nel diagramma riportato di seguito viene illustrato il flusso di dati legacy.
aws-rds-oci-adw-flow1-oracle.zip
Sono stati accoppiati più sistemi frammentati, aumentando la complessità del caricamento, della trasformazione e della sincronizzazione dei dati. L'architettura legacy non era solo complessa, ma anche risorse sprecate ed era soggetta a errori. La complessità del sistema:
- Maggiore probabilità di errori di elaborazione dei dati, con conseguente riduzione della qualità dei dati e una precisione inferiore al 100%
- Aumento dei tempi di elaborazione, con conseguente time-to-production non ottimale
- Aumento del sovraccarico operativo, perdita di tempo e risorse per la risoluzione dei problemi e il debug
Architettura
Il database di produzione viene migrato da Amazon RDS per MySQL e MongoDB Atlas in AWS a Oracle Autonomous Database distribuito nell'area Oracle Cloud Infrastructure (OCI) US-East (Ashburn) utilizzando OCI GoldenGate fornito nella stessa area e nella rete cloud virtuale (VCN).
La replica unidirezionale tra i due cloud viene utilizzata solo per la migrazione.
Le applicazioni vengono distribuite in AWS US-East (Ashburn). Dopo la migrazione, viene eseguita anche la migrazione del livello applicazione in un'istanza di computazione OCI. La connettività dedicata è fornita da Oracle Cloud Infrastructure FastConnect e da un partner FastConnect OCI per connettere i database in esecuzione in AWS a OCI GoldenGate. Per un collegamento a un elenco di partner OCI FastConnect per area, fai riferimento alla sezione Esplora altri.
Di seguito sono riportati i passi di migrazione e consolidamento di alto livello.
- Preparare i database MySQL e MongoDB per la replica utilizzando OCI GoldenGate.
- Eseguire il provisioning di due distribuzioni OCI GoldenGate per l'esecuzione di Extract: distribuzione MySQL per il database MySQL e distribuzione Big Data per MongoDB.
- Creare connessioni da OCI GoldenGate a MySQL e MongoDB.
- Nella distribuzione Oracle di destinazione, creare una distribuzione GoldenGate OCI per replicare i dati in Oracle Autonomous Database.
- Crea una connessione da OCI GoldenGate a Oracle Autonomous Database.
- Assegnare le connessioni alle rispettive distribuzioni.
- Creare un'estrazione di caricamento iniziale per entrambe le distribuzioni MySQL e MongoDB.
- Creare processi del servizio di distribuzione per inviare i dati dalle distribuzioni di origine MySQL e MongoDB alla distribuzione Oracle di destinazione.
- Creare un processo di replica nella distribuzione Oracle di destinazione per replicare i dati di caricamento iniziale.
- Creare un'estrazione di acquisizione dei dati di modifica per le distribuzioni MySQL e MongoDB.
- Creare un processo di replica di acquisizione dei dati di modifica nella distribuzione Oracle di destinazione per replicare i dati.
- Replica l'applicazione da AWS EC2 alla VM OCI.
- Connetti l'applicazione in OCI a Oracle Autonomous Database.
- Disconnettere e disattivare le applicazioni e i database in AWS.
Grazie alle funzionalità di database convergente che supportano i requisiti relazionali e del punto vendita dei documenti all'interno di un unico database, Oracle Autonomous Database in esecuzione su OCI fornisce la piattaforma di base per raggiungere gli obiettivi del cliente. Oracle Autonomous Database consente loro di memorizzare i dati grezzi così come sono nel suo formato relazionale con integrità dei dati applicata. I dati per le applicazioni dell'utente finale vengono restituiti nel formato JSON richiesto in millisecondi. I dati sono prontamente disponibili tramite SQL e JSON e tramite Oracle Database API per MongoDB, senza ulteriori elaborazioni.
Il seguente diagramma descrive l'architettura.
aws-rds-oci-adw-arch-oracle.zip
In questa architettura, il provisioning di OCI GoldenGate e Oracle Autonomous Database viene eseguito in OCI e semplifica la replica unidirezionale da AWS RDS per MySQL.
Utilizzando OCI GoldenGate, puoi anche progettare, eseguire, orchestrare e monitorare i task di replica dei dati e analitica in streaming senza dover allocare o gestire alcun ambiente di computazione. OCI GoldenGate non è necessario eseguire l'applicazione e il database dopo il completamento della migrazione e può essere rimosso.
Il consolidamento dell'architettura di database precedente in un unico Oracle Autonomous Database in esecuzione su OCI elimina la necessità di gestire un'architettura complessa con più database monouso e processi ETL (Extract, Transform and Load; estrazione, trasformazione e caricamento) complessi e sincronizzati tra questi due database e riduce i tempi di elaborazione aumentando al contempo la qualità e l'accuratezza dei dati.
Nel seguente diagramma è illustrato il flusso di dati corrente:
aws-rds-oci-adw-flow2-oracle.zip
Il cliente ha ottenuto i seguenti vantaggi aziendali immediati:
- Time-to-production del progetto più veloce del 15% e migliore qualità per garantire una maggiore soddisfazione del cliente
- Maggiore performance delle applicazioni attraverso un'architettura più semplice e le funzionalità di Oracle Autonomous Database
- Risparmio sui costi operativi del 10% grazie a una minore infrastruttura e a una gestione ridotta di applicazioni e database
- Aumento della produttività degli sviluppatori per concentrarsi sull'innovazione anziché sulla risoluzione dei problemi
L'architettura presenta i seguenti componenti:
- Tenancy
Una tenancy è una partizione sicura e isolata che Oracle imposta all'interno di Oracle Cloud quando ti iscrivi a Oracle Cloud Infrastructure. Puoi creare, organizzare e amministrare le risorse in Oracle Cloud all'interno della tua tenancy. Una tenancy è sinonimo di azienda o organizzazione. Di solito, un'azienda avrà una singola tenancy e rifletterà la sua struttura organizzativa all'interno di quella tenancy. Una singola tenancy viene in genere associata a una singola sottoscrizione e una singola sottoscrizione in genere ha una sola tenancy.
- Area
Un'area geografica Oracle Cloud Infrastructure è un'area geografica localizzata che contiene uno o più data center, denominati domini di disponibilità. Le regioni sono indipendenti da altre regioni e grandi distanze possono separarle (tra paesi o addirittura continenti).
- Dominio di disponibilità
I domini di disponibilità sono data center standalone e indipendenti all'interno di un'area geografica. Le risorse fisiche in ciascun dominio di disponibilità sono isolate dalle risorse negli altri domini di disponibilità, il che fornisce tolleranza agli errori. I domini di disponibilità non condividono l'infrastruttura, ad esempio alimentazione o raffreddamento, o la rete interna del dominio di disponibilità. È pertanto improbabile che l'eventuale guasto di un dominio di disponibilità influenzi gli altri domini di disponibilità nell'area.
- Rete VCN (Virtual Cloud Network) e subnet
Una VCN è una rete personalizzabile e definita dal software configurata in un'area Oracle Cloud Infrastructure. Come le tradizionali reti di data center, le reti VCN offrono un controllo completo sull'ambiente di rete. Una VCN può avere più blocchi CIDR non sovrapposti che è possibile modificare dopo aver creato la VCN. Puoi segmentare una VCN in subnet, che possono essere definite in un'area o in un dominio di disponibilità. Ogni subnet è costituita da un intervallo contiguo di indirizzi che non si sovrappongono alle altre subnet nella VCN. È possibile modificare le dimensioni di una subnet dopo la creazione. Una subnet può essere pubblica o privata.
- Tabella Instradamento
Le tabelle di instradamento virtuali contengono regole per instradare il traffico dalle subnet alle destinazioni esterne a una VCN, in genere attraverso i gateway.
- Elenco di sicurezza
Per ogni subnet, puoi creare regole di sicurezza che specificano l'origine, la destinazione e il tipo di traffico che devono essere consentiti all'interno e all'esterno della subnet.
- FastConnect
Oracle Cloud Infrastructure FastConnect consente di creare facilmente una connessione dedicata e privata tra il data center e Oracle Cloud Infrastructure. FastConnect fornisce opzioni per una maggiore larghezza di banda e un'esperienza di rete più affidabile se confrontata con le connessioni basate su Internet.
- Gateway di instradamento dinamico (DRG)
Il gateway DRG è un router virtuale che fornisce un percorso per il traffico di rete privato tra VCN nella stessa area, tra una VCN e una rete esterna all'area, ad esempio una VCN in un'altra area Oracle Cloud Infrastructure, una rete on premise o una rete in un altro provider cloud.
- Gateway di servizi
Il gateway di servizi fornisce l'accesso da una VCN ad altri servizi, come Oracle Cloud Infrastructure Object Storage. Il traffico dalla VCN al servizio Oracle viaggia sul fabric di rete Oracle e non attraversa mai Internet.
- Servizio Bastion
Oracle Cloud Infrastructure Bastion offre un accesso sicuro limitato e limitato nel tempo alle risorse che non hanno endpoint pubblici e che richiedono severi controlli di accesso alle risorse, come bare metal e virtual machine, Oracle MySQL Database Service, Autonomous Transaction Processing (ATP), Oracle Container Engine for Kubernetes (OKE) e qualsiasi altra risorsa che consente l'accesso SSH (Secure Shell Protocol). Con il servizio Oracle Cloud Infrastructure Bastion, puoi abilitare l'accesso agli host privati senza distribuire e gestire un jump host. Inoltre, è possibile migliorare le impostazioni di sicurezza con autorizzazioni basate sull'identità e una sessione SSH centralizzata, controllata e con limiti di tempo. Oracle Cloud Infrastructure Bastion elimina la necessità di un IP pubblico per l'accesso bastion, eliminando la seccatura e la potenziale superficie di attacco quando si fornisce l'accesso remoto.
- Computazione
Il servizio Oracle Cloud Infrastructure Compute consente di eseguire il provisioning e gestire gli host di computazione nel cloud. Puoi avviare istanze di computazione con forme che soddisfano i requisiti delle risorse per CPU, memoria, larghezza di banda di rete e storage. Dopo aver creato un'istanza di computazione, è possibile accedervi in modo sicuro, riavviarla, collegare e scollegare volumi e arrestarla quando non è più necessaria.
- Storage degli oggetti
Lo storage degli oggetti offre un accesso rapido a grandi quantità di dati strutturati e non strutturati di qualsiasi tipo di contenuto, inclusi backup del database, dati analitici e contenuti avanzati come immagini e video. Puoi memorizzare e quindi recuperare i dati direttamente da Internet o dall'interno della piattaforma cloud. Puoi ridimensionare lo storage senza problemi senza compromettere le prestazioni o l'affidabilità del servizio. Utilizza lo storage standard per lo storage "caldo" a cui è necessario accedere rapidamente, immediatamente e frequentemente. Utilizza lo storage di archivio per lo storage "freddo" che conservi per lunghi periodi di tempo e a cui accedi raramente o raramente.
- Identity and Access Management (IAM)
Oracle Cloud Infrastructure Identity and Access Management (IAM) è il piano di controllo dell'accesso per Oracle Cloud Infrastructure (OCI) e Oracle Cloud Applications. L'API IAM e l'interfaccia utente consentono di gestire i domini di Identity e le risorse all'interno del dominio di Identity. Ogni dominio di Identity IAM OCI rappresenta una soluzione standalone per la gestione delle identità e degli accessi o una popolazione di utenti diversa.
- LogLogging è un servizio altamente scalabile e completamente gestito che fornisce l'accesso ai seguenti tipi di log dalle risorse nel cloud:
- Log di audit: log relativi agli eventi emessi dal servizio di audit.
- Log del servizio: log emessi da singoli servizi, ad esempio gateway API, eventi, funzioni, bilanciamento del carico, storage degli oggetti e log di flusso VCN.
- Log personalizzati: log che contengono informazioni di diagnostica da applicazioni personalizzate, altri provider cloud o da un ambiente in locale.
- Monitoraggio
Il servizio Oracle Cloud Infrastructure Monitoring monitora attivamente e passivamente le tue risorse cloud utilizzando le metriche per monitorare le risorse e gli allarmi per avvisarti quando queste metriche soddisfano i trigger specificati dall'allarme.
- Cloud Guard
Puoi utilizzare Oracle Cloud Guard per monitorare e gestire la sicurezza delle tue risorse in Oracle Cloud Infrastructure. Cloud Guard utilizza le ricette del rilevatore che è possibile definire per esaminare le risorse per individuare eventuali punti deboli della sicurezza e per monitorare operatori e utenti per individuare attività rischiose. Quando viene rilevata una configurazione errata o un'attività non sicura, Cloud Guard consiglia azioni correttive e aiuta a eseguire tali azioni, in base alle ricette dei rispondenti che è possibile definire.
- Data Integration
Oracle Cloud Infrastructure GoldenGate è un servizio completamente gestito che consente l'inclusione dei dati da fonti che risiedono on-premise o in qualsiasi cloud, sfruttando la tecnologia CDC GoldenGate per un'acquisizione dei dati e una distribuzione non invadenti ed efficienti a Oracle Autonomous Data Warehouse in tempo reale e su larga scala, al fine di rendere disponibili ai consumatori le informazioni pertinenti il più rapidamente possibile.
- RDS AWS per MySQL
RDS (Relational Database Service) per MySQL è un'offerta MySQL completamente gestita di Amazon Web Services (AWS).
- Autonomous Transaction Processing
Oracle Autonomous Transaction Processing è un servizio di database self-driving, self-securing, self-repairing ottimizzato per i carichi di lavoro di elaborazione delle transazioni. Non è necessario configurare o gestire alcun componente hardware né installare software. Oracle Cloud Infrastructure gestisce la creazione del database, nonché il backup, l'applicazione di patch, l'upgrade e il tuning del database.
Suggerimenti
Utilizzare i seguenti suggerimenti come punto di partenza. Le vostre esigenze potrebbero differire dall'architettura descritta qui.
- Scelta della posizione di interconnessione
Questa architettura richiede una o più posizioni geografiche per i suoi componenti: la region OCI e il nodo edge FastConnect OCI associato, la region AWS e il nodo edge AWS Direct Connect associato. Per ottenere la latenza end-to-end ottimale, si consiglia di selezionare un'ubicazione in cui ciascuno di questi elementi architettonici si trova nelle immediate vicinanze.
- Provisioning
Per una Oracle Database in un endpoint privato, configurare la VCN in modo che consenta il traffico solo dalla VCN specificata. Ciò blocca l'accesso al database da tutti gli IP pubblici o VCN. Selezionare i blocchi CIDR che non si sovrappongono ad altre reti (in Oracle Cloud Infrastructure, nel data center on premise o in un altro provider cloud) a cui si intende impostare connessioni private.
- Progettazione dell'applicazione
Quando si utilizza la replica attiva-attiva, i fusi orari devono essere uguali in entrambi i sistemi di database in modo che la risoluzione e il rilevamento dei conflitti basati su indicatore orario possano funzionare in modo efficace.
- Unità dei dati
Quando si utilizza la replica attiva-attiva, impostare un intervallo univoco nelle sequenze per una facile identificazione per evitare conflitti. Le procedure di risoluzione dei conflitti devono essere implementate su tutti i sistemi in una configurazione attiva-attiva. I conflitti devono essere identificati immediatamente e gestiti con la massima automazione possibile.
Considerazioni
Quando si implementa una distribuzione split-stack, prendere in considerazione queste opzioni.
- Rete
Con una soluzione multicloud, il networking è un determinante chiave delle prestazioni complessive del sistema. È responsabilità del cliente garantire che la rete cloud-to-cloud (larghezza di banda e latenza) sia completamente testata per garantire che le prestazioni dell'applicazione soddisfino i requisiti aziendali definiti.
- Costo
Il ridimensionamento automatico delle CPU Oracle consente al database di regolare automaticamente le risorse di calcolo (CPU e memoria) in base alle esigenze del carico di lavoro. Durante i carichi di lavoro di picco, Oracle Autonomous Transaction Processing (ATP) può allocare più risorse per garantire prestazioni ottimali e, durante i periodi di domanda inferiore, può ridimensionarsi per risparmiare sui costi. Questa elasticità è particolarmente utile per gestire i carichi di lavoro fluttuanti in modo efficiente ed economico.
- Strategia di risoluzione dei conflitti
Definire una chiara strategia di risoluzione dei conflitti nell'applicazione. Quando vengono rilevate modifiche in conflitto, l'applicazione deve essere programmata per gestirle in base a regole predefinite. Queste regole potrebbero dare priorità alle modifiche da un'origine rispetto a un'altra o unire le modifiche in conflitto in base a criteri specifici.