Confronto tra Extensible Service Proxy e Cloud Endpoints Frameworks

Questa pagina illustra le differenze tra Endpoints Frameworks per l'ambiente standard App Engine e Extensible Service Proxy (ESP), utilizzato in Cloud Endpoints per le API che utilizzano OpenAPI o gRPC. Per ulteriori informazioni sulle opzioni di Endpoints, vedi Scegliere un'opzione di Endpoints.

Panoramica

Cloud Endpoints è un sistema di gestione delle API che ti aiuta a proteggere, monitorare, analizzare e impostare quote sulle 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 è fornita tramite ESP o utilizzando Endpoints Frameworks.

Extensible Service Proxy

In Endpoints per OpenAPI e gRPC, le richieste API vengono inoltrate tramite Extensible Service Proxy, che convalida chiavi e token di autenticazione e invia indicatori (metriche e log) utilizzando l'API Service Control. La separazione fornita da ESP significa che puoi scrivere il codice di backend REST o gRPC in qualsiasi linguaggio e puoi usare gRPC o qualsiasi framework che supporti la descrizione delle API utilizzando OpenAPI.

  • API che utilizzano OpenAPI: il backend delle API può essere eseguito nell'ambiente flessibile di App Engine, in Google Kubernetes Engine (GKE), Compute Engine, Kubernetes o in deployment on-premise.

  • API che utilizzano gRPC: il backend API può essere eseguito su GKE, Compute Engine, Kubernetes o deployment on-premise.

Architettura ESP

Viene inviata una richiesta nel seguente percorso:

  1. Una richiesta relativa al tuo codice viene ricevuta e inviata a ESP.
  2. L'ESP invia una richiesta di controllo a Service Control.
  3. Se hai configurato l'API in modo che richieda una chiave API o un'autenticazione, Service Control controlla se la richiesta è consentita e invia una risposta a ESP.
  4. Se la richiesta non è consentita, ESP la rifiuta. Se la richiesta è consentita, viene inoltrata al tuo codice di backend. In ogni caso, ESP registra le informazioni relative alla richiesta.

I prezzi della gestione delle API Endpoints dipendono dal numero di chiamate al mese.

Endpoints Framework

Per i backend API in esecuzione nell'ambiente standard di App Engine, sono disponibili endpoint Framework per aiutare gli sviluppatori a iniziare rapidamente a gestire 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 Endpoint Frameworks non deve essere eseguito dietro Extensible Service Proxy.

Endpoints Framework

Se hai abilitato la gestione delle API, viene inviata una richiesta nel seguente percorso:

  1. Una richiesta al tuo codice viene ricevuta e inviata al modulo di gestione di Endpoints all'interno di Endpoints Frameworks.
  2. Il modulo Gestione endpoint invia una richiesta di controllo a Service Control.
  3. Se hai configurato l'API in modo che richieda una chiave API o un'autenticazione, Service Control controlla se la richiesta è consentita e invia una risposta al modulo di gestione degli endpoint.
  4. Se la richiesta non è consentita, il modulo di gestione di Endpoints rifiuta la richiesta. Se la richiesta viene consentita, viene inoltrata agli endpoint Framework. In ogni caso, il modulo di gestione Endpoint registra le informazioni sulla richiesta.
  5. Endpoints Frameworks instrada la richiesta al tuo codice di backend.

Puoi utilizzare Endpoints Frameworks con o senza funzionalità di gestione delle API. L'utilizzo di Endpoints Frameworks senza funzionalità di gestione delle API è disponibile senza costi aggiuntivi. La funzionalità di gestione delle API viene addebitata in base alla pagina dei prezzi degli endpoint.

Endpoints Frameworks è supportato solo per i servizi in esecuzione nell'ambiente standard di App Engine. In Compute Engine, GKE, nell'ambiente flessibile di App Engine o in altri ambienti, i servizi devono essere eseguiti dietro ESP.

Se il servizio è in esecuzione dietro ESP, puoi scrivere il codice di backend in qualsiasi linguaggio e framework, come Python Flask, Java Jersey o Node.js Express. In questi ambienti, non è necessario utilizzare Endpoint Frameworks per la gestione delle API.

Passaggi successivi