At its major developer conference, Google I/O, Google has been announcing improvements to its Android operating system, and its integration with more devices such as smart watches, cars and TVs. But Google is also a major cloud service provider, and some of the biggest announcements for developers have been around the cloud.
Just months after acquiring cloud-monitoring startup Stackdriver, Google has come out with a new service called Google Cloud Monitoring. It provides deep visibility into apps that run on Google’s cloud, but also elements that may be in a stack such as Apache, Nginx, MongoDB, MySQL and Redis. Developers can get information through dashboards and create alerts if, for instance, error rates or latency reaches a critical level.
Users can also monitor availability and response times for different localities by setting up endpoint checks from probes in Oregon, Texas, Virginia, Amsterdam, and Singapore.
Google’s Cloud Debugger promises to change the cloud application debugging which typically involves writing diagnostic messages, checking logs, making code changes, and re-deploying applications to test changes. It’s sometimes hard to know which processes are involved or how to reproduce an issue when parameters are changing. And stopping processes in a production environment could ruin an end-user’s experience.
Cloud Debugger lets developers set a watchpoint on a line of code, and provides a snapshot of all the local variables, parameters, instance variables and a full stack trace when servers process that line of code. Google says this is ideal for use in production. There is no overhead for enabling the debugger, and the effect on performance is barely noticeable to users when when a watchpoint is hit.
Another minor feature for debugging announced is a new browser-based SSH client that lets developers quickly and securely connect to their VMs from the Console. This lets them easily connect directly to a VM to debug or fix a production issue without having to use a SDK or other tools.
Cloud Trace allows developers to visualize the time their apps spend on request processing, helping them isolate the root cause of performance bottlenecks. They can also compare performance between different releases of the same application to see if updates cause performance problems.
Targeted at Android developers specifically, Cloud Save (in private beta) is a service that makes it easy to save, retrieve, and synchronize user data to the cloud and across devices using a simple API. This seems to be part of Google’s attempts to have Android work more closely with its cloud platform App Engine. For instance, Android Studio now comes with three App Engine backend module templates.
Google Cloud Dataflow
Google’s MapReduce has been a leading tool for dealing with massive computing workloads and large data sets. However, Google Cloud Dataflow, unveiled at Google I/O, is a new, more sophisticated alternative to MapReduce, and a competitor to Amazon’s Kinesis stream-processing service announced in November.
According to a blog post from the Google Cloud Platform Team’s Frances Perry, Cloud Dataflow can be used to interpret data, find patterns in real-time streams of data, and to extract deep insight from datasets of any size using multi-step processing pipelines. It draws upon technologies developed by Google in recent years including the FlumeJava library for running data pipelines in parallel and the MillWheel stream-processing framework.
Google has been using Cloud Dataflow internally, and it plans on making it available to users on its public cloud.
Google Cloud Monitoring, Cloud Debugger and Cloud Trace are nearly ready for wide availability, according to a blog post from Brad Abrams, the Group Product Manager of Google Cloud Platform. The other new features are also still in limited release.
Many see Google’s new cloud innovations as its latest attempt to best its public cloud competitor Amazon, but nearly all cloud service providers will have to take note of what Google is doing to make its services more refined in order to stay relevant.