Endpoints Architecture

Endpoints is a distributed API management system comprising services, runtimes, and tools. Endpoints provides management, monitoring, and authentication.

The components that make up Endpoints are:

·         Extensible Service Proxy (ESP) - ESP is a NGINX-based proxy that runs in front of the backend and injects Endpoints functionality such as authentication, monitoring, and logging. ESP retrieves a service configuration from Service Management and uses it to validate incoming requests. ESP is designed for you to deploy it in a containerized environment and validate JWTs and Google ID tokens. It employs a variety of techniques, such as heavy caching and asynchronous calls to remain lightweight and highly performant.

·         Service Control – Service Control applies API management rules at runtime, such as key authentication, monitoring, and logging. Service Control provides the following methods:

§  Check - verifies authentication and API keys, and indicates whether a call should be permitted

§  Report - notifies the systems of record for logging and monitoring

 

·         Service Management - The OpenAPI specifications to describe the surface and the behavior of your API in a text file referred to as the Endpoints configuration. You deploy the Endpoints configuration to Service Management by using the Cloud SDK, which configures the API management rules. Other configuration related tasks also happen here, such as sharing your API with other developers, enabling or disabling the API in different projects, and generating API keys.

 

·         Cloud SDK – It provides the gcloud command-line tool that you can use to make calls to various Google Cloud services. You use the gcloud command-line tool to deploy your Endpoints configuration to Service Management.


·         Cloud Console – It is the graphical user interface for Google Cloud. Endpoints uses the Cloud Console to expose monitoring and logging data that are sent from ESP or ESPv2 and recorded by Service Control and share APIs with other developers, and for them to generate API keys to call the API


·         Deployment Scenarios - Options for deployment vary depending upon the use of ESP or ESPv2 as the Endpoints proxy. ESPv2 can be deployed as a remote proxy and both ESPv2 and ESP can be deployed in sidecar mode, as explained in the following sections.

 

    


 


 

Comments