A few weeks ago I wrote about GoGrid, purveyors of a grid (or cloud or utility) computing service. To recap, GoGrid is a cloud computing service that provides a Web interface through which you instantiate and manage load balancers, servers, and databases such that you can scale up or down as your needs dictate. The operating systems supported are CentOS, Red Hat, and Windows 2003 and GoGrid takes pains to make it clear is that these are not altered in any way to be compatible with its grid system.
This week GoGrid have announced its API which takes the service into what is, essentially, uncharted territory for cloud computing vendors – they have exposed their entire service infrastructure to programmers.
The GoGrid API is remarkable because of its depth – through a REST-style interface it provides access to everything that the GoGrid platform can do including configuring components, starting and stopping services, and retrieving status information as well as real time usage and billing data.
The scope of the API means that third parties can create entire management front-ends that are specific to user requirements. This in turn provides unique opportunities for the independent software vendor and system integrator markets to add value.
Requests can be sent via HTTP GET or POST operations, which can be easily integrated into languages such as Java, PHP, Python, Perl, Ruby, and C# as well as executed from shell scripting languages such as bash.
Now let’s get creative: I criticized GoGrid for the management interface not showing the connections between components. Now with the GoGrid API it would be fairly easy to wrap a Microsoft Visio COM object in Visual Basic or C# and use Visio to diagram and control the service architecture. Similarly you could use a product such as Business Objects’ Xcelsius to retrieve GoGrid system data and make API calls to create what would be a comprehensive dashboard that would configure and manage not only the GoGrid service but also the actual servers and their applications.
GoGrid’s API is the kind of positioning that all service providers should adopt – complete openness on the front end so that customers can use the default user interface or where they have specific service goals they can interface to the service with alternative and extended user interfaces.
I’m impressed and I’ll be watching closely to see whether the industry finds GoGrid’s cloud computing services as compelling as I do.