Cloud computing remains one of the big topics in software this year despite considerable and ongoing concerns over lock-in, lack of control, and security. The siren song of ease-of-development, reduced costs, highly elastic scalability, and next-generation architectures has many in IT and in the Web community carefully weighing the benefits and risks.
This puts open source on individual installations at a distinct disadvantage with the cloud. Along the way, open source has become a key enabler for cloud computing by providing both cheap inputs (as in free) as well as rich capabilities to providers of cloud services. The writing, however, is beginning to appear on the wall: the cloud computing industry will use open source as leverage for a new generation of proprietary platforms-as-a-service, very much like the established Web 2.0 services in the consumer space have used open source platforms to capture and create lock-in around data.
Dana Blankenhorn's coverage last week ("IBM expects Linux to make money") of that company's re-emphasized focus on the bottom line with open source puts cloud economics on the front line of major computing vendors:
IBM is tightly focused on server sales and the development of clouds, which can be sold, rented, or deliver profitable services.
For cloud computing, “why wouldn’t you run it on Linux?” [IBM's Bob Sutor] asked, because Linux can deliver all kinds of virtualization and those who want Windows desktops need never know they’re not.
Thanks to clouds IBM can profitably deliver thousands of desktops that look like Windows but have Linux on the back-end. It can also sell servers that are compatible with its clouds at the deepest level. [snip]
Sutor and Zemlin also discussed what might be called the “corporate-cloud boundary,” the point in the growth of an enterprise system where building a cloud starts to make economic sense. Clouds start to make sense when heavy virtualization takes place, Sutor said.
And Linux will make IBM money when used in cloud-based products which are metered to customers, often by the hour. One big reason that open source will help fuel the rise of cloud computing, while often becoming second fiddle to platforms in the cloud, is that software is only a component of a computing environment, albeit an expensive one and cloud economics almost always favor the incorporation of open source products. However, something that open source has only been partially successful at incorporating as a value creator (essentially, only the cost of development) is what IBM's Sutor clearly stated: economies of scale.
It's not that cloud-enabled services such as Ubuntu with Eucalyptus can't provide cloud services; they can. However, they aren't part of a finished solution and don't create an ecosystem that provides intrinsic economic or technical benefits in a situated setting. This is because a significant part of building a robust and successful cloud computing environment is creating a complete and compelling finished solution that includes infrastructure, management, research & development, and support. All of these come together to create a service comprehensive enough that computing can take place, or significantly, can be an effective target environment for outsourcing. When a computing ecosystem consists of multiple stakeholders that depend upon it, costs and effort can then be distributed. The more customers a cloud provider has, the better the outcome for the cloud provider and its customers (eventually becoming "too big to fail", an additional cloud computing issue that's outside of this discussion, but an important one as well.)
At the end of the day, cloud providers generally have two major advantages they can offer to the marketplace: better ways of doing things or lower costs. By applying economies of scale to both areas (both infrastructure costs and R&D can be distributed across all customers, for example), clouds offer a more complete and compelling solution than open source alone can.
The confusion between the practical application of economies of scale and the theoretical ideal of returns from scale arises from the fact that major fixed costs, like an investment in a large cloud data center or from centralized, dedicated research and development, are an important source of real world economies of scale. In classical microeconomic theory there can be no increasing returns to scale when there are fixed costs, since aggregating investment won't help improve the economics. This puts open source on individual installations at a distinct disadvantage with the cloud.
Open source: A cloudy future
So what are the options for open source to stay competitive with cloud computing? How can it evolve in a world where the entire computing solution itself has becoming a commotidized product? It's clear that the open source model has led to one of the richest and more compelling outcomes in the history of technology, but it becomes just a cog in the machine again as we witness return of proprietary computing platforms, this time with serious economic machinery built-in.
Fortunately, there are at least several possibilities:
A cloud cooperative. One would be an effort to create an open source infrastructure for cloud computing, a sort of cloud cooperative model that allows economies of scale to accrue yet returns innovations and best practices to the community that built it. Theoretically, this would extend the benefits of open source into the full computing stack by build all elements of cloud computing using an open business model. Such an open cloud cooperative could actually end up being the largest single cloud ecosystem, except for the Web itself which itself is a simple model of what we're talking about.
Federated clouds created by open source. The second would be to take advantage of the emerging standards around cloud computing and dynamic provisioning to encourage easy interoperability and shared infrastructure between similar data centers. This would allow enterprises that wanted to combine and pool their own individual resources to achieve better scale and economies to join forces and create their own virtual private clouds. Where does open source come in? Real interoperability would have to be an intrinsic capability of the underlying OS platforms, such as Linux. By being a direct facilitator for groups of organizations that want to create economically efficient combined clouds out of the resources they already possess, open source can actually be not just the essential man-in-the-middle, but the genesis of truly federated clouds, something that will often make a lot more sense than centralized clouds.
There are probably many other ways to use open source to make sure cloud computing doesn't erode open source's advantages to the world of computing. Please contribute your comments in Talkback below.