Questa pagina spiega le differenze tra i framework Endpoints per l'ambiente standard App Engine e l'Extensible Service Proxy (ESP), utilizzato in Cloud Endpoints per le API che utilizzano OpenAPI o gRPC. Per ulteriori informazioni sulle opzioni di Endpoints, consulta Scegliere un'opzione di Endpoints.
Panoramica
Cloud Endpoints è un sistema di gestione delle API che ti aiuta a proteggere, monitorare, analizzare e impostare quote per le tue API utilizzando la stessa infrastruttura utilizzata da Google per le proprie API. Le funzionalità di gestione delle API includono autenticazione, chiavi API, monitoraggio, logging e tracciamento indipendentemente dalla tecnologia utilizzata per implementare l'API. La funzionalità di gestione delle API viene fornita tramite ESP o utilizzando i framework Endpoints.
Extensible Service Proxy
In Endpoints per OpenAPI e gRPC, le richieste API vengono ritrasmesse tramite Extensible Service Proxy, che convalida le chiavi e i token di autenticazione e invia indicatori (metriche e log) utilizzando l'API Service Control. La separazione fornita da ESP ti consente di scrivere il codice di backend REST o gRPC in qualsiasi linguaggio e di utilizzare gRPC o qualsiasi framework che supporti la descrizione dell'API utilizzando OpenAPI.
API che utilizzano OpenAPI: il backend dell'API può essere eseguito nell'ambiente flessibile di App Engine, in Google Kubernetes Engine (GKE), in Compute Engine, in Kubernetes o nei deployment on-premise.
API che utilizzano gRPC: il backend dell'API può essere eseguito su GKE, Compute Engine, Kubernetes o deployment on-premise.
Viene inviata una richiesta nel seguente percorso:
- Una richiesta al tuo codice viene ricevuta e inviata all'ESP.
- L'ESP invia una richiesta di controllo a Service Control.
- Se hai configurato l'API in modo che richieda una chiave API o l'autenticazione, Service Control controlla se la richiesta è consentita e invia una risposta all'ESP.
- Se la richiesta non è consentita, l'ESP la rifiuta. Se la richiesta è consentita, viene inoltrata al codice di backend. In ogni caso, l'ESP registra le informazioni sulla richiesta.
I prezzi della gestione dell'API Endpoints dipendono dal numero di chiamate al mese.
Endpoints Frameworks
Per i backend delle API in esecuzione nell'ambiente standard di App Engine, sono disponibili i framework Endpoints per aiutare gli sviluppatori a iniziare rapidamente a pubblicare un'API. Endpoints Frameworks è un framework web ed è un'alternativa a Python Flask o Java Jersey. Endpoints Frameworks si integra con l'API Service Control, il che significa che un backend che utilizza Endpoints Frameworks non deve essere eseguito dietro Extensible Service Proxy.
Se hai attivato la gestione API, viene inviata una richiesta nel seguente percorso:
- Una richiesta al tuo codice viene ricevuta e inviata al modulo di gestione degli endpoint all'interno di Endpoints Frameworks.
- Il modulo di gestione degli endpoint invia una richiesta di controllo a Service Control.
- Se hai configurato l'API in modo che richieda una chiave API o l'autenticazione, Service Control controlla se la richiesta è consentita e invia una risposta al modulo di gestione degli endpoint.
- Se la richiesta non è consentita, il modulo di gestione degli endpoint la rifiuta. Se la richiesta è consentita, viene inoltrata ai Frameworks di endpoint. In ogni caso, il modulo Gestione endpoint registra le informazioni sulla richiesta.
- Endpoints Frameworks instrada la richiesta al codice di backend.
Puoi utilizzare i framework Endpoints con o senza la funzionalità di gestione delle API. L'utilizzo di Frameworks Endpoints senza funzionalità di gestione dell'API è offerto senza costi. Le funzionalità di gestione API vengono addebitate in base alla pagina dei prezzi di Endpoints.
Endpoints Frameworks è supportato solo per i servizi in esecuzione nell'ambiente standard App Engine. In Compute Engine, GKE, nell'ambiente flessibile App Engine o in altri ambienti, i servizi devono essere eseguiti dietro l'ESP.
Se il servizio è in esecuzione dietro ESP, puoi scrivere il codice di backend in qualsiasi linguaggio e framework, ad esempio Python Flask, Java Jersey o Node.js Express. In questi ambienti, non è necessario utilizzare i framework Endpoints per la gestione delle API.
Passaggi successivi
Per informazioni sull'aggiunta della gestione delle API:
Per informazioni sulla rimozione della gestione delle API: