Scelta di un'opzione di Endpoints

Per fare in modo che la tua API venga gestita da Cloud Endpoints, hai tre opzioni a seconda di dove è ospitata l'API e del tipo di protocollo di comunicazione utilizzato dall'API:

Questa pagina descrive le opzioni di Endpoints per aiutarti a scegliere quello giusto per te.

Scelta di un'opzione di computing

Endpoints supporta diverse opzioni di computing di Google Cloud che possono ospitare il codice di backend dell'API. Endpoints funziona con Extensible Service Proxy (ESP) o Extensible Service Proxy V2 (ESPv2) per fornire la gestione delle API. La seguente tabella riassume le opzioni di computing supportate:

ESP per OpenAPI ESP per gRPC ESPv2 per OpenAPI ESPv2 per gRPC Framework degli endpoint
Generazione dell'ambiente standard
di App Engine 1
Runtime Java 8 e Python 2.7
Generazione dell'ambiente standard
di App Engine 2
Ambiente flessibile
di App Engine
Cloud Functions
Cloud Run
Cloud Run for Anthos
Compute Engine
GKE
Kubernetes
Altri servizi non Google Cloud

Per un confronto delle funzionalità fornite da App Engine, GKE e Compute Engine, vedi Scegliere un'opzione di computing. Se stai pensando di utilizzare App Engine, devi scegliere l'ambiente standard o flessibile. Per un confronto tra i due ambienti, consulta Scelta di un ambiente App Engine.

Informazioni sulle limitazioni delle opzioni di computing

Endpoints per OpenAPI ed Endpoints per gRPC possono utilizzare ESP o ESPv2 come proxy. Per le piattaforme non serverless, ESP o ESPv2 viene eseguito come container davanti all'applicazione o come collaterale con l'applicazione. Per le piattaforme serverless, come Cloud Run, Cloud Functions e App Engine, il deployment di ESPv2 viene eseguito come servizio Cloud Run come proxy remoto per gestire le applicazioni della piattaforma serverless.

Dopo aver eseguito il deployment del codice backend dell'API, ESP o ESPv2 intercetta tutte le richieste ed esegue tutti i controlli necessari (ad esempio l'autenticazione) prima di inoltrare la richiesta al backend dell'API. Quando il backend risponde, ESP raccoglie e segnala i dati di telemetria utilizzando Service Infrastructure.

Puoi visualizzare le metriche dell'API e i link ai log e alle tracce di Osservabilità Google Cloud nella pagina Endpoints Services nella console Google Cloud.

Limitazioni dell'ambiente standard di generazione 1 di App Engine

Gli endpoint per l'ambiente di generazione standard di App Engine 1 utilizzavano storicamente Endpoints Framework, che supportano solo gli ambienti di runtime Java 8 e Python 2.7.

Poiché l'ambiente standard App Engine non supportava i deployment multi-container quando Endpoints Frameworks era in fase di sviluppo, Endpoints Frameworks non utilizza ESP. Endpoints Frameworks include un gateway API integrato che fornisce funzionalità di gestione delle API paragonabili a quelle fornite da ESP per Endpoints per OpenAPI ed endpoint per gRPC.

Le API gRPC non sono supportate su App Engine o Cloud Functions

gRPC è un framework per chiamata di procedura remota (RPC) eseguibile in qualsiasi ambiente. Con gRPC, un'applicazione client può chiamare direttamente i metodi in un'applicazione server su una macchina diversa come se fosse un oggetto locale. Una funzionalità principale di gRPC è il flusso bidirezionale con il trasporto basato su HTTP/2.

App Engine e Cloud Functions non supportano HTTP/2.

Linguaggi di programmazione supportati

  • La specifica OpenAPI è una specifica indipendente dal linguaggio. Puoi implementare l'API in qualsiasi linguaggio di programmazione.
  • gRPC fornisce il compilatore del buffer di protocollo protoc per molti dei principali linguaggi di programmazione: C++, C#, Objective-C (per iOS), Dart, Go, Java (compreso il supporto per Android), Node.js, Python e Ruby. Per l'elenco più aggiornato, consulta le domande frequenti su gRPC.
  • Endpoints Frameworks supporta solo Java 8 e Python 2.7.

Descrizione dell'API

Le opzioni di Endpoints offrono diversi modi per descrivere l'API.

Endpoint per OpenAPI

L'iniziativa OpenAPI è un'iniziativa a livello di settore per standardizzare la descrizione delle API REST. Endpoints supporta le API descritte utilizzando la versione 2.0 della specifica OpenAPI (in precedenza Swagger Specification). Puoi descrivere la superficie della tua API in un file JSON o YAML (definito documento OpenAPI). Puoi implementare la tua API utilizzando qualsiasi framework REST disponibile pubblicamente, come Django o Jersey. Se non hai dimestichezza con la specifica OpenAPI, consulta la panoramica di OpenAPI.

Per ulteriori informazioni, consulta Endpoint per OpenAPI.

Endpoint per gRPC

Con gRPC, definisci la struttura dei dati che vuoi serializzare in un file proto: si tratta di un normale file di testo con estensione .proto. Puoi anche definire la superficie dell'API in file proto, con parametri di metodo RPC e tipi restituiti specificati come messaggi del buffer di protocollo. Se non hai dimestichezza con gRPC, consulta Che cos'è gRPC? nella documentazione relativa a gRPC.

Per maggiori informazioni, consulta Endpoint per gRPC.

Framework di Endpoints

Endpoints Frameworks è un framework web per gli ambienti di runtime Python 2.7 e Java 8 standard di App Engine. Puoi aggiungere metadati (utilizzando annotazioni in Java o decoratori in Python) al codice sorgente. I metadati descrivono la superficie delle API REST per l'applicazione.

Per ulteriori informazioni, consulta la pagina relativa a framework degli endpoint.

Passaggi successivi