Cómo comparar el proxy de servicio extensible y Cloud Endpoints Frameworks
Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
En esta página, se explican las diferencias entre Endpoints Frameworks para el entorno estándar de App Engine y el proxy de servicio extensible (ESP), que se usa en Cloud Endpoints para APIs que usan OpenAPI o gRPC.
Para obtener más información sobre las opciones de Endpoints, consulta Cómo elegir una opción de Endpoints.
Descripción general
Cloud Endpoints es un sistema de administración de API que te ayuda a proteger, supervisar, analizar y configurar cuotas en tus API mediante la misma infraestructura que usa Google para las suyas. Las funciones de administración de API incluyen autenticación, claves de API, supervisión, registro y seguimiento independiente de la tecnología que se usa para implementar la API. La funcionalidad de administración de API se proporciona a través del ESP o con Endpoints Frameworks.
Proxy de servicio extensible
En Endpoints para OpenAPI y gRPC, las solicitudes de API se reenvían a través del proxy de servicio extensible, que valida las claves y los tokens de autenticación, y envía indicadores (métricas y registros) con la API de Service Control. La separación que proporciona ESP significa que puedes escribir el código de backend de REST o gRPC en cualquier lenguaje y puedes usar gRPC o cualquier framework que admita la descripción de la API con OpenAPI.
API que usan OpenAPI: el backend de la API se puede ejecutar en el entorno flexible de App Engine, en Google Kubernetes Engine (GKE), en Compute Engine, Kubernetes o en implementaciones locales.
API que usan gRPC: el backend de la API se puede ejecutar en GKE, Compute Engine, Kubernetes o en implementaciones locales.
Se envía una solicitud en la ruta siguiente:
Se recibe una solicitud de código y se envía al ESP.
El ESP envía una solicitud de verificación al Control de servicios.
Si configuraste la API para que solicite una clave de API o autenticación, el Control de servicios verifica si la solicitud tiene permiso y envía una respuesta al ESP.
Si la solicitud no tiene permiso, el ESP la rechaza. Si la solicitud tiene permiso, se reenvía a tu código de backend. De cualquier manera, el ESP registra la información sobre la solicitud.
Para los backends de API que se ejecutan en el entorno estándar de App Engine, Endpoints Frameworks está disponible a fin de ayudar a los desarrolladores a comenzar a entregar una API con rapidez. Endpoints Frameworks es un marco de trabajo web y una alternativa a Python Flask o Java Jersey.
Endpoints Frameworks se integra en la API de Control de servicios, lo que significa que no es necesario ejecutar un backend que use Endpoints Frameworks con el proxy de servicio extensible.
Si habilitaste la administración de API, se envía una solicitud en la ruta siguiente:
Se recibe una solicitud de tu código y se envía al módulo de administración de Endpoints en Endpoints Frameworks.
El módulo de administración de Endpoints envía una solicitud de verificación al Control de servicios.
Si configuraste tu API para que solicite una clave de API o autenticación, el Control de servicios verifica si la solicitud tiene permiso y envía una respuesta al módulo de administración de Endpoints.
Si la solicitud no tiene permiso, el módulo de administración de Endpoints la rechaza. Si la solicitud tiene permiso, se reenvía a Endpoints Frameworks. De cualquier manera, el módulo de administración de Endpoints registra la información sobre la solicitud.
Endpoints Frameworks envía la solicitud a tu código de backend.
Puedes usar Endpoints Frameworks con o sin la funcionalidad de administración de API. El uso de Endpoints Frameworks sin la funcionalidad de administración de API se ofrece de manera gratuita. La funcionalidad de administración de API se cobrará según la página de precios de Endpoints.
Endpoints Frameworks es compatible solo con servicios que se ejecutan en el entorno estándar de App Engine. En Compute Engine, GKE, el entorno flexible de App Engine o en otros entornos, tus servicios se deben ejecutar con el ESP.
Si el servicio se ejecuta con el ESP, puedes escribir el código de backend en cualquier lenguaje o marco de trabajo, como Python Flask, Java Jersey o Node.js Express. En esos entornos, no hay necesidad de usar Endpoints Frameworks para la administración de API.
¿Qué sigue?
Si deseas obtener información sobre cómo agregar la administración de API:
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Información o código de muestra incorrectos","incorrectInformationOrSampleCode","thumb-down"],["Faltan la información o los ejemplos que necesito","missingTheInformationSamplesINeed","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 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)"]]