Che cos'è Apigee hybrid?

Immagine stilizzata del deployment

Apigee ibridi è una piattaforma per sviluppare e gestire proxy API che presenta un modello di deployment ibrido. Il modello ibrido include un piano di gestione ospitato da Apigee nel cloud e un piano di runtime che puoi installare e gestire su una delle piattaforme Kubernetes supportate.

Gestisci tutte le tue API in un unico posto

Apigee ibrida ti aiuta a gestire API interne ed esterne con Google Cloud.

Con la gestione unificata delle API, puoi offrire a sviluppatori, partner e clienti un'esperienza coerente nel programma API.

Risolvi i problemi di sicurezza e conformità

Se le tue considerazioni sulla conformità e la sicurezza rendono il deployment on-premise indispensabile per le tue applicazioni, con un gateway ibrido di livello enterprise, puoi ospitare e gestire il piano di runtime ibrido Apigee on-premise.

Puoi gestire e controllare il runtime, sfruttando la tua infrastruttura esistente di conformità, governance e sicurezza.

Supporta la tua strategia multi-cloud

Trovare un equilibrio tra costi e prestazioni può portare a una strategia ibrida.

Che tu stia semplicemente esplorando diversi cloud provider o che abbia già scelto una strategia ibrida, la tua piattaforma di gestione delle API dovrebbe offrirti la flessibilità di cui hai bisogno. Host e gestisci gateway ibridi di livello enterprise nel tuo data center, in Google Cloud o in entrambi.

 

Per scoprire di più sulla tecnologia ibrida:

Continua a leggere

 

 

Per installare un modello ibrido:

Iniziamo!

 

Programmi API in un mondo ibrido

Apigee ibrido consiste in un piano di gestione gestito da Google e in un piano di runtime che puoi installare su una piattaforma Kubernetes supportata. Entrambi i piani utilizzano i servizi Google Cloud Platform, come mostra la seguente immagine:

Una visione generale della piattaforma ibrida, inclusi il piano di gestione, il piano di runtime e i servizi Google Cloud

Come vedi, gli annunci ibridi sono costituiti dai seguenti componenti principali:

  • Apigee-run piano di gestione: un insieme di servizi ospitati nel cloud e gestiti da Google. Questi servizi includono UI, API di gestione e analisi.
  • Piano di gestione gestito dal cliente: un insieme di servizi di runtime containerizzati che puoi configurare e gestire nel tuo cluster Kubernetes. Tutto il traffico API passa e viene elaborato all'interno del piano di runtime.

    Gestisci il runtime containerizzato sul tuo cluster Kubernetes per una maggiore agilità con implementazioni graduali, scalabilità automatica e altri vantaggi operativi dei container.

  • Google Cloud: una suite di servizi cloud ospitata da Google.

Una cosa importante da sapere sul modello ibrido è che tutto il traffico API viene elaborato entro i limiti della tua rete e sotto il tuo controllo, mentre i servizi di gestione come l'interfaccia utente e l'analisi delle API vengono eseguiti nel cloud e sono gestiti da Google. Per ulteriori informazioni, consulta la sezione Dove vengono archiviati i tuoi dati?

Il seguente video fornisce un approfondimento sull'architettura ibrida:

Informazioni sul piano di runtime

Il piano di runtime è un insieme di servizi di runtime containerizzati che puoi configurare e gestire nel tuo cluster Kubernetes in esecuzione su una piattaforma Kubernetes supportata. Tutto il traffico API passa e viene elaborato all'interno del piano di runtime. Il piano di runtime include i seguenti componenti principali:

Il piano di runtime viene eseguito in un cluster Kubernetes in esecuzione su una piattaforma Kubernetes supportata che gestisci.

L'immagine seguente mostra i servizi principali in esecuzione sul piano di runtime:

Servizi principali eseguiti sul piano di runtime ibrido

Per informazioni generali sui componenti di runtime, consulta le sezioni seguenti. Inoltre, consulta la panoramica della configurazione del servizio Runtime.

Le sezioni seguenti descrivono in dettaglio i singoli servizi del piano di runtime principale.

processore di messaggi

I processori di messaggi ibridi (MP) forniscono l'elaborazione delle richieste API e l'esecuzione dei criteri sul piano di runtime. Gli MP caricano tutti i proxy, le risorse, i server di destinazione, i certificati e gli archivi chiavi archiviati dallo spazio di archiviazione locale. Configura un controller Istio Ingress per esporre i MP alle richieste provenienti dall'esterno del cluster.

Sincronizzatore

Il programma di sincronizzazione recupera i dati di configurazione relativi a un ambiente API dal piano di gestione e li propaga al piano di runtime. Questi dati scaricati sono anche denominati contratto e vengono memorizzati nel file system locale.

Il programma di sincronizzazione interroga periodicamente il server di gestione per le modifiche e scarica una nuova configurazione ogni volta che vengono rilevate modifiche. I dati di configurazione vengono recuperati e archiviati localmente come file JSON nel file system locale, a cui possono accedere i responsabili del trattamento dei messaggi.

I dati di configurazione scaricati consentono al piano di runtime di funzionare in modo indipendente dal piano di gestione. Con questo contratto, i processori di messaggi sul piano di runtime utilizzano i dati archiviati localmente come configurazione. Se la connessione tra il piano di gestione e il piano di runtime non è disponibile, i servizi sul piano di runtime continuano a funzionare.

I dati di configurazione scaricati da Synchronizer includono:

Datastore di Cassandra

Apache Cassandra è il datastore di runtime che fornisce la persistenza dei dati per il piano di runtime.

Cassandra è un sistema di dati distribuito che fornisce persistenza dei dati sul piano di runtime. Esegui il deployment del database Cassandra come pool di nodi StatefulSet sul tuo cluster Kubernetes. La localizzazione di queste entità vicino ai servizi di elaborazione di runtime consente di supportare i requisiti di sicurezza e scalabilità elevata.

Il database di Cassandra archivia le informazioni sulle seguenti entità:

  • Sistema di gestione delle chiavi (KMS)
  • Mappa delle coppie chiave-valore (KVM)
  • OAuth
  • API Management for RunTime data (MART)
  • Dati sulla monetizzazione
  • Quote
  • Cache di risposta

API di gestione per i dati di runtime (MART)

I dati appartenenti alla tua organizzazione e a cui si accede durante le chiamate API in fase di esecuzione vengono archiviati da Cassandra nel piano di runtime.

Questi dati includono:

  • Configurazioni dell'applicazione
  • Dati del sistema di gestione delle chiavi (KMS)
  • Cache
  • Mappe chiave-valore (KVM)
  • Prodotti API
  • App per sviluppatori

Per accedere a tali dati e aggiornarli, ad esempio per aggiungere una nuova KVM o rimuovere un ambiente, puoi utilizzare l'interfaccia utente ibrida di Apigee o le API Apigee. Il server MART (API di gestione per i dati di runtime) elabora le chiamate API in base al datastore di runtime.

Questa sezione descrive il ruolo svolto da MART quando chiami le API Apigee per accedere al datastore di runtime.

 
Che cos'è il MART

Per chiamare un'API Apigee, invia una richiesta autenticata al Management Server (MS) sul piano di gestione. Il file MS autentica e autorizza la richiesta, quindi inoltra la richiesta a MART sul piano di runtime. A questa richiesta è associato un token che l'MS ha generato utilizzando un account di servizio preconfigurato.

MART riceve la richiesta, autentica e autorizza, quindi esegue la convalida aziendale sulla stessa. Ad esempio, se l'app fa parte di un prodotto API, MART garantisce che si tratti di una richiesta valida. Una volta stabilita la richiesta, MART la elabora.

Cassandra archivia i dati di runtime elaborati da MART (ovvero, dopo tutto, un datastore di runtime). MART potrebbe leggere i dati da Cassandra o aggiornarli, a seconda del tipo di richiesta.

Come la maggior parte dei servizi ibridi, MART è stateless: non conserva il proprio stato in fase di runtime.

Cos'è MART

Il piano di gestione comunica con MART tramite l'agente Apigee Connect, che utilizza un account di servizio con il ruolo di agente Apigee Connect (l'account di servizio MART nella maggior parte delle installazioni). Non chiami direttamente MART.

Inoltre, MART non riceve richieste proxy API; tali chiamate vengono gestite dal controller in entrata del runtime e vengono instradate ai processori di messaggi del tuo cluster.

 

Vale la pena sottolineare che sia MART che i elaboratori di messaggi hanno accesso allo stesso datastore di runtime (Cassandra), che determina la modalità di condivisione di dati come KMS, KVM e cache.

L'immagine seguente mostra il flusso di una chiamata API Apigee:

Flusso di chiamata API in modalità ibrida

UDCA

L'UDCA (Universal Data Collection Agent) è un servizio in esecuzione all'interno del pod di raccolta dati nel piano di runtime, che estrae i dati di stato dell'analisi, del debug e del deployment e li invia all'UAP.

Per ulteriori informazioni, consulta Debug, analisi e raccolta dei dati dello stato del deployment.

Informazioni sul piano di gestione

Il piano di gestione viene eseguito su Google Cloud. che include servizi amministrativi come:

  • Interfaccia utente ibrida di Apigee: fornisce un'interfaccia utente per gli sviluppatori che consente di creare ed eseguire il deployment di proxy API, configurare criteri, creare prodotti API e creare app sviluppatore. Gli amministratori possono utilizzare l'interfaccia utente ibrida di Apigee per monitorare lo stato del deployment.
  • API Apigee: fornisci un'interfaccia di pubblicità programmatica per la gestione della tua organizzazione e dei tuoi ambienti.
  • Unified Analytics Platform (UAP): riceve ed elabora i dati relativi ad analisi e stato del deployment dal piano di runtime.

L'immagine seguente mostra i servizi principali che vengono eseguiti sul piano di gestione:

Servizi che vengono eseguiti sul piano di gestione ibrido Apigee

Informazioni sui servizi Google Cloud

La tabella seguente descrive i servizi Google Cloud principali utilizzati dalla tecnologia ibrida:

Servizio Google Cloud Descrizione
Identità L'autenticazione degli account utente utilizza gli account Google Cloud. L'autorizzazione utilizza gli account di servizio Google Cloud.
Ruoli La gestione degli accessi per l'ibrido utilizza il motore dei ruoli di Google, IAM e supporta i ruoli Apigee predefiniti.
Gerarchia delle risorse Le risorse sono organizzate in progetti Google Cloud (collegati alle organizzazioni Apigee).
Operazioni Fornisce l'analisi dei dati di logging e metriche.
 

Tipi di utenti

Apigee ha identificato i seguenti tipi principali di utenti ibridi:

Ruolo Responsabilità/attività tipiche Aree di interesse
Amministratori di sistema/operatori
  • Installa e configura i servizi sul piano di runtime ibrido
  • Configurare Google Cloud, Apigee e account di servizio
  • Creare servizi e progetti Google Cloud
  • Gestire il cluster Kubernetes
  • Mantieni tutte le risposte precedenti
  • Risolvere i problemi relativi ai proxy API
Sviluppatori
  • Creare proxy API utilizzando l'interfaccia utente ibrida di Apigee o le API Apigee
  • Esegui il deployment dei proxy API nel piano di runtime
  • Risolvere i problemi relativi ai proxy API
  • Testare i proxy API
 

Vantaggi

Apigee ibrido offre i seguenti vantaggi:

Maggiore agilità
Dal momento che viene eseguito il deployment di un modello ibrido ed è eseguito in container, è possibile ottenere implementazioni graduali, scalabilità automatica e altri vantaggi operativi di un sistema containerizzato.
Latenza ridotta
Tutte le comunicazioni con il piano di gestione ibrido sono asincrone e non avvengono nell'ambito dell'elaborazione delle richieste API client.
Maggiore adozione delle API
Sebbene sia possibile elaborare le API interne con Apigee, la riduzione della latenza e dell'efficienza che puoi ottenere con l'elaborazione ibrida rendono l'elaborazione delle API interne con un'opzione interessante. Parte di questa efficienza si ottiene perché il gateway API viene eseguito on-premise, in prossimità dei tuoi servizi di backend. Inoltre, se utilizzi Apigee, puoi aumentare l'adozione di Apigee elaborando le API interne tramite un modello ibrido.
Maggiore controllo
Molte aziende stanno adottando una strategia ibrida. La capacità di gestire i runtime delle API di cui è stato eseguito il deployment nei data center privati è un requisito chiave per le grandi aziende. Attualmente, puoi eseguire il deployment in Google Cloud o nel tuo data center del piano di runtime ibrido.

Passaggio successivo

Consulta The Big Picture: una panoramica del processo di installazione ibrida.