Cómo comparar el proxy de servicio extensible y Cloud Endpoints Frameworks

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 las API que usan OpenAPI o gRPC. Si quieres obtener más información sobre las opciones de Endpoints, consulta la opción Cómo elegir 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 a la API se retransmiten a través del proxy de servicio extensible, que valida las claves y los tokens de autenticación y envía señales (métricas y registros) mediante la API de Control de servicios. La separación que proporciona el ESP implica que puedes escribir el código de backend de REST o gRPC en cualquier lenguaje, y puedes usar gRPC o cualquier marco de trabajo que sea compatible con la descripción de API que usa 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.

Arquitectura del ESP

Se envía una solicitud en la ruta siguiente:

  1. Se recibe una solicitud de código y se envía al ESP.
  2. El ESP envía una solicitud de verificación al Control de servicios.
  3. 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.
  4. 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.

Los precios de administración de la API de Endpoints dependen de la cantidad de llamadas por mes.

Endpoints Frameworks

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.

Endpoints Frameworks

Si habilitaste la administración de API, se envía una solicitud en la ruta siguiente:

  1. Se recibe una solicitud de tu código y se envía al módulo de administración de Endpoints en Endpoints Frameworks.
  2. El módulo de administración de Endpoints envía una solicitud de verificación al Control de servicios.
  3. 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.
  4. 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.
  5. 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?