Sunday, May 9, 2010

The Cloud : at least an environment that favor open-source !

What is the cloud ... without its marketing tag ?

During the 2010 think tank in Napa, the cloud was very present. One of the question was about the "threat" that the cloud represents for Open Source. This is funny because some very well in informed participants mention some key statistics. The major player in the cloud field, namely Amazon and Google, run an open-source (linux based) solution for their cloud.

Some unofficial statistics mention that more than 90% of Amazon EC2 instances run ... Linux. At some point, one could define the cloud as an Open Source OS + Open Source virtualization.

Why open source matters ?

Price of a computing cycle, bandwidth, RAM and storage are going down because of various factors including Moore's law (processors, memory) and unprecedented market size increase : developing countries are now entering in the digital age and crossing the digital divide.

An old open-source theory stated that, when the cost of a computer will reach 250$ then Open Source software will be in a strong position because it will be very difficult to pay hundred of dollars for ... software (was not able to find the reference but this is not my theory, feel free to comment and I will correct this blog entry).

I think that Open Source allows the cloud to exists : as the cost of servers get under 2500$ (lets assume that a server can be used by 10 users, we will find the same kind of ratio as for the initial prediction). In this context, when you manage 100 000s of servers, should you pay for ... operating system ? virtualization layer ? etc. In fact, most of the cloud players (Google, Facebook, Amazon, etc.), as start-ups, rely exclusively on open source. Constraint drive innovation and I really think that the present scale of those companies is a direct consequence of their platform choice : using any type of closed source software would have hurt the control on their platform and kill any innovation in the egg.

From and end-user point of view, the number one OS vendor (Microsoft) adapted itself to the cloud in a very reactive mode. In order to use a proprietary system in the cloud, you have to pay an extra 10c/hours/EC2 instance. If you use 100000s of hours, should you pay this tax ? Should you port your cloud-software to ... Linux ? At a certain level, RedHat and other licence-based commercial distros have the same problems : they have to somehow "rent" you your licence so that you can use them on the cloud. Once again, why pay for this and not use ... a freer distro like Debian or Ubuntu or even Fedora, CentOS or OpenSuse ? As a customer, no doubt you will consider alternatives and cost/benefits as it

What of the dominant players ?

While there is different players, I will concentrate on Amazon as Amazon is clearly in the leadership position : they published the API and offer a multi-tenant cloud infrastructure that is very cheap and very ... scalable. Scalability is not the problem of the user anymore at least from a hardware, storage and bandwidth point of view. However, applications scalability on the cloud is a very young and immature science ;-)

The EC2 API is in the process of becoming a de-facto standard and most of the cloud provider build their solution on top of this API. Others, like Eucalyptus, re-implement the API with a different toolbox (i.e. : other virtualization technologies) and as an open-source : you can have your own private cloud on your servers.

The Cloud : at least an environment that favor open-source !

If you look at the proprietary/closed-source/traditional licence-based business model they have to adapt to the cloud and somehow switch from a multi-instance architecture to a multi-tenant one. They also have to switch from a per-user licence to a per-usage model.  This involves all kind of interesting gymnastic like the one Microsoft did : 10c/hour/instance. If you "rent" an instance for one year, your cost for MS Windows in the cloud is .10$*24*365 = 876$. Very expensive IMHO : they don't really believe in the cloud. If you are doing the math, you better buy a bunch of  server licences that includes 5 VM : this will be way cheaper.

On the other hand there is no cost involved and no change required to any open-source software is you want to run it on the cloud : just do it ! No licence change, no hassle, almost no difference from a regular deployment in your data-center, no supplier to contact and ask "if you can run it on the cloud/how you can run it, etc.", no special provisioning (to have your precious licence number for each instance or to connect your licence server to your instances).

Moreover, open-source companies that develop open-source software already have a business model that is compatible with the Cloud : their software is already freely downloadable and can be run on any computer. When the old license-based model is used then some adaptation on the business sides of things, for instance usage based vs instance based. When a service-model is used, then no change is needed.

This can be a great opportunity for Open Source : a virgin territory without any legacy players and a business advantage because there is no need to change the existing software to benefit from this new market...


  1. Not really, Amazon is already paying the "Linux Tax" to MS for its use. Pretty soon, this will be passed on to all cloud user(s) unless US patent system fixed.

  2. It is obvious that the existing software and op system companies will only try to use cloud computing as a way to make more money. Why would they do anything else? It will never be truly in the public interest. However, as you say, the cost of hardware is now far lower than most professional software packages. This imbalance will need to be addressed, perhaps software companies will offer dedicated hardware options to go with their packages? But cloud computing is fraught with too many risks for the user and most users will opt for independence on their own hardware, Opensource can offer many advantages to independent minded end users as proprietary software begins to price itself out of the market.

  3. Hello Benoit,

    I had heard the same figures regarding EC2 instances, and was desparately looking for an official source. I finally found it:

    Windows runs on 9.2% of EC2 instances. Other interresting figures on this site, including how it evolves in time.

  4. "However, as you say, the cost of hardware is now far lower than most professional software packages. This imbalance will need to be addressed"

    I find a flaw with this logic. I see no data whatsoever to support this theory - or much against it either. It is complete supposition, and therefore about as reliable as reading tea leaves. Who *says* that software must be cheaper than hardware. Is it written on a stone tablet somewhere ? An absolute law of the universe ? I think I must have missed that meeting...

    There is no correlation between price of hardware and price of software. If we look at general commodity prices historically, it can often be that something that was expensive - the primary cost factor for anything - can experience a depreciation to the point that it becomes the secondary cost. What was a luxury becomes an everyday item for instance. We can see this throughout history.

    Just because things like spices and fruit cease to be an enormous expense - and become everyday cheap items has no effect whatsoever on the price of other related things. Indeed even in the space of one generation, relative prices of commodities have changed - that the order of priority of these has changed has no impact on any other item.

    It may be that in the future, hardware is seen as the cheap mass produced everyday item, but the software that runs on it, is the clever, expensive cutting edge resource. Hence software may be more expensive than hardware - and there will not be some revolutionary reaction to software being *gasp* more than hardware. Or maybe not. Who can say.

    To me however, concluding that the revolution *must* come is a exercise in wishful thinking. It says much about the people that think it, and nothing about the actual reality. A revolution may come, but the relative price of software and hardware has I think nothing to do with it whatsoever. After all, just because we have DVD players that are given away, does not devalue the DVDs that are played on them.