Let's say you have some functionality that you wish to expose to consumers as an API, it can be challenging to deploy and manage that API on your own. Cloud Endpoints enables you to deploy and manage the API on Google Cloud platform. In the module Managing APIs with Google Cloud Endpoints, you'll learn how to develop an open API configuration for your RAS API. You'll learn techniques to secure and restrict access to the API, deploying new versions of the API, and deploy the API to test and production environments. You'll also learn how to monitor metrics for your API. An API gateway enables clients to retrieve data from multiple services with a single request. An API gateway creates a layer of abstraction and insulates the clients from the partitioning of the application into microservices. You can use Google Cloud Endpoints to implement API gateways. Additionally, the API for your application can run on backends such as Google App Engine, container engine or computer engine. If you have legacy applications that cannot be refactored and moved to the cloud, consider implementing APIs as an adapter layer or facade. Each consumer can then invoke these modern APIs instead of invoking outdated APIs using old protocols and disparate interfaces. Using the Apigee API platform, you can design, secure, analyze, and scale your APIs for legacy backends. For more information about the Apigee API platform, see the downloads and resources pane. There are a few issues to consider when deploying and managing APIs on your own. What language or format will you use to describe the interface? For example, will you use a format such as WSDL or Open API to express the schema and constraints of the API? How will you attend to get services and users who invoke your API? How will you ensure that your API scales to meet demand? Does your infrastructure log details about API invocations and provide monitoring metrics? Cloud endpoints provides the infrastructure support that you need to deploy and manage robust, secure, and scalable APIs. Cloud endpoints supports the Open API specification and gRPC API specification. Cloud endpoints support service to service authentication and user authentication with Firebase, Auth0, and Google Authentication. The Extensible Service Proxy, Google Service Management, and Google service control APIs together validate request, log data, and handle high volumes of traffic. Using Cloud Endpoints, Stackdriver Logging and Stackdriver Trace, you can view detailed logs, traceless, and metrics related to traffic volume, latency, size of requests and responses, and errors. JSON HTTP one-based REST API are popular and easy to use. To enable Cloud Endpoints for REST APIs create the API configuration in a YAML file based on the Open API specification. GRPC is a newer, faster technology. You can generate client libraries for various programming languages. Your application can then make type-safe remote server calls as if there were local calls. To enable Cloud Endpoints for GRPC APIs, create your service definition by using protocol buffers and then create a service configuration by using the GRPC API. Cloud Endpoints supports transcoding of HTTP JSON calls into GRPC. Your clients can access your GRPC API by using plain all HTTP JSON calls. In the rest of the module, we'll focus on JSON-based REST APIs. For information about GRPC APIs, see the downloads and resources pane.