Disclaimer: I am employed by VMware and work with the Cloud Foundry team.
The Cloudbees guys like stirring the pot a bit, which is fine, but I’m taking the bait this time. In several of their blog posts they try and paint OS or virtualization vendors with a broad brush that can't possibly be relevant in the cloud era, which they believe is a very convenient argument for them. Today Sacha Labourey offered some commentary on the recent EC2 Windows free tier announcement and I think he's got it wrong enough (at least about the non-obvious points) that it inspired me to write some thoughts down of my own.
Sacha's outline is something like:
- Microsoft Windows is more expensive than Linux (sorry Microsoft)
- VMware is more expensive than Xen (sorry VMware)
- Paid Linux is more expensive than free Linux (sorry Redhat)
- Hosting margins are smaller than license or subscription margins (sorry licensed and subscription software vendors)
- Windows has weak cloud DNA
- Amazon will be the new Microsoft
- Therefore, try Cloudbees, the closed-source Java PaaS!
To really dumb it down, my take away is that Sacha feels like cloud providers like Amazon will commoditize the operating system and virtualization companies to an extreme almost exclusively because they will have the lowest raw compute cost per hour. He implies that totally free open source software without commercial support will dominate the entire stack and dramatically erode business from commercial and subscription based software providers. Virtualization and operating systems won’t matter as Amazon Linux will become defacto. He thinks we're all going to love the taste of the blandest and cheapest generic cloud beer.
I disagree that server-side operating system and virtualization software will become undifferentiated and therefore irrelevant in the cloud era. If the only prism you view things in is cost per hour of raw compute instances available on-demand, then sure, running Amazon Linux on EC2 is tough to beat. Some fraternity parties make beer selection decisions with a framework like that. However, an overwhelming majority of the workloads don't and won't fit that model. Even if PaaS really takes off, it will run better on great virtualization and operating systems. Public coulds are not the only way to operate cloud era infrastructure. Cloud can be a malleable term, when I think cloud I think multi-data center, physical layer abstraction, high availability, great density, elasticity, self-service, and organization-relevant billing and metering. Vendors that offer a holistic solution that spans public and private clouds and integrates with pre-cloud systems will have loyal customers that are willing to pay a premium over cheaper solutions with gaps. A winning solution will leverage innovations and differentiation in the operating systems and virtualization.
It's not too hard to think of a few examples of why enterprises run Windows which include Exchange, Active Directory, Office, .NET and SQL Server. These customers choose to pay more when there are free Linux alternatives! It would be cheaper for everyone to sustain themselves on ramen noodles every night, yet the restaurant business seems to be doing just fine. Macs cost more than non-Mac laptops, yet I see lots of cloud people using Macs. I believe that generic beer will not be the only option and probably not even the most popular choice on the menu in the cloud era. Customers will pay a premium for stuff that lets them accomplish their goals, which may not be directly aligned with the cheapest compute cost per hour on the blandest stack. Time-to-market, ease-of-use, locality, quality and reliability could all conceivably prioritized over raw compute cost per hour depending on the need. EC2 already illustrates this breadth of menu approach by the variety of OS's supported and different tiers of pricing.
A few other random points. I recently learned that many of the worlds ATM's run an embedded version of Windows blue-screen-of-death jokes aside. Windows has demonstrated it can be optimized for very small footprints.
Amazon Linux might be great for some situations, but Red Hat has indicated that they may not continue letting their operating system innovations to trickle downstream easily as shown by their decision to ship the kernel with patches pre-applied in RHEL 6. Operating system R&D is funded by customers and there will be differentiated features for paid offerings. Why else would Joyent invest so much in SmartOS? Amazon Linux is basically equivalent to RHEL today, but this is a fluid situation.
Cheap beer has it’s time and place, but the majority of customers want choice and are willing to pay for quality on most occasions. Keep yourself honest and try the cheap beer every once in awhile, just to be sure. It reinforces my appreciation that you get what you pay for.
Generic beer image is attributed to pdxdiver from flickr.