Google Cloud Endpoints is a distributed API management system. It provides an API console, hosting, logging, monitoring and other features to help you create, share, maintain, and secure your APIs. You can use Cloud Endpoints with any API that supports the OpenAPI Specification, formerly known as the Swagger spec, or with gRPC services (currently in beta).
Cloud Endpoints uses the distributed Extensible Service Proxy to provide low latency and high performance for serving even the most demanding APIs. Extensible Service Proxy is a service proxy based on NGINX. The proxy runs in its own Docker container for better isolation and scalability and is distributed in the Google Container Registry and Docker registry. It can be used with Google App Engine, Google Container Engine, Google Compute Engine or Kubernetes.
Cloud Endpoints uses Google Service Management for managing APIs and Google Service Control for reporting logs and metrics. You can manage and monitor your APIs using the Google Cloud Platform Console.
Hosting an API
Cloud Endpoints is optimized for the Docker container environment. You can host your API anywhere Docker is supported so long as it has Internet access to Google Cloud Platform.
However, the Cloud Endpoints SDK provides an optimized workflow to run your APIs on the following:
- Compute Engine
- Container Engine
- App Engine flexible environment, which includes built-in Extensible Server Proxy. (OpenAPI services only)
- App Engine standard environment, which is currently supported using the Cloud Endpoints Frameworks for App Engine, in Java and Python. (OpenAPI services only)
Developing a REST API with the OpenAPI Specification
Cloud Endpoints is language independent. You can choose any language and API framework that supports API description using an OpenAPI specification.
Build your API in any language and framework that supports the OpenAPI specification.
Generate the OpenAPI specification for your API and deploy it to Google Service Management.
Deploy your API server.
Controlling API access
Cloud Endpoints lets you configure your API to require an API key for any call and validates the API key. You can also use the Google Cloud Platform Console to share your API with other developers so they can enable your API and generate API key(s) to call it.
Authenticating API users
Note that your API server still needs to decide what the authenticated user can do with your API. For more information, see the Google Cloud Platform Auth Guide.