Questa pagina si applica ad Apigee e Apigee hybrid.
Visualizza la documentazione di Apigee Edge.
Apigee è una piattaforma per lo sviluppo e la gestione di API. Utilizzando un livello di proxy come frontend per i servizi, Apigee fornisce un'astrazione o una facade per le API dei servizio di backend e offre sicurezza, limitazione di frequenza, quote, analisi e altro ancora.
Video: guarda questo breve video per un'introduzione ad Apigee API Management.
Architettura di alto livello
L'immagine seguente mostra l'architettura di alto livello di Apigee:
Come mostrato nell'immagine, Apigee è costituito dai seguenti componenti principali:
- Servizi Apigee:le API che utilizzi per creare, gestire ed eseguire il deployment dei proxy API.
- Runtime Apigee:un insieme di servizi di runtime containerizzati in un cluster Kubernetes gestito da Google. Tutto il traffico API passa ed è elaborato da questi servizi.
Inoltre, Apigee utilizza altri componenti, tra cui:
- Servizi Google Cloud:fornisce funzioni di gestione delle identità, logging, analisi, metriche e gestione dei progetti.
- Servizi di backend: utilizzati dalle tue app per fornire accesso in fase di runtime ai dati per i tuoi proxy API.
Per spiegazioni più dettagliate, consulta Componenti di Apigee.
Ecco un'immagine più granulare che mostra la connessione tra il tuo progetto Cloud e i servizi Google tramite una rete di peering privato:
Per un esempio di come utilizzare Apigee, consulta questo webcast su come Walgreens utilizza le API e Apigee per fornire un ricco ecosistema di app per la stampa di foto, le prescrizioni e altri servizi.
Basta chiacchiere.
Configurare Apigee | e poi | Crea il tuo primo proxy. |
Versioni di Apigee
Apigee è disponibile nelle seguenti versioni:
- Apigee: una versione cloud ospitata da Apigee in cui Apigee gestisce l'ambiente, consentendoti di concentrarti sulla creazione dei tuoi servizi e sulla definizione delle API per questi servizi.
- Apigee hybrid: una versione ibrida composta da un piano di runtime installato on-premise o in un provider cloud di tua scelta e da un piano di gestione in esecuzione nel cloud di Apigee. In questo modello, il traffico e i dati delle API sono confinati all'interno dei confini approvati dall'azienda.
Accelerazione digitale
Questo video offre una rapida panoramica di come Apigee ti aiuta a trasformarti in un'attività digitale.
Scelta tra gestione dei servizi e gestione delle API
Questo video ti aiuta a comprendere le differenze importanti tra la gestione dei servizi e la gestione delle API.
Rendere disponibili i tuoi servizi sul web
Oggi le aziende vogliono rendere disponibili i propri servizi di backend sul web in modo che possano essere utilizzati dalle app in esecuzione su dispositivi mobili e computer. Un'azienda potrebbe volere mettere a disposizione servizi che forniscono informazioni sui prezzi e sulla disponibilità dei prodotti, servizi di vendita e ordinazione, servizi di monitoraggio degli ordini e qualsiasi altro servizio richiesto dalle app client.
Le aziende spesso espongono i servizi come un insieme di endpoint HTTP. Gli sviluppatori di app client inviano quindi richieste HTTP a questi endpoint. A seconda dell'endpoint, il servizio potrebbe restituire nuovamente i dati, formattati come XML o JSON, all'app client.
Le app client che utilizzano questi servizi possono essere implementate come app autonome per un dispositivo mobile o un tablet, come app HTML5 in esecuzione in un browser o come qualsiasi altro tipo di app che può effettuare una richiesta a un endpoint HTTP e utilizzare i dati di risposta. Queste app potrebbero essere sviluppate e rilasciate dalla stessa azienda che ha esposto i servizi o da sviluppatori di app di terze parti che utilizzano servizi disponibili pubblicamente.
L'immagine seguente mostra questo tipo di modello:
Poiché i fornitori rendono disponibili i propri servizi sul web, devono assicurarsi di aver preso tutte le misure necessarie per proteggere e proteggere i propri servizi da accessi non autorizzati. In qualità di fornitore di servizi, tieni presente quanto segue:
- Sicurezza: in che modo controllerai l'accesso ai tuoi servizi per impedire l'accesso non autorizzato?
- Compatibilità: i tuoi servizi funzioneranno su piattaforme e dispositivi diversi?
- Misurabilità: come puoi monitorare i tuoi servizi per assicurarti che siano disponibili?
- E molte altre considerazioni
Dopo aver rilasciato un'app client che accede a qualsiasi servizio, il fornitore di servizi è tenuto a garantire che questi servizi continuino a funzionare nel tempo man mano che li aggiunge, li modifica o li elimina. Il fornitore di servizi deve inoltre avere un modo per informare gli sviluppatori di app di eventuali modifiche ai servizi per garantire che le app client rimangano sincronizzate con questi servizi.
Gli sviluppatori di app client si trovano ad affrontare delle sfide quando cercano di utilizzare i servizi di diversi provider. Oggi sono disponibili molte tecnologie che un fornitore di servizi può utilizzare per esporre i propri servizi. La stessa app client potrebbe dover utilizzare un meccanismo per utilizzare un servizio di un fornitore e un altro meccanismo per utilizzare un servizio di un altro fornitore. Gli sviluppatori di app possono anche trovarsi nella situazione in cui devono utilizzare meccanismi diversi per utilizzare i servizi dello stesso fornitore.
Rendere disponibili i servizi tramite Apigee
Apigee ti consente di fornire un accesso sicuro ai tuoi servizi con un'API ben definita e coerente in tutti i tuoi servizi, indipendentemente dall'implementazione del servizio. Un'API coerente:
- Consente agli sviluppatori di app di utilizzare facilmente i tuoi servizi.
- Ti consente di modificare l'implementazione del servizio di backend senza influire sull'API pubblica.
- Ti consente di sfruttare le funzionalità di analisi, il portale per gli sviluppatori e altre funzionalità integrate in Apigee.
L'immagine seguente mostra un'architettura in cui Apigee gestisce le richieste delle app client ai tuoi servizi di backend:
Anziché utilizzare direttamente i tuoi servizi, gli sviluppatori di app accedono a un proxy API creato su Apigee. Il proxy API funziona come mappatura di un endpoint HTTP disponibile pubblicamente al tuo servizio di backend. Creando un proxy API, consenti ad Apigee di gestire le attività di sicurezza e autorizzazione necessarie per proteggere i tuoi servizi, nonché di analizzarli e monitorarli.
Poiché gli sviluppatori di app inviano richieste HTTP a un proxy API anziché direttamente ai tuoi servizi, non devono conoscere nulla dell'implementazione dei tuoi servizi. Lo sviluppatore deve solo sapere:
- L'URL dell'endpoint del proxy API.
- Eventuali parametri di ricerca, intestazioni o parametri del corpo passati in una richiesta.
- Eventuali credenziali di autenticazione e autorizzazione richieste.
- Il formato della risposta, incluso il formato dei dati della risposta, ad esempio XML o JSON.
Il proxy API isola lo sviluppatore di app dal tuo servizio di backend. Pertanto, puoi cambiare l'implementazione del servizio purché l'API pubblica rimanga coerente. Ad esempio, puoi cambiare un'implementazione di database, spostare i servizi su un nuovo host o apportare altre modifiche all'implementazione del servizio. Mantenendo un'API frontend coerente, le app client esistenti continueranno a funzionare indipendentemente dalle modifiche al backend.
Puoi utilizzare i criteri sul proxy API per aggiungere funzionalità a un servizio senza dover apportare modifiche al servizio di backend. Ad esempio, puoi aggiungere criteri al proxy per eseguire trasformazioni e filtri dei dati, aggiungere sicurezza, eseguire logica condizionale o codice personalizzato e svolgere molte altre azioni. L'importante da ricordare è che devi implementare i criteri su Apigee, non sul server di backend.
Per ulteriori informazioni, consulta Informazioni sulle API e sui proxy API.
Creare un prodotto API
Un proxy API è l'endpoint HTTP su Apigee utilizzato dagli sviluppatori per accedere ai tuoi servizi di backend. Sebbene sia possibile, in genere non rendi disponibili singoli proxy API. raggruppa invece uno o più proxy API in un prodotto API.
Un prodotto API è un insieme di proxy API combinati con un piano di servizio. Questo piano di servizio può impostare limiti di accesso ai proxy API, fornire sicurezza, consentire il monitoraggio e l'analisi e offrire funzionalità aggiuntive. I prodotti API sono anche il meccanismo centrale utilizzato da Apigee per l'autorizzazione e controllo dell'accesso alle tue API.
Hai a disposizione una grande flessibilità durante la creazione di prodotti API. Ad esempio, più prodotti API possono condividere lo stesso proxy API. La figura seguente mostra tre prodotti API. Tieni presente che tutti i prodotti consentono l'accesso al proxy API 3, ma solo il prodotto A consente l'accesso al proxy API 1.
Puoi impostare proprietà diverse su ogni prodotto API. Ad esempio, potresti mettere a disposizione un prodotto API con un limite di accesso ridotto, ad esempio 1000 richieste al giorno, a un prezzo scontato. Poi, rilasci un altro prodotto API che fornisce l'accesso allo stesso proxy API, ma con un limite di accesso molto più elevato, a un prezzo superiore. In alternativa, puoi creare un prodotto API gratuito che consenta accesso di sola lettura ai tuoi servizi e poi vendere un prodotto API agli stessi proxy API che consentono l'accesso in lettura/scrittura.
Per ulteriori informazioni, consulta Creare prodotti API.
Consentire a un'app lato client di accedere al tuo prodotto API
Quando gli sviluppatori di app decidono di accedere ai tuoi servizi, devono prima registrare la loro app client con il tuo prodotto API.
Al momento della registrazione, uno sviluppatore di app riceve una chiave API che deve includere in ogni richiesta a un proxy API incluso nel prodotto API. La chiave viene autenticata e, se l'autenticazione va a buon fine, la richiesta è autorizzata ad accedere al servizio di backend.
Puoi revocare la chiave in qualsiasi momento in modo che l'app client non abbia più accesso ai tuoi servizi. In alternativa, puoi definire un limite di tempo per una chiave in modo che lo sviluppatore debba aggiornarla dopo un'ora specifica.
Sei tu a decidere come gestire le richieste di registrazione degli sviluppatori per accedere ai tuoi prodotti API. Con Apigee Developer Services, puoi automatizzare la procedura di registrazione oppure utilizzare una procedura manuale per controllare l'accesso.
Crea prodotti API e mettili a disposizione degli sviluppatori
- Crea uno o più proxy API che mappano gli URL disponibili pubblicamente ai tuoi servizi di backend.
- Crea un prodotto API che raggruppa i tuoi proxy API.
- Esegui il deployment dei proxy API e del prodotto API.
- Fai sapere agli sviluppatori che il prodotto API è disponibile.
Una volta che gli sviluppatori di app vengono a conoscenza della disponibilità del tuo prodotto API, possono:
- Registra le app client con il tuo prodotto API.
- Ricevere una chiave API per il prodotto API.
- Invia richieste ai tuoi servizi tramite proxy API (che sono inclusi nel prodotto API) e passa la chiave API con ogni richiesta.
Componenti di Apigee
Apigee è costituito da runtime, monitoraggio e analisi delle API e servizi per sviluppatori che insieme forniscono un'infrastruttura completa per la creazione, la sicurezza, la gestione e le operazioni delle API.
L'immagine seguente mostra l'architettura di alto livello di Apigee:
Runtime Apigee
I servizi Apigee sono incentrati sulla creazione e sull'utilizzo di API, indipendentemente dal fatto che tu stia creando proxy API come fornitore di servizi o utilizzando API, SDK e altri servizi di praticità come sviluppatore di app.
Il runtime dell'API fornisce strumenti per aggiungere e configurare i proxy API, configurare i prodotti API e gestire gli sviluppatori di app e le app client. Ridistribuisce molti problemi di gestione comuni dai tuoi servizi di backend. Quando aggiungi un proxy API, puoi applicare criteri per aggiungere sicurezza, limitazione di frequenza, mediazione, memorizzazione nella cache e così via. Puoi anche personalizzare il comportamento del proxy API applicando script personalizzati, effettuando chiamate ad API e servizi di terze parti e così via. Per saperne di più, consulta Informazioni sulle API e sui proxy API.
Monitoraggio e analisi di Apigee
Apigee API Analytics fornisce potenti strumenti per visualizzare le tendenze di utilizzo breve e lungo termine delle tue API. Puoi segmentare il pubblico in base agli sviluppatori e alle app più importanti, comprendere l'utilizzo in base al metodo API per sapere dove investire e creare report personalizzati su informazioni a livello di attività o operativo.
Quando i dati passano attraverso Apigee, vengono raccolti diversi tipi di informazioni predefinite, tra cui URL, IP, ID utente per le informazioni sulle chiamate API, latenza, dati di errore e così via. Puoi creare criteri per aggiungere altre informazioni, ad esempio intestazioni, parametri di ricerca e parti di una richiesta o risposta estratte da XML o JSON. Queste informazioni vengono raccolte in modo asincrono dal flusso di richiesta/risposta effettivo e pertanto non influiscono sulle prestazioni dell'API.
L'interfaccia utente di Apigee ti consente di visualizzare più metriche e dimensioni in un browser, come mostrato nella seguente figura:
Tuttavia, puoi anche accedere e controllare il servizio Analytics tramite un'interfaccia a riga di comando o tramite API RESTful. Per saperne di più, consulta la panoramica dell'analisi delle API.
Ecosistema di sviluppatori Apigee
Apigee fornisce servizi per sviluppatori che ti consentono di:
- Gestisci la community di sviluppatori di app che utilizzano i tuoi servizi.
- Collabora con sviluppatori interni ed esterni e formalizza le relazioni con i modelli finanziari.
- Coinvolgi gli sviluppatori e crea un portale per sviluppatori. Gli sviluppatori di app si connettono al tuo portale per accedere alla documentazione dell'API e scoprire di più sui tuoi prodotti API disponibili pubblicamente, nonché per gestire le chiavi API.
Ogni cliente Apigee può creare il proprio portale per sviluppatori nel cloud.
Apigee ti consente di creare due tipi di portali:
- Portale integrato di cui è possibile eseguire il provisioning immediatamente.
- Portale basato su Drupal che consente una personalizzazione completa.