Comparar el proxy de servicios 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 Extensible Service Proxy (ESP), que se usa en Cloud Endpoints para las APIs que usan OpenAPI o gRPC. Para obtener más información sobre las opciones de Endpoints, consulta Elegir una opción de Endpoints.

Información general

Cloud Endpoints es un sistema de gestión de APIs que te ayuda a proteger, monitorizar, analizar y definir cuotas en tus APIs usando la misma infraestructura que Google utiliza para sus propias APIs. Las funciones de gestión de APIs incluyen la autenticación, las claves de API, la monitorización, el registro y el seguimiento, independientemente de la tecnología utilizada para implementar la API. La función de gestión de APIs se proporciona a través de ESP o mediante los frameworks de Endpoints.

proxy de servicios extensible

En Endpoints para OpenAPI y gRPC, las solicitudes de API se reenvían a través del proxy de servicios extensible, que valida las claves y los tokens de autenticación, y envía señales (métricas y registros) mediante la API 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 que puedes usar gRPC o cualquier framework que admita la descripción de APIs mediante OpenAPI.

  • APIs que usan OpenAPI: el backend de la API puede ejecutarse en el entorno flexible de App Engine, Google Kubernetes Engine (GKE), Compute Engine, Kubernetes o en implementaciones locales.

  • APIs que usan gRPC: el backend de la API puede ejecutarse en GKE, Compute Engine, Kubernetes o en implementaciones locales.

Arquitectura de ESP

Se envía una solicitud a la siguiente ruta:

  1. Se recibe una solicitud de tu código y se envía al ESP.
  2. ESP envía una solicitud de comprobación a Service Control.
  3. Si has configurado tu API para que requiera una clave de API o autenticación, Service Control comprueba si la solicitud está permitida y envía una respuesta al ESP.
  4. Si no se permite la solicitud, el ESP la rechaza. Si se permite la solicitud, se reenvía al código de backend. De cualquier forma, ESP registra información sobre la solicitud.

El precio de la gestión de APIs de Endpoints depende del número de llamadas al mes.

Endpoints Frameworks

En el caso de los backends de API que se ejecutan en el entorno estándar de App Engine, Endpoints Frameworks está disponible para ayudar a los desarrolladores a empezar a ofrecer una API rápidamente. Endpoints Frameworks es un framework web y una alternativa a Python Flask o Java Jersey. Endpoints Frameworks se integra con la API Service Control, lo que significa que un backend que utilice Endpoints Frameworks no tiene que ejecutarse detrás del proxy de servicio extensible.

Endpoints Frameworks

Si has habilitado la gestión de APIs, se envía una solicitud a la siguiente ruta:

  1. Se recibe una solicitud a tu código y se envía al módulo de gestión de Endpoints de Endpoints Frameworks.
  2. El módulo de gestión de Endpoints envía una solicitud de comprobación a Service Control.
  3. Si has configurado tu API para que requiera una clave de API o autenticación, Service Control comprueba si la solicitud está permitida y envía una respuesta al módulo Endpoints Management.
  4. Si la solicitud no está permitida, el módulo Endpoints Management la rechaza. Si la solicitud se permite, se reenvía a Endpoints Frameworks. De cualquier forma, el módulo Endpoints Management registra información sobre la solicitud.
  5. Endpoints Frameworks dirige la solicitud al código de backend.

Puedes usar Endpoints Frameworks con o sin la función de gestión de APIs. El uso de Endpoints Frameworks sin la función de gestión de APIs no tiene coste. La funcionalidad de gestión de APIs se cobra según la página de precios de Endpoints.

Endpoints Frameworks solo se admite en servicios que se ejecutan en el entorno estándar de App Engine. En Compute Engine, GKE, el entorno flexible de App Engine u otros entornos, tus servicios deben ejecutarse detrás de ESP.

Si el servicio se ejecuta detrás de ESP, puedes escribir el código de backend en cualquier lenguaje y framework, como Python Flask, Java Jersey o Node.js Express. En estos entornos, no es necesario usar Endpoints Frameworks para gestionar las APIs.

Siguientes pasos