Endpoints es un sistema distribuido de administración de API. Proporciona una consola de API, hosting, registro, supervisión y otras funciones para ayudarte a crear, compartir, mantener y proteger tus API. En esta página, se brinda una descripción general de Cloud Endpoints para gRPC. Si quieres obtener información sobre otros tipos de marcos de trabajo de API compatibles con Endpoints, consulta Todos los documentos de Endpoints.
Endpoints está disponible para su uso con el proxy de servicio extensible (ESP) distribuido o con el proxy de servicio extensible V2 (ESPv2). Cada proxy proporciona asistencia para las plataformas que se describen a continuación:
- Entorno flexible de App Engine (solo ESP)
- Google Kubernetes Engine (ESP o ESPv2)
- Compute Engine (ESP o ESPv2)
- Kubernetes (ESP o ESPv2)
- Entorno estándar de App Engine (solo ESPv2)
- Funciones de Cloud Run (solo ESPv2)
- Cloud Run (solo ESPv2)
- Knative serving (solo ESPv2)
Extremos con ESP
Endpoints usa el proxy de servicio extensible (ESP) distribuido a fin de proporcionar baja latencia y rendimiento alto y así entregar, incluso, las API más exigentes. El ESP es un proxy de servicio basado en NGINX, por lo que puedes quedarte tranquilo de que se escala según sea necesario para controlar solicitudes simultáneas a tu API. El ESP se ejecuta en su propio contenedor de Docker con el fin de lograr un mejor aislamiento y escalabilidad, y se distribuye en Container Registry. Puedes usarlo con lo siguiente:
Extremos con ESPv2
El ESPv2 es un proxy escalable de alto rendimiento basado en Envoy que se ejecuta frente al backend de una API de OpenAPI o de gRPC. El ESPv2 es compatible con la versión 2 de la especificación de OpenAPI y las especificaciones de gRPC. Puedes usarlo con lo siguiente:
Funciones de la administración de API de Endpoints
Ya sea que uses Endpoints con el ESP o el ESPv2, este proporciona un número de funciones importantes de administración de API que te permiten desarrollar, supervisar y controlar el acceso a tus API.
Registros y métricas
Endpoints usa la Infraestructura de servicios para administrar las API y también informar sobre registros y métricas. La mayoría de las API de Google Cloud usan esta misma infraestructura. Puedes administrar y supervisar tus APIs en la página Servicios de Endpoints en Google Cloud Console.
Hosting de API
Endpoints está optimizado para el entorno de contenedores de Docker. Puedes alojar tu API en cualquier lugar que sea compatible con Docker, siempre y cuando tenga acceso a Internet para ingresar a Google Cloud.
Desarrolla una API de gRPC con Endpoints
Define un servicio de API de gRPC por medio de los búferes de protocolo y, luego, impleméntalo en cualquier lenguaje compatible con gRPC.
Escribe tu configuración de servicio de API de gRPC para Endpoints.
Genera la configuración de la API del entorno de ejecución para tu API y luego impleméntala a Service Management.
Implementa tu servidor de API.
Puedes obtener más información sobre cómo usar gRPC con Endpoints en Endpoints para las API de gRPC y en los Instructivos relevantes.
Controlar el acceso a la API
Endpoints te permite configurar la API a fin de que se solicite una clave de API para cualquier llamada y valida la clave de API. También puedes usar la consola de Google Cloud para compartir tu API con otros desarrolladores y que estos puedan habilitarla y generar claves de API para llamarla.
Autentica los usuarios de las API
En la mayoría de las llamadas a la API, hay un usuario en el otro extremo de cada llamada. Mientras que las claves de API indican qué app hace una llamada a la API, el proceso de autenticación determina qué usuario usa esa app.
Ten en cuenta que tu servidor de API aún necesita decidir qué es lo que el usuario autenticado puede hacer con la API. Para obtener más información, consulta la guía de autenticación de Google Cloud.
¿Qué sigue?
Familiarízate con los pasos de implementación y ve las características de Endpoints en acción por medio de la Guía de inicio rápido para Endpoints, que utiliza secuencias de comandos a fin de implementar una API de muestra a un backend de App Engine Flexible.
Para obtener más información sobre Endpoints, realiza uno de los Instructivos.