Apache, Microsoft Take Baby Steps Toward Open Clouds


The dream of open cloud computing took a couple of small steps forward in the past 24 hours with Apache promoting the Libcloud project to top-level status and with Microsoft (s msft) releasing a new version of its software development kit for PHP applications on its Windows Azure platform. However, although both moves do constitute noteworthy advancements in the cause of cloud openness, they also highlight how differently we might come to define open in the cloud context.

Microsoft’s enhanced PHP support is a prime example of this new definition of open: the SDK is open source and does give non-.NET users access to more features of the Azure platform, but Azure itself is neither open source nor particularly open, in general. However, by giving developers what Microsoft calls “a ‘speed dial’ library to take full advantage of Windows Azure’s coolest features,” the company is trying to prove that it supports freedom of choice. PHP developers now can have their cake and eat it, too.

Microsoft has SDKs for Java and Ruby, as well, but they’re less full-featured than this latest version for PHP, which aims to give PHP developers an experience comparable to that of .NET developers within Windows Azure.

PHP happens to be a great place to start really eliminating the barriers for non-.NET development within Azure. Many Facebook apps are written in PHP, after all (including Hotel Peeps, which Microsoft counts as a customer) and it’s among the most-popular web-development languages overall. Microsoft certainly didn’t fail to notice that PHP, once relatively underserved in the Platform as a Service space, now has a dedicated PaaS in PHP Fog and support from others, including RightScale, Red Hat (s rht) (OpenShift) and DotCloud.

The Libcloud case presents a different take on cloud openness. Libcloud gives developers an API to perform a set of standard actions — such as create, reboot, deploy and destroy — to cloud servers across a variety of providers. However, it’s written in Python (there’s also a less-capable Java (s orcl) version) and requires developers to work in Python, which does limit the scope of who’s likely to use Libcloud. It’s an open-source project that opens up developers’ abilities to manage resources across clouds, but it’s only open to the Python community.

Deltacloud, which Red Hat initiated and which is currently an Apache Incubator project, arguably takes a broader approach to cross-cloud management with its REST-based API that works with any application type. Both projects, however, fall short of the ultimate goal of interoperability standards among cloud providers, whereby users could actually move applications and data between clouds without first having to pull back in-house and reload it into its new home.

Whatever open actually means in cloud computing, it’s undeniable that we’re making progress. From open source software such as OpenStack to projects such as Libcloud to just multi-language support on PaaS platforms, we’re at least at a place where cloud users can be confident their applications can be moved from cloud to cloud, if need be, and where users might not even have to learn new APIs along the way. We might never have widely accepted cloud standards, but it looks like we’re coming along nicely on choice.

With that in mind, I’ll be talking at Structure 2011 next month with leaders from the OpenStack and Cloud Foundry projects, who have a lot more insight into how open source projects might ultimately change ideas around both interoperability and economics in the cloud.

Image courtesy of Flicker user Marco Bellucci.



Derick seems to be wooing OM, with pictures of Indian colors. ;-)


libcloud is great effort for what it offers but what it offers in the way of multi-cloud use is still very limited (see below). It probably has to be in order to cover such widely differing array of cloud architectures/api’s.

I doubt if those are all you need to support a cloud based deployment. Clustering, HA, Security (?not addressed), status/health, API support etc. don’t seem to be covered by libcloud (yet) so significant customized python scripting (or something else) would still need to be done per individual cloud api.

Today the AWS API seems to be what most tool vendors support as one of possibly several key platforms. (python based ‘boto’ – used in AWS, Ubuntu Enterprise Cloud and Eucalyptus is just one example)

Perhaps the OpenStack effort (http://www.openstack.org/) will end up providing a single target/bogey for developers to focus on with their cloud provisioning/monitoring efforts as it seems to be getting a lot of interest and it is Open Source.

from libcloud website’s list of features:

Return a list of the currently active nodes.

Allows user to reboot (restart) a node.

Allows user to create a new node.

Allows user to destroy an existing node.

Returns a list of available node images.

Returns a list of available node sizes.


Comments are closed.