Posterous theme by Cory Watilo

Cloudy, with a chance of... sun?

The last couple of years, cloud computing has gained more and more ground. And the concept is wide and covers several different approaches to computing, but I only want to talk about two types of cloud computing here, namely IaaS and PaaS.

As an example of an IaaS cloud we have Amazons EC2 where you, as a user, work with the datacenter level of computing, in a virtualized manner; you can start a server (instance), and once it’s running attach IP addresses to it, firewall rules or even a block device (disk) that you then format and mount inside the instance. Pretty much the same things you did with a physical server and some networking gear, before IaaS saw the light of day. The biggest difference from the good old physical server days, is that with IaaS you can have your server running minutes after you “ordered” it, instead of several days with the physical servers, as long as your IaaS provider has excess capacity.

An example of PaaS is Heroku. As a user of PaaS you only have to deal with the decision of “how many workers do I need” and “which domain should I use” and then the Platform takes care of anything else. PaaS are often specialized for a particular programming language and environment – in the case of Heroku, it’s the Ruby programming language.

Which type of cloud to use is a matter of personal taste and needs. IaaS is more flexible, but needs more work to be usable for the user/developer, PaaS is easier to use and preferrable if you can find a PaaS provider that support your language and needs.

Now, as a server and hosting provider I’m very interested in those two types of cloud computing. Right now I deliver virtualized computing power to my customers, but only as a virtualized version of a dedicated (physical server) – we have no self-service features that enables our customers to order a new server, like they can if they used an IaaS cloud provider. So my goal is to build and deliver a cloud platform to my customers.

The last two years I’ve followed some of the activity in the world of cloudbuilding software – software that enables you to build your own cloud. Two years ago the solutions were few, and lacked on features, but during the last year several solutions has bubbled to the surface. I’ve tested a lot of them, and I would like to name two Open Source solutions, that seems to be very interesting for my company:

  1. OpenNebula is a project that started as a research project back in 2005, but the first public release was in 2008, three years ago. I first encountered the project in 2009, where I put up a demo system and played with it for a while. But it never felt quite ready for production in our environment. I haven’t had time to play with the last version, but it seems to be really good, and the planned next release looks even more promising.

  2. A real newcomer is OpenStack, a project announced last year as a joint venture between Rackspace and NASA. Since it’s announcement, several big companys has joined the venture, some contributing more than others, as well as independent developers from all over the world. And the project has gained ground and looks very promising.

As a provider it should now be easy to choose one of those fine projects, and use them as a building block for a cloud offering. But it’s not as easy as it looks. OpenNebula is clearly the project that has the most complete featureset (and some of the code is written in Ruby), but OpenStack is bursting ahead and is getting massive support from the big companies, latest with the announcement of Project Olympus from Citrix, and it’s hard to make a choice.

On the PaaS side a new Open Source project was announced by VMWare in april, named CloudFoundry. Now that is really interesting, as it is a platform that currently supports three programming languages (Java, Ruby and Javascript/Node.js), but aims to support a wide range of languages later on. I haven’t had the time to test it yet, but it seems really promising and could be a foundation for a PaaS offering at my company. You can see an example of a Ruby application that get deployed to CloudFoundry here.

So all in all, from a provider point of view: Even though it gets more and more “cloudy,” the “sun got a strong hold now,” in the business of cloud computing.