Connetti i microservizi multicloud utilizzando Oracle API Gateway

Il servizio Oracle API Gateway ti consente di pubblicare le API con endpoint privati accessibili dall'interno della tua rete e che puoi esporre con indirizzi IP pubblici se vuoi che accettino traffico Internet.

Quando crei le soluzioni aziendali, potresti scoprire che parti diverse della soluzione sono state distribuite in diversi cloud (o anche on premise), come risultato di esigenze specifiche o come risultato delle preferenze del team nei fornitori di soluzioni cloud. Ad esempio, i servizi che estendono Office 365 potrebbero essere stati distribuiti in Azure, ma i servizi di base come ERP potrebbero risiedere in OCI.

Se poi desideri esporre alcuni di questi servizi come API ai partner, non dovresti provare a gestire più gateway in cloud diversi. È probabile che la suddivisione delle API tra vari cloud confonda con il consumer delle API, per non parlare dei rischi che espongono l'utente a maggiori possibilità di dover cambiare. Inoltre, se esiste una sorta di restrizioni o controlli coinvolti nell'uso delle API, la gestione di tali controlli diventa estremamente difficile. In tali situazioni, il gateway API Oracle ti consente di collegare più servizi backend a un singolo endpoint API consolidato.

Il servizio Oracle API Gateway è integrato con Oracle Cloud Infrastructure Identity and Access Management (OCI IAM), che offre una facile autenticazione con la funzionalità di identità Oracle Cloud Infrastructure (OCI) nativa. Quando i servizi vengono eseguiti su cloud diversi (come OCI, Oracle SaaS, qualsiasi cloud di 3a parte: ad esempio Amazon Web Services (AWS), Microsoft Azure, Google Cloud Computing e così via, puoi utilizzare Oracle API Gateway per esporre tutti questi servizi ai client dei servizi.

L'uso di Oracle API Gateway offre i vantaggi riportati di seguito.
  • Supporta l'architettura multicloud: evita il lock-in del fornitore, soddisfa i requisiti di conformità, migliora la resilienza, la flessibilità e la gestione dei rischi. Consente agli utenti di eseguire backend dei servizi su qualsiasi cloud per soddisfare i requisiti di conformità (senza rimanere vincolati a un singolo fornitore di soluzioni cloud), ma espongono comunque un endpoint unificato ai client, indipendentemente dalla posizione in cui è in esecuzione il servizio backend.
  • Consente l'esecuzione di servizi diversi su vari cloud; fornisce un endpoint unificato, indipendentemente dalla posizione in cui viene implementato il backend.
  • Consente di presentare un endpoint unificato ai client API indipendentemente dalla posizione in cui viene implementato il backend. A volte la legislazione può stabilire dove può e non può essere distribuito il backend, ma Oracle API Gateway garantisce che i client non vengano interessati.

L'uso di Oracle API Gateway consente di risolvere le problematiche riportate di seguito.

Richiesta di verifica cliente Soluzione Oracle API Gateway
Implementazione di un'architettura multicloud e esecuzione di microservizi diversi su cloud diversi utilizzando un endpoint unificato
  • Consente un approccio basato su combinazione e corrispondenza: i microservizi diversi possono essere implementati su cloud diversi.
  • Offre un punto di ingresso monitorato e controllato. La presenza di un gateway comune consente di indirizzare il traffico di rete in modo più controllato, ad esempio il traffico verso altri cloud viene abilitato tramite il gateway e monitorato in modo efficace. Se il traffico inizia e termina ovunque i servizi vengano distribuiti, la rete deve consentire a tutti gli utenti di connettersi a tutto.
I microservizi possono subire modifiche interne e possono anche essere spostati da un cloud all'altro I microservizi già in esecuzione su altri cloud possono continuare a farlo (ad esempio, le applicazioni basate su Microsoft possono continuare a essere eseguite su Microsoft Azure)
Le applicazioni client, che sfruttano questi microservizi, richiedono un accesso ininterrotto uniforme a tutti questi microservizi in esecuzione su cloud diversi Tutti i microservizi in esecuzione su cloud diversi possono essere esposti insieme ai client mediante OracleAPI Gateway.

Architettura

Questa architettura di riferimento mostra come connettere i servizi in esecuzione su OCI e su altri cloud (o data center, quali OCI, Oracle SaaS, qualsiasi cloud di 3a parte o una rete on premise) utilizzando Oracle API Gateway ed esporre i servizi ai client dei servizi.

Il diagramma riportato di seguito illustra il flusso di dati per questa architettura di riferimento.



oci-multicloud-api-gateway-flow-oracle.zip

Possono esistere fornitori di servizi diversi. Ad esempio:
  • Servizi e servizi gestiti in container su virtual machine, nel cloud di 3a parte.
  • Applicazioni Oracle SaaS, come Oracle Fusion Cloud Applications o Oracle Fusion Cloud Enterprise Performance Management, che possono essere integrate utilizzando servizi come l'integrazione Oracle.
  • Servizi di Oracle Autonomous Database
  • Servizi cloud nativi come funzioni OCI e Container Engine for Kubernetes (OKE).
I servizi possono essere utilizzati da:
  • applicazioni on premise (connesse utilizzando la VPN OCI o FastConnect). Ad esempio, le applicazioni in esecuzione nel data center.
  • client basati su Internet. Ad esempio, pagine Web e applicazioni mobile che accedono ai servizi tramite Internet.

Una volta stabilita la connettività di rete appropriata, il gateway API OCI può connettersi a provider di servizi backend diversi, estrarre le complessità di questi servizi (come richiesto) ed esporre le API di servizio che possono essere facilmente utilizzate dai client del servizio.

Il diagramma riportato di seguito illustra questa architettura di riferimento.



oci-multicloud-api-gateway-arch-oracle.zip

L'architettura è dotata dei componenti elencati di seguito.

  • Regione

    Un'area Oracle Cloud Infrastructure è un'area geografica localizzata che contiene uno o più data center, definiti domini di disponibilità. Le regioni sono indipendenti da altre regioni e grandi distanze possono separarle (in tutti i paesi o anche in continenti).

  • Domini di disponibilità

    I domini di disponibilità sono data center standalone indipendenti all'interno di un'area geografica. Le risorse fisiche in ciascun dominio di disponibilità sono isolate dalle risorse presenti negli altri domini di disponibilità, che offrono tolleranza agli errori. I domini di disponibilità non condividono l'infrastruttura, ad esempio l'alimentazione o il raffreddamento, oppure la rete interna del dominio di disponibilità. Pertanto, è improbabile che l'eventuale guasto di un dominio di disponibilità influenzi gli altri domini di disponibilità dell'area.

  • Rete cloud virtuale (VCN) e subnet

    Una VCN è una rete personalizzabile e definita dal software configurata in un'area Oracle Cloud Infrastructure. Analogamente alle reti di data center tradizionali, i VCN offrono il controllo completo sull'ambiente di rete. Una VCN può avere più blocchi CIDR non sovrapposti che puoi modificare dopo aver creato la VCN. Puoi segmentare una VCN nelle subnet che possono essere definite nell'area o in un dominio di disponibilità. Ogni subnet è composta da un intervallo contiguo di indirizzi che non si sovrappongono alle altre subnet nella VCN. Puoi modificare le dimensioni di una subnet dopo la creazione. Una subnet può essere pubblica o privata.

  • Oracle Cloud Applications

    La nostra suite cloud completa di applicazioni SaaS offre processi coerenti e un'unica fonte affidabile per le più importanti funzioni aziendali: pianificazione delle risorse aziendali, gestione della catena di fornitura e gestione del capitale umano, pubblicità e customer experience. Le applicazioni ti aiutano a migliorare il coinvolgimento dei clienti, ad aumentare l'agilità della tua azienda e a reagire ai cambiamenti in tempi più rapidi rispetto al passato.

  • Integrazione

    Oracle Integration è un servizio completamente gestito che consente di integrare le applicazioni, automatizzare i processi, ottenere informazioni dettagliate sui processi aziendali e creare applicazioni visive.

  • Autonomous Database

    Oracle Cloud Infrastructure Autonomous Database è un ambiente di database preconfigurato e completamente gestito che puoi utilizzare per l'elaborazione delle transazioni e i carichi di lavoro di data warehousing. Non è necessario configurare o gestire hardware né installare software. Oracle Cloud Infrastructure gestisce la creazione del database, nonché il backup, l'applicazione di patch, l'aggiornamento e l'ottimizzazione del database.

  • Gateway API

    Oracle API Gateway ti consente di pubblicare le API con endpoint privati accessibili dall'interno della tua rete e che puoi esporre alla rete Internet pubblica, se necessario. Gli endpoint supportano la convalida delle API, la trasformazione delle richieste e delle risposte, CORS, l'autenticazione e l'autorizzazione e il limite delle richieste.

  • VPN da sito a sito

    VPN da sito a sito fornisce la connettività IPSec VPN tra la rete in locale e i VCN in Oracle Cloud Infrastructure. La suite di protocolli IPSec cifra il traffico IP prima che i pacchetti vengano trasferiti dall'origine alla destinazione e decifra il traffico all'arrivo.

  • Oracle Cloud Infrastructure FastConnect consente di creare facilmente una connessione dedicata e privata tra il data center e Oracle Cloud Infrastructure. FastConnect fornisce opzioni di larghezza di banda più elevata e un'esperienza di rete più affidabile rispetto alle connessioni basate su Internet.

  • Funzioni

    Oracle Functions è una piattaforma completamente gestita, multi-tenant, altamente scalabile, on-demand e Functions-as-a-Service (FaaS). Si basa sul motore open source di Fn Project. Le funzioni consentono di distribuire il codice e di chiamarlo direttamente o attivarlo in risposta agli eventi. Oracle Functions utilizza i container Docker ospitati in Oracle Cloud Infrastructure Registry.

Suggerimenti

Utilizzare i seguenti suggerimenti come punto di partenza. I requisiti potrebbero essere diversi dall'architettura descritta qui.
  • Rete cloud virtuale (VCN)

    Quando crei una rete VCN, determina il numero di blocchi CIDR necessari e la dimensione di ogni blocco in base al numero di risorse che intendi collegare alle subnet nella VCN. Usa blocchi CIDR che si trovano nello spazio di indirizzi IP privati standard.

    Quando crei una rete VCN, determina il numero di blocchi CIDR necessari e la dimensione di ogni blocco in base al numero di risorse che intendi collegare alle subnet nella VCN. Usa blocchi CIDR che si trovano nello spazio di indirizzi IP privati standard.

    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.

    Dopo aver creato una VCN, puoi modificarne, aggiungere e rimuovere i blocchi CIDR.

    Quando si progettano le subnet, tenere in considerazione il flusso di traffico e i requisiti di sicurezza. Collegare tutte le risorse all'interno di un livello o ruolo specifico alla stessa subnet, che può essere utilizzata come limite di sicurezza.

    Utilizzare le subnet regionali.

  • Sicurezza

    Utilizza Oracle Cloud Guard per monitorare e mantenere la sicurezza delle tue risorse in Oracle Cloud Infrastructure in modo proattivo. Cloud Guard utilizza le ricette del rilevatore che è possibile definire per esaminare le risorse ai fini delle carenze di sicurezza e per monitorare operatori e utenti per le attività a rischio. Quando viene rilevata un'attività di configurazione errata o non sicura, Cloud Guard consiglia azioni correttive e assiste l'esecuzione di 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 dei criteri di sicurezza definita da Oracle basata sulle migliori prassi. 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 rispetto ai criteri nella ricetta della zona di sicurezza e nega le operazioni che violano uno qualsiasi dei criteri.

Considerazioni

Durante la distribuzione di un Oracle API Gateway, prendi in considerazione le seguenti opzioni.

  • Prestazioni

    Il gateway API OCI supporta l'inserimento delle risposte nella cache mediante l'integrazione con un server cache esterno (ad esempio un server Redis o KeyDB), che consente di evitare un carico non necessario sui servizi backend. Quando le risposte vengono inserite nella cache, se vengono ricevute richieste simili, possono essere completate recuperando i dati da una cache delle risposte anziché inviando la richiesta al servizio backend. Ciò consente di ridurre il carico sui servizi backend e, di conseguenza, di migliorare le prestazioni e ridurre i costi.

    Il gateway API OCI inserisce nella cache anche i token di autenticazione (in base al momento in cui lasciano il TTL), riducendo il carico sul provider di identità e migliorando le prestazioni.

  • Sicurezza

    I servizi cloud OCI utilizzano criteri IAM come consentire al gateway API di richiamare le funzioni. Il gateway API può anche controllare l'accesso utilizzando l'autenticazione e l'autorizzazione OAuth. IAM consente l'autenticazione e l'autorizzazione che possono essere federate tramite IAM. Di conseguenza, il gateway API ha la possibilità di eseguire l'autenticazione su una vasta gamma di servizi e impostazioni di autenticazione.

  • Alta disponibilità

    Prendere in considerazione l'uso di un'opzione di alta disponibilità in base ai requisiti di distribuzione e all'area geografica. Le opzioni includono la distribuzione delle risorse tra più domini di disponibilità in un'area e la distribuzione delle risorse tra i domini di errore all'interno di un dominio di disponibilità. I domini di errore offrono la migliore resilienza per i carichi di lavoro distribuiti all'interno di un singolo dominio di disponibilità. Per l'alta disponibilità nel livello applicativo, distribuisci gli Application Server in domini di errore diversi e utilizza un load balancer per distribuire il traffico client tra gli Application Server.

Visualizza altro

Esaminare queste risorse aggiuntive per ulteriori informazioni sulle funzioni di questa architettura di riferimento.

Approvazioni

  • Author: Kaushik Kundu
  • Contributors: Wei Han, Phil Wilkins