Editor's Note: This article is not about Google's aquisition of API management solution provider Apigee. We published this article just days before that acquisition was announced. For ProgrammableWeb's coverage of that news, see our news brief Google Acquires Apigee for $625M and ProgrammableWeb editor-in-chief David Berlind's analysis How Google's Acquisition of Apigee Was Just a Continuation of an Existing Trend.
Google Cloud Platform, which offers both IaaS and PaaS solutions, while being a great place to host your applications, really needed tools and frameworks that made it easier for developers to not just develop their APIs but also to host and manage their APIs, in short an entire API Management solution.
Google Cloud Platform has had an API Framework called Google Cloud Endpoints for a while, but it was reported to be a bit too restrictive in terms of both framework capabilities and the fact that you had to run it in their App Engine PaaS too. This is not the case anymore with the release of a Beta version of Google Cloud Endpoints, which features significant performance improvements, flexibility to run it across all its Cloud offerings (App Engine, Container Engine and Compute Engine) and more.
The Beta release announced on the official Google Cloud Platform blog has been a while in the making and it shows careful consideration of developer needs for flexibility in terms of language support, open standards, runtimes, integrated monitoring and logging with Google Cloud and updated Documentation. This definitely has all the makings of an API Management platform rather than the earlier version, which was frameworks for Java and Python App Engine applications to quickly expose a REST API.
The key highlights in the release include:
- You can develop your application using any framework and language of your choice, as long as it supports the OpenAPI specification.
- A new component called Extensible Service Proxy Container, an NGINX-based proxy, which is a containerized application that takes care of multiple things like security, logging and a high-performance engine to invoke your APIs. This additional layer while performing cross-cutting tasks is still optimized to ensure the demands of high API traffic.
- Security is managed via API Keys, which you can provision from the console along with JSON Web Tokens, Firebase Authentication and more.
- You can host your API on any of the Google Cloud Platform offerings i.e. Container Engine, Compute Engine, App Engine (Standard and Flexible).
- Additional Beta commands are available in the gcloud command line tools to manage your API service.
- If you are on App Engine and want to continue using the App Engine frameworks available for Java and Python, you can do that. The App Engine runtimes automatically provision the Proxy Container.
- The solution is tightly integrated with multiple monitoring, logging and analysis tools in Google Cloud Platform like Cloud Logging, Trace and BigQuery.
The official documentation is available here and provides quickstarts on all the environments. Keep in mind that Cloud Endpoints is currently in Beta, which means that it is not governed by an SLA and could undergo changes before its final release.
The release of Cloud Endpoints in Beta is a welcome move for developers invested in Google Cloud Platform and with its focus on flexibility both in terms of languages, frameworks and runtime, it has surely hit the right notes.