Confronto tra Extensible Service Proxy e Cloud Endpoints Frameworks
Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
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:
Viene ricevuta una richiesta per il tuo codice 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.
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:
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Difficile da capire","hardToUnderstand","thumb-down"],["Informazioni o codice di esempio errati","incorrectInformationOrSampleCode","thumb-down"],["Mancano le informazioni o gli esempi di cui ho bisogno","missingTheInformationSamplesINeed","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 2025-09-04 UTC."],[[["\u003cp\u003eCloud Endpoints provides API management features like authentication, monitoring, and logging, either through the Extensible Service Proxy (ESP) or Endpoints Frameworks.\u003c/p\u003e\n"],["\u003cp\u003eThe Extensible Service Proxy (ESP) handles API requests for OpenAPI and gRPC, allowing backend code to be written in any language and deployed across various environments like GKE, Compute Engine, and on-premises.\u003c/p\u003e\n"],["\u003cp\u003eEndpoints Frameworks is specifically designed for API backends running on the App Engine standard environment, offering a web framework alternative to Flask or Jersey, and integrating directly with the Service Control API.\u003c/p\u003e\n"],["\u003cp\u003eEndpoints Frameworks is the only way to obtain API management features on the App Engine standard environment, and it supports only Python 2.7 and Java 8 runtime environments.\u003c/p\u003e\n"],["\u003cp\u003eAPI management functionality through either ESP or Endpoints Frameworks is charged based on the number of calls per month, while using Endpoints Frameworks without API management is offered at no charge.\u003c/p\u003e\n"]]],[],null,["# Comparing Extensible Service Proxy and Cloud Endpoints Frameworks\n\nThis page explains the differences between Endpoints Frameworks for\nthe App Engine standard environment and the\n[Extensible Service Proxy (ESP)](/endpoints/docs/frameworks/glossary#extensible_service_proxy),\nwhich is used in Cloud Endpoints for APIs using\n[OpenAPI](/endpoints/docs/openapi)\nor\n[gRPC](/endpoints/docs/grpc/about-grpc).\nFor more information about the Endpoints options, see\n[Choosing an Endpoints option](/endpoints/docs/choose-endpoints-option).\n\nOverview\n--------\n\nCloud Endpoints is an API management system that helps you secure, monitor,\nanalyze, and set quotas on your APIs using the same infrastructure Google uses\nfor its own APIs. API management features includes authentication, API keys,\nmonitoring, logging, and tracing independent of the technology used to implement\nthe API. API management functionality is provided through ESP or\nby using the Endpoints Frameworks.\n\nExtensible Service Proxy\n------------------------\n\nIn Endpoints for OpenAPI and gRPC, API requests are relayed\nthrough the Extensible Service Proxy, which validates keys and authentication tokens and\nsends signals (metrics and logs) by using the\n[Service Control](/service-control/overview)\nAPI. The separation provided by ESP means that you can write the\nREST or gRPC backend code in any language, and you can use gRPC or any framework\nthat supports API description using OpenAPI.\n\n- APIs using OpenAPI: The API backend can run on the App Engine flexible\n environment, Google Kubernetes Engine (GKE), Compute Engine, Kubernetes, or\n on-premises deployments.\n\n- APIs using gRPC: The API backend can run on GKE,\n Compute Engine, Kubernetes, or on-premises deployments.\n\nA request is sent on the following path:\n\n1. A request to your code is received and is sent to ESP.\n2. ESP sends a check request to Service Control.\n3. If you configured your API to require an API key or authentication, Service Control checks to see if the request is permitted and sends a response back to ESP.\n4. If the request isn't permitted, ESP rejects the request. If the request is permitted, it is forwarded to your backend code. Either way, ESP logs information about the request.\n\n[Pricing of Endpoints API management](/endpoints/pricing)\ndepends on the number of calls per month.\n\nEndpoints Frameworks\n--------------------\n\nFor API backends running on the App Engine standard environment,\nEndpoints Frameworks is available to help developers quickly get\nstarted serving an API. Endpoints Frameworks is a\n[web framework](https://wikipedia.org/wiki/Web_framework)\nand is an alternative to Python Flask or Java Jersey.\nEndpoints Frameworks integrates with\nthe Service Control API, meaning a backend that uses\nEndpoints Frameworks doesn't need to run behind the Extensible Service Proxy.\n| **Note:** Endpoints Frameworks is the only way to get API management functionality, such as monitoring, logging, and API keys, on the App Engine standard environment. Only the [Python 2.7 and Java 8 runtime environments](/appengine/docs/standard/runtimes) are supported.\n\nIf you have enabled API Management, a request is sent on the following path:\n\n1. A request to your code is received and is sent to the Endpoints Management module within Endpoints Frameworks.\n2. The Endpoints Management module sends a check request to Service Control.\n3. If you configured your API to require an API key or authentication, Service Control checks to see if the request is permitted and sends a response back to the Endpoints Management module.\n4. If the request isn't permitted, the Endpoints Management module rejects the request. If the request is permitted, it is forwarded to Endpoints Frameworks. Either way, the Endpoints Management module logs information about the request.\n5. Endpoints Frameworks routes the request to your backend code.\n\nYou can use Endpoints Frameworks with or without API management\nfunctionality. Use of Endpoints Frameworks without API management\nfunctionality is offered at no charge. API management functionality is charged\naccording to the\n[Endpoints pricing page](/endpoints/pricing).\n\nEndpoints Frameworks is supported only for services running on the\nApp Engine standard environment. On Compute Engine,\nGKE, App Engine flexible environment, or other\nenvironments, your services must run behind ESP.\n\nIf the service is running behind ESP, you can write the backend\ncode in any language and framework, such as Python Flask, Java Jersey, or\nNode.js Express. In such environments, there is no need to use\nEndpoints Frameworks for API management.\n\nWhat's next\n-----------\n\n- For information on adding API management:\n\n - [Java: Adding API management](/endpoints/docs/frameworks/java/adding-api-management)\n - [Python: Adding API management](/endpoints/docs/frameworks/python/adding-api-management)\n- For information on removing API management:\n\n - [Java: Removing API management](/endpoints/docs/frameworks/java/remove-api-management)\n - [Python: Removing API management](/endpoints/docs/frameworks/python/remove-api-management)"]]