Apigee hybrid ti consente di gestire le API on-premise, su Google Cloud o in un insieme di entrambi:
Gestire tutte le API da un'unica posizione |
Apigee hybrid ti aiuta a gestire le API interne ed esterne con Google Cloud. Grazie alla gestione unificata delle API, puoi fornire agli sviluppatori, ai partner e ai clienti un'esperienza coerente del programma relativo alle API. |
Risolvi i problemi di sicurezza e conformità |
Se le considerazioni sulla conformità e sulla sicurezza rendono il deployment on-premise un must le tue applicazioni, con un gateway ibrido di livello enterprise, puoi ospitare e gestire Piano di runtime ibrido Apigee on-premise. Puoi gestire e controllare il runtime, sfruttando l'infrastruttura di conformità, governance e sicurezza esistente. |
Supporta la tua strategia multi-cloud |
La necessità di trovare un equilibrio tra costi e prestazioni può spingerti verso una strategia ibrida. Sia che tu stia solo esplorando diversi cloud provider o che tu abbia già scelto un strategia ibrida, la tua piattaforma di gestione delle API dovrebbe darti la flessibilità di cui hai bisogno. Ospita e gestisci gateway ibridi di livello enterprise nel tuo data center, Google Cloud o entrambi. |
Se vuoi per saperne di più sugli ambienti ibridi:
|
Se vuoi installare la versione ibrida:
|
Programmi API in un mondo ibrido
Apigee Hybrid è costituito da un piano di gestione gestito da Google e da un piano di runtime che puoi installare in Kubernetes on-premise o su Google Cloud. Entrambi i piani utilizzano i servizi Google Cloud Platform, come mostrato nella seguente immagine:
Come puoi vedere, l'ibrido è costituito dai seguenti componenti principali:
- Piano di gestione Apigee-run: un insieme di servizi ospitati nel cloud e gestiti da Google. Questi servizi includono l'interfaccia utente, l'API di gestione e l'analisi.
Piano di runtime gestito dal cliente: un di servizi di runtime containerizzati che configuri e gestisci nel tuo ambiente Kubernetes in un cluster Kubernetes. Tutto il traffico API passa ed è 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 in hosting realizzati da Google.
Una cosa fondamentale da sapere sugli ambienti ibridi è che tutto il traffico delle API viene elaborato entro i limiti del della rete e sotto il tuo controllo, mentre i servizi di gestione come l'interfaccia utente e l'analisi delle API eseguono nel cloud e sono gestiti da Google. Per ulteriori informazioni, vedi 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 configuri e gestisci nel tuo proprio cluster Kubernetes. Tutto il traffico API passa ed è 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 di tua proprietà e che gestisci.
L'immagine seguente mostra i servizi principali che vengono eseguiti nel piano di runtime:
Per informazioni generali sui componenti di runtime, consulta le sezioni seguenti. Inoltre, consulta Panoramica della configurazione del servizio di runtime.
Le sezioni seguenti descrivono in modo più dettagliato ciascuno di questi 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 nel piano di runtime. I file MP caricano tutti i proxy, le risorse, i server di destinazione, i certificati gli archivi chiavi dallo spazio di archiviazione locale. Configura un controller Istio Ingress per esporre gli MP alle richieste provenienti dall'esterno del cluster.
Sincronizzatore
Il sincronizzatore recupera i dati di configurazione relativi a un ambiente API dal piano di gestione e lo propaga al piano di runtime. Questi dati scaricati sono chiamati anche contratto e vengono archiviati nel file system locale.
Il sincronizzatore esegue periodicamente un polling del server di gestione per rilevare le modifiche e scarica una nuova configurazione ogni volta che vengono rilevate. I dati di configurazione vengono recuperati e archiviati localmente un file JSON sul file system locale, da cui i processori di messaggi possono accedervi.
I dati di configurazione scaricati consentono al piano di runtime in modo indipendente dal piano di gestione. Con il contratto, I processori di messaggi sul piano di runtime utilizzano e archiviare i dati come configurazione. Se la connessione tra di gestione e runtime smette di funzionare, i servizi continuano a funzionare.
I dati di configurazione scaricati dal sincronizzatore includono:
- Pacchetti di proxy e deployment di flussi condivisi
- Hook di flusso
- Informazioni sull'ambiente
- Risorse API condivise
- Definizioni del server di destinazione
- Impostazioni TLS
- Nomi delle mappe KVM (Key Value Map)
- Mascherine dei dati
Datastore Cassandra
Apache Cassandra è il data store di runtime che fornisce la persistenza dei dati per il piano di runtime.
Cassandra è un sistema di dati distribuito che fornisce la persistenza dei dati nel piano di runtime. Esegui il deployment del database Cassandra come pool di nodi StatefulSet sul tuo cluster Kubernetes. La posizione di queste entità vicino ai servizi di elaborazione del runtime consente di supportare i requisiti per garantire sicurezza e un'elevata scalabilità.
Il database Cassandra memorizza informazioni sulle seguenti entità:
- Sistema di gestione delle chiavi (KMS)
- Mappa valori chiave (KVM)
- Cache delle risposte
- OAuth
- Quote
API di gestione per i dati di runtime (MART)
I dati appartenenti alla tua organizzazione a cui viene eseguito l'accesso durante le chiamate dell'API di runtime vengono memorizzati da Cassandra nel piano di runtime.
Questi dati includono:
- Configurazioni delle applicazioni
- Dati del sistema di gestione delle chiavi (KMS)
- Cache
- Mappe chiave-valore (KVM)
- Prodotti basati su API
- App per sviluppatori
Per accedere a questi dati e aggiornarli, ad esempio per aggiungere una un nuovo KVM o per rimuovere un ambiente, puoi utilizzare la UI ibrida Apigee o le API Apigee. Il server MART (API di gestione per i dati di runtime) elabora le chiamate API 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'è MART | Per chiamare un'API Apigee, invii una richiesta autenticata al server di gestione (MS) nel piano di gestione. Il servizio MS autentica e autorizza la richiesta, quindi la inoltra al MART nel piano di runtime. Alla richiesta è associato un token generato da MS utilizzando un account di servizio preconfigurato. MART riceve la richiesta, la autentica e la autorizza, quindi esegue l'attività una convalida. Ad esempio, se l'app fa parte di un prodotto API, MART garantisce che si tratti di una richiesta valida. Dopo aver stabilito che una richiesta è valida, MART la elabora. Cassandra archivia i dati di runtime elaborati da MART (dopo tutto, 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 è senza stato: non mantiene il proprio stato in fase di runtime. |
Che cosa non è MART | Anche se MART espone una porta al cloud pubblico, non chiami direttamente MART. La porta deve essere esposta in modo che MART possa ricevere chiamate dal servizio tramite un account di servizio. Inoltre, MART non riceve chiamate di runtime dai tuoi clienti ai loro proxy API. Queste chiamate vengono gestite dal controller di ingresso e instradate ai processori di messaggi del tuo cluster. |
Vale la pena sottolineare che sia MART che i Message Processor hanno accesso allo stesso datastore di runtime (Cassandra), che è il modo in cui vengono condivisi dati come KMS, KVM e cache.
L'immagine seguente mostra il flusso di una chiamata API Apigee:
UDCA
L'agente di raccolta dati universale (UDCA) è un servizio eseguito all'interno del pod di raccolta dati nel piano di runtime che estrae i dati di analisi, debug e stato del deployment e li invia al UAP.
Per ulteriori informazioni, consulta la sezione relativa alla raccolta dei dati di debug, analisi e stato di implementazione.
Informazioni sul piano di gestione
Il piano di gestione viene eseguito su Google Cloud. Sono inclusi servizi amministrativi come:
- UI ibrida Apigee: fornisce una UI per gli sviluppatori per creare e distribuire l'API proxy, configurare criteri, creare prodotti API e creare app per sviluppatori. Amministratori puoi usare la UI ibrida di Apigee per monitorare lo stato del deployment.
- API Apigee: forniscono un'interfaccia programmatica per la gestione della tua organizzazione e dei tuoi ambienti.
- Unified Analytics Platform (UAP): riceve ed elabora analisi e i dati sullo stato del deployment dal piano di runtime.
L'immagine seguente mostra i servizi principali in esecuzione sul piano di gestione:
Informazioni sui servizi Google Cloud
La tabella seguente descrive i principali servizi Google Cloud sfruttati dall'approccio ibrido:
Servizio Google Cloud | Descrizione |
---|---|
Identità | L'autenticazione dell'account utente utilizza gli account Google Cloud. L'autorizzazione utilizza gli account di servizio Google Cloud. |
Ruoli | La gestione dell'accesso per l'ambiente 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). |
Stackdriver | Fornisce analisi dei dati di logging e delle 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 |
|
|
Sviluppatori |
|
|
Vantaggi
Apigee hybrid offre i seguenti vantaggi:
- Maggiore agilità
- Poiché la versione ibrida viene fornita ed eseguita in container, puoi realizzare implementazioni graduali, scalabilità automatica e altri vantaggi operativi di un sistema containerizzato.
- Latenza ridotta
- Tutte le comunicazioni con il piano di gestione ibrida sono asincrone e non avvengono nell'ambito dell'elaborazione delle richieste dell'API client.
- Maggiore adozione delle API
- Sebbene sia possibile elaborare le API interne utilizzando Apigee, la latenza e l'efficienza ridotte che puoi ottenere con la versione ibrida rendono l'elaborazione delle API interne con la versione ibrida un'opzione interessante. Parte di questa efficienza è ottenuta perché il gateway API viene eseguito on-premise, vicino ai tuoi servizi di backend. Inoltre, se utilizzi Apigee, puoi aumentare l'adozione di Apigee elaborando le API interne tramite la versione ibrida.
- Maggiore controllo
- Molte aziende stanno adottando una strategia ibrida. La possibilità di gestire i runtime API di cui è stato eseguito il deployment in data center privati è un requisito fondamentale per le grandi aziende. Attualmente, il piano di runtime ibrido può essere implementato su Google Cloud o nel tuo data center.
Passaggio successivo
Guarda il quadro generale: una panoramica dell'installazione ibrida. e il processo di sviluppo.