Confronto tra Extensible Service Proxy e Cloud Endpoints Frameworks

Questa pagina spiega le differenze tra Endpoints Frameworks per l'ambiente standard App Engine e l'Extensible Service Proxy (ESP), che viene utilizzato in Cloud Endpoints per le API che utilizzano OpenAPI o gRPC. Per saperne di più sulle opzioni di Endpoints, consulta la sezione 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 che Google utilizza 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 API viene 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 le chiavi e i token di autenticazione e invia segnali (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 puoi utilizzare gRPC o qualsiasi framework che supporti la descrizione dell'API utilizzando OpenAPI.

  • API che utilizzano OpenAPI: il backend API può essere eseguito nell'ambiente flessibile App Engine, Google Kubernetes Engine (GKE), Compute Engine, Kubernetes o nei 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. Viene ricevuta una richiesta per il tuo codice e inviata al fornitore di servizi email.
  2. ESP invia una richiesta di controllo a Service Control.
  3. Se hai configurato l'API in modo che richieda una chiave API o l'autenticazione, Service Control verifica se la richiesta è consentita e invia una risposta a ESP.
  4. Se la richiesta non è consentita, il fornitore di servizi email la rifiuta. Se la richiesta è consentita, viene inoltrata al codice backend. In entrambi i casi, il log ESP registra le informazioni sulla richiesta.

Il prezzo della gestione delle API Endpoints dipende dal numero di chiamate al mese.

Endpoints Frameworks

Per i backend API in esecuzione nell'ambiente standard di App Engine, Endpoints Frameworks è disponibile per aiutare gli sviluppatori a iniziare rapidamente a pubblicare un'API. Endpoints Frameworks è un framework web e 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.

Endpoints Frameworks

Se hai abilitato API Management, viene inviata una richiesta nel seguente percorso:

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

Puoi utilizzare Endpoints Frameworks con o senza la funzionalità di gestione delle API. L'utilizzo di Endpoints Frameworks senza la funzionalità di gestione delle API è offerto senza costi. La funzionalità di gestione API viene addebitata 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 ESP.

Se il servizio viene eseguito 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 Endpoints Frameworks per la gestione delle API.

Passaggi successivi