Crea pipeline CI/CD di Azure DevOps con Oracle Exadata Database Service

Uno split stack si verifica quando un carico di lavoro viene distribuito su entrambi i cloud, l'applicazione in questo caso su Microsoft Azure, con il servizio Oracle Database distribuito su Oracle Cloud Infrastructure (OCI).

Uno stack-to-stack di applicazioni si verifica quando uno stack completo che comprende l'applicazione e il database in Azure interagisce e condivide i dati con un altro stack completo (app e Oracle Database) che risiede in OCI.

Per varie considerazioni aziendali e tecniche, puoi scegliere di allocare i tuoi carichi di lavoro cloud su Oracle Cloud e Microsoft Azure. Per garantire la sicurezza e ridurre al minimo la latenza, è necessario disporre di un'interconnessione sicura tra gli ambienti Oracle Cloud e Azure Cloud.

Oracle e Microsoft hanno creato una connessione privata tra cloud (Oracle Interconnect for Microsoft Azure) tra Oracle Cloud Infrastructure e Microsoft Azure in aree specifiche. Oracle Interconnect for Microsoft Azure ti consente di impostare carichi di lavoro cross-cloud senza che il traffico tra i cloud vada su Internet.

Di conseguenza, gli utenti possono creare e distribuire le pipeline CI/CD di Azure DevOps con Oracle Exadata Database Service on Dedicated Infrastructure su Oracle Cloud Infrastructure e configurare le risorse dell'infrastruttura di rete virtuale di supporto per abilitare questa distribuzione split-stack per una soluzione ad alte prestazioni e ad alta disponibilità.

Architettura

In questa architettura di riferimento, creerai e distribuisci pipeline CI/CD utilizzando Azure DevOps con Oracle Exadata Database Service on Dedicated Infrastructure.

Il codice sorgente dell'applicazione e del database è ospitato nel repository di codici DevOps di Azure o in Github o simili. Un utente esegue il commit delle modifiche nel repository di codici che attiva la pipeline CI. Questa fase include l'esecuzione di test di unità, test di integrazione, analisi del codice statico e anche test dei container all'interno del cluster AKS (Azure Kubernetes Service) per verificare la disponibilità della distribuzione.

Una volta completato il test, la pipeline di build crea immagini Docker e le spinge nel registro dei container di Azure. Questi artifact di build avviano quindi la pipeline CD. Nella fase CD, gli artifact vengono distribuiti in AKS in cui vengono eseguiti test end-to-end e di sistema per garantire il corretto funzionamento dei microservizi nell'ambiente Kubernetes e in Oracle Database. Gli ambienti di staging e produzione, utilizzando strategie come le distribuzioni blu/verde o canary, vengono quindi avviati per la distribuzione senza tempi di inattività delle nuove modifiche.

Un componente chiave di questa architettura è Oracle Database Operator, che gestisce il ciclo di vita di Oracle Database, automatizzando attività come provisioning, ridimensionamento, backup, aggiornamenti e manutenzione. Questa integrazione garantisce una gestione efficiente del database e una perfetta interazione tra i microservizi in AKS e Oracle Database. I microservizi si connettono in modo sicuro a Oracle Database tramite un'interconnessione che utilizza Azure ExpressRoute e Oracle FastConnect, mantenendo una connessione al database sicura e affidabile, con credenziali gestite tramite Azure Key Vault.

Metriche, log e trace dell'intero processo CI/CD vengono osservati continuamente utilizzando strumenti come Azure Monitor, OCI e il framework OpenTelemetry di Unified Observability di Oracle Database che fornisce tracce dal punto di ingresso dell'applicazione residente su Azure, in tutti i sottosistemi e in Oracle Database garantendo le prestazioni e l'affidabilità sia dei microservizi che del database. Questo approccio garantisce una soluzione solida, efficiente e scalabile per la distribuzione e la gestione di applicazioni moderne in un ambiente cloud nativo.

Il seguente diagramma illustra questa architettura di riferimento.



oracle-exadata-azure-arch-oracle.zip

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).

  • Compartimento

    I compartimenti sono partizioni logiche tra più aree all'interno di una tenancy Oracle Cloud Infrastructure. Usare i compartimenti per organizzare le risorse in Oracle Cloud, controllare l'accesso alle risorse e impostare le quote d'uso. Per controllare l'accesso alle risorse in un determinato compartimento, definire criteri che specificano chi può accedere alle risorse e quali azioni possono eseguire.

  • Domini 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 l'alimentazione o il 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.

  • Domini di errore

    Un dominio di errore consiste in un gruppo di hardware e infrastruttura all'interno di un dominio di disponibilità. Ogni dominio di disponibilità dispone di tre domini di errore con alimentazione e hardware indipendenti. Quando distribuisci le risorse su più domini di errore, le tue applicazioni possono tollerare errori fisici del server, manutenzione del sistema e errori di alimentazione all'interno di un dominio di errore.

  • Rete e subnet del cloud virtuale (VCN)

    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.

  • load balancer

    Il servizio Oracle Cloud Infrastructure Load Balancing fornisce la distribuzione automatica del traffico da un unico punto di accesso a più server nel back-end.

  • Lista 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.

  • 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 passa mai attraverso Internet.

  • FastConnect

    Oracle Cloud Infrastructure FastConnect consente di creare facilmente una connessione dedicata e privata tra il data center e Oracle Cloud Infrastructure. FastConnect offre opzioni di larghezza di banda maggiore e un'esperienza di rete più affidabile se confrontata con le connessioni basate su Internet.

  • Oracle Exadata Database Service on Dedicated Infrastructure

    Oracle Exadata Database Service on Dedicated Infrastructure viene eseguito su Oracle Exadata Cloud Infrastructure su OCI. Per coloro che desiderano essere eseguiti nel cloud pubblico, questa è la soluzione ideale per l'esecuzione di database as a service di livello Enterprise nel cloud. Ottieni tutta la potenza e le funzionalità di Oracle Database, oltre a quella della piattaforma Exadata. È dedicato a te, ma offre comunque tutti i vantaggi cloud di Oracle nella gestione dell'infrastruttura, nell'ampia automazione del cloud e nell'economia del cloud pay-for-use.

  • 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.

  • Audit

    Il servizio Oracle Cloud Infrastructure Audit registra automaticamente le chiamate a tutti gli endpoint API (Application Programming Interface) pubblici Oracle Cloud Infrastructure supportati come eventi di log. Al momento, tutti i servizi supportano la registrazione da parte di Oracle Cloud Infrastructure Audit.

Questa architettura supporta i seguenti componenti Microsoft Azure.

  • Microsoft Azure VNet e sottorete

    Microsoft Azure Virtual Network (VNet) è la base fondamentale per la tua rete privata in Azure. VNet consente a molti tipi di risorse di Azure, come le macchine virtuali (VM) di Azure, di comunicare in modo sicuro tra loro, Internet e reti on-premise.

    È possibile definire VNet in Azure. Può avere più subnet di blocchi CIDR non sovrapposte che è possibile aggiungere dopo aver creato VNet. È possibile segmentare un VNet in subnet, che possono essere incluse in un'area o in zone di disponibilità. Ogni subnet è costituita da un intervallo contiguo di indirizzi che non si sovrappongono alle altre subnet nel file VNet. Utilizzare VNet per isolare le risorse Azure in modo logico a livello di rete.

  • Gateway di rete virtuale

    Un gateway di rete virtuale consente il traffico tra un VNet di Azure e una rete esterna ad Azure, tramite la rete Internet pubblica o utilizzando ExpressRoute, a seconda del tipo di gateway specificato. Questo gateway di rete non è utilizzato per Oracle Database Service for Microsoft Azure Network Link. In alternativa, è possibile utilizzarlo per gestire le reti in locale in VNet, dove è stato eseguito il peering di OracleDB per Azure.

  • Tabella di instradamento Microsoft Azure (instradamento definito dall'utente - UDR)

    Le tabelle di instradamento dirigono il traffico tra le subnet di Azure, VNets e le reti esterne ad Azure.

    Le tabelle di instradamento virtuali contengono regole per instradare il traffico dalle subnet alle destinazioni esterne a VNet, in genere attraverso i gateway. Le tabelle di instradamento sono associate alle subnet in un VNet.

  • Dominio di disponibilità Microsoft Azure

    Il dominio di disponibilità di Azure, o set di disponibilità, è un raggruppamento logico di virtual machine.

Suggerimenti

Utilizzare i seguenti suggerimenti come punto di partenza. I tuoi requisiti potrebbero essere diversi dall'architettura descritta qui.
  • VCN

    Quando crei una VCN, determina il numero di blocchi CIDR necessari e la dimensione di ciascun blocco in base al numero di risorse che intendi collegare alle subnet nella VCN. Utilizzare i blocchi CIDR all'interno dello spazio di indirizzi IP privati standard.

    Selezionare i blocchi CIDR che non si sovrappongono a qualsiasi altra rete (in Oracle Cloud Infrastructure, nel data center on premise o in un altro provider cloud) a cui si intende impostare connessioni private.

    Dopo aver creato una VCN, puoi modificarne, aggiungerne e rimuoverne i blocchi CIDR.

    Quando si progettano le subnet, considerare il flusso di traffico e i requisiti di sicurezza. Collega tutte le risorse all'interno di un livello o ruolo specifico alla stessa subnet, che può fungere da limite di sicurezza.

  • Sicurezza

    Utilizza Oracle Cloud Guard per monitorare e mantenere la sicurezza delle tue risorse in Oracle Cloud Infrastructure in modo proattivo. Cloud Guard utilizza ricette del rilevatore che è possibile definire per esaminare le risorse alla ricerca di punti deboli nella sicurezza e per monitorare operatori e utenti per attività rischiose. Quando viene rilevata qualsiasi attività di configurazione errata o non sicura, Cloud Guard consiglia azioni correttive e aiuta a eseguire tali azioni, in base alle ricette del rispondente che è possibile definire.

    Per le risorse che richiedono una maggiore sicurezza, Oracle consiglia di utilizzare le zone di sicurezza. Una zona di sicurezza è un compartimento associato a una ricetta definita da Oracle dei criteri di sicurezza che si basano sulle best practice. Ad esempio, le risorse in una zona di sicurezza non devono essere accessibili dalla rete Internet pubblica e devono essere cifrate utilizzando chiavi gestite dal cliente. Quando crei e aggiorni le risorse in una zona di sicurezza, Oracle Cloud Infrastructure convalida le operazioni in base ai criteri nella ricetta della zona di sicurezza e nega le operazioni che violano uno qualsiasi dei criteri.

  • Cloud Guard

    Duplica e personalizza le ricette predefinite fornite da Oracle per creare ricette personalizzate del rilevatore e del rispondente. Queste ricette consentono di specificare il tipo di violazione della sicurezza che genera un'avvertenza e le azioni consentite per l'esecuzione. Ad esempio, potresti voler rilevare i bucket di storage degli oggetti con visibilità impostata su Pubblico.

    Applica Cloud Guard a livello di tenancy per coprire l'ambito più ampio e ridurre l'onere amministrativo legato alla gestione di più configurazioni.

    È inoltre possibile utilizzare la funzione Lista gestita per applicare determinate configurazioni ai rilevatori.

  • Zone di sicurezza

    Per le risorse che richiedono una maggiore sicurezza, Oracle consiglia di utilizzare le zone di sicurezza. Una zona di sicurezza è un compartimento associato a una ricetta definita da Oracle dei criteri di sicurezza che si basano sulle best practice. Ad esempio, le risorse in una zona di sicurezza non devono essere accessibili dalla rete Internet pubblica e devono essere cifrate utilizzando chiavi gestite dal cliente. Quando crei e aggiorni le risorse in una zona di sicurezza, Oracle Cloud Infrastructure convalida le operazioni in base ai criteri nella ricetta della zona di sicurezza e nega le operazioni che violano uno qualsiasi dei criteri.

  • Gruppi di sicurezza di rete (NSG)

    Puoi utilizzare i gruppi NSG per definire un set di regole in entrata e in uscita che si applicano a VNIC specifiche. Si consiglia di utilizzare i gruppi NSG anziché gli elenchi di sicurezza, poiché i gruppi NSG consentono di separare l'architettura della subnet della VCN dai requisiti di sicurezza dell'applicazione.

Considerazioni

Considerare i seguenti punti quando si pianifica di distribuire questa architettura di riferimento.

  • Implementazione
    Quando si pianifica di implementare questa soluzione, esaminare quanto riportato di seguito.
    • Prima del provisioning, assicurati di disporre di limiti adeguati di Oracle Exadata Database Service e del servizio OCI. Per ulteriori informazioni, vedere Limiti del servizio OCI e Richiesta di un aumento del limite del servizio.
    • Pianificazione della topologia di rete:
      • È necessaria almeno una rete virtuale Azure (VNet) che è possibile associare a una rete cloud virtuale OCI (VCN) corrispondente.
      • I blocchi CIDR per qualsiasi rete VCN VNets e OCI di Azure non devono sovrapporsi.
    • Prerequisiti di Oracle Interconnect for Microsoft Azure:
      • Un account Oracle Cloud. Se non disponi di un account, puoi iscriverti a un account Oracle Cloud Free Tier.
      • Un account Azure. Se non si dispone di un account, è possibile iscriversi a un account gratuito di Azure.
      • Autorizzazioni e quote di risorse necessarie per distribuire le risorse in base alla topologia descritta in questa architettura di riferimento.
      • Raccogli region OCI, area di Azure, aree di interconnessione e requisiti di throughput.
    • Rete

      L'applicazione in Azure e Oracle Database in OCI devono risiedere nella stessa area geografica. Ad esempio, l'applicazione in Azure Europa occidentale (con sede ad Amsterdam, Paesi Bassi) e Oracle Database in OCI nei Paesi Bassi nord-occidentali (Amsterdam). Una region è un'area geografica localizzata composta da uno o più domini di disponibilità. Le regioni sono indipendenti da altre regioni e grandi distanze possono separarle (tra paesi o continenti).

  • Disponibilità

    Oracle Exadata Database Service on Dedicated Infrastructure offre funzionalità integrate di best practice Oracle. Distribuisci il tuo database per ottenere le migliori prestazioni, disponibilità e sicurezza utilizzando l'automazione cloud e il tuo sistema sarà configurato in modo ottimale per fornire i massimi livelli di servizio. Distribuisce automaticamente Oracle RAC per fornire un database scalabile e ad alta disponibilità, ottimizzato per essere eseguito sulla piattaforma cloud Oracle Exadata Database Service. Oracle RAC protegge da errori non pianificati distribuendo il lavoro su più istanze di database. Inoltre, elimina i tempi di inattività per le attività di manutenzione eseguendo automaticamente la migrazione del lavoro fuori dai server che stanno per essere sottoposti a manutenzione ad altri che rimangono online.

    Oracle Data Guard fornisce protezione da errori irreversibili in tempo reale. In caso di perdita del database primario o del data center, puoi eseguire il failover del carico di lavoro su un sito in standby gestito automaticamente da Oracle Data Guard. Oracle Exadata Database Service on Dedicated Infrastructure semplifica l'abilitazione di Oracle Data Guard con una singola chiamata API o con pochi clic del mouse nell'interfaccia utente utilizzando l'automazione cloud. Allo stesso modo, l'automazione supporta casi d'uso critici come il passaggio del database primario al sito di Disaster Recovery, il ripristino e il ripristino dell'istanza del database primario dopo un failover.

    Oracle Exadata Database Service supporta tutte le tecnologie Oracle Maximum Availability (MAA), che costituiscono il modello ad alta disponibilità per i database Oracle nel cloud.

Conferme

Authors: Leo Alvarado, Suzanne Holliday, Paul Parkinson