What is the Sound of One Cloud Thunderclapping?
Posted by Bob Warfield on November 1, 2010
I just finished reading Randy Bias’s piece, “Elasticity is NOT #Cloud Computing … Just Ask Google“, and I must admit, it takes me back to all sorts of questions of a vaguely unsettling nature that have been bubbling below the surface of my cloudy thinking for some time.
If Elasticity is NOT Cloud Computing, and I profoundly disagree with that statement, then what the heck is Cloud Computing? I admit to already having been pretty skeptical about whether Private Clouds are really Cloud Computing, but I got over that from an understanding of elasticity and private clouds. However, if we take away Elasticity, and make whatever is left Private, I’m not sure we have anything profound whatsoever. How does it differ from an outsourced data center, for example?
Randy seems to have come to his position about elasticity by looking at the large web operators like Amazon, Google and Salesforce who offer Cloud platforms of one kind or another (IaaS, PaaS, and the rest of the alphabet soup). He’s interested in their history, why they built the kind of infrastructure they did, and why that turned out to be an ideal platform from which to offer Cloud Computing offerings. My problem is that the mere fact that Amazon did not get the Elasticity benefit from its Cloud that AWS customers can does not in any way diminish the revolution that is the Cloud and that comes with Elasticity. Without customers, these fancy Amazon and Google data centers are literally the sound of One Cloud Thunderclapping (because Clouds don’t just clap in the sense of the old Zen saying). I don’t see how you can regard those data centers as “Cloud” at all. A term more like “commodity computing” data center, perhaps with some form of “virtual” thrown in makes more sense. Interestingly, it is the addition of the customers to their data centers that exposed Amazon and Google to a little elasticity. Why? Because now they have customers to help pay for excess computing capacity and hence elasticity. What a beautiful thing, and another strong argument for why elasticity changes everything.
The term “Cloud”, in any sense I’ve ever heard it used, is a service of some kind provided by one organization and shared (this sharing is critical) by many other independent customer organizations. Thinking back on the idea that Amazon’s data center wasn’t cloud until they flipped the switch and started sharing it with customers (that’s the point where they got elasticity too), you can see that the ideas of “sharing” and “independepent customers” are critical. Without both, there is no way to pay for the excess capacity that is elasticity, or at the very least, if the sharing is the sort pushed by companies like VMWare to up server utilization, it isn’t quite the same as having real net positive dollars coming in from paying customers, versus simple cost savings.
This is where I get into trouble with the Private Cloud concept. Yeah sure, people are interested in building data centers that use technology similar to what the “Cloud” vendor’s data centers use. Yeah sure, there is some benefit to that. Those technologies were developed by organizations that needed to commoditize their data center services into as cheap an offering as possible. But to call that Cloud Computing sure seems like gratuitous marketing to me. If nothing else, it radically understates the challenge those organizations faced. A little bit of storage virtualization, a healthy dose of VMWare-style machine virtualization, and do you really have the full benefits of Cloud Computing? Not in my book. You just have a modern data center.
There are steps beyond that to take advantage of. And the advantages are enough of a quantum leap that it isn’t fair to award the accolade “Cloud” for anything less. If you do, you’re just engaging in gratuitous marketing, trying to draft somebody else’s hype and momentum. I am already on record as arguing for the definition of Cloud being two things:
- It is Software as a Service. I sometimes refer to this as “Ops as an API”, meaning rather than crawling around cages and machine racks, you perform ops by making API calls on your Cloud infrastructure.
- It is Elastic. Yep, I refuse to separate Elasticity from the Cloud, though Randy’s piece wants to leave it more in the camp of simply “Data Center as a Service”.
So then what really is a Private Cloud, and can we still call it a Cloud? If you include the Software as a Service Piece, and the Elasticity, I would say “yes”. The difference between a Public and Private Cloud is simply that in the Private case, the Customer paid the service provider to decouple their Private Cloud from the rest of the Public Cloud so no network traffic can get into the Private Cloud without its full knowledge and consent. This is no biggie–it’s a subnet with the additional proviso that we don’t run anyone else’s Cloud Software but the one owner of the Private Cloud insider that subnet. This is actually a pretty good deal for all concerned. The Private Cloud user still gets nearly all the benefits of the Public Cloud user. They do not get quite a good a price as they must monopolize the hardware to a greater extent than their Public brethren, but it is still a great deal. Elasticity is still available to them, as is “Ops as an API”. If your Private Cloud lacks either one of those characteristics, you have a modern data center, but it isn’t Cloud, despite what your vendor’s marketing people want to tell you.
Why do a Private Cloud?
Largely to reduce perceived risks. The risks boil down to security and performance. The Private Cloud is presumably more secure, and its performance is more predictable because no unknown Public Cloud tenants can get into the Private Cloud and do unknown things.
There is one more advantage I will mention for the Cloud, which very much does include Elasticity, versus the Modern Data Center, which uses some Cloud technology, but has no Elasticity and is not a Cloud:
You Cloud Vendor may have more buying power than you, more technology they have amortized over more customers, and hence a lower cost to deliver the service than even relatively large corporate data centers can attain. Hey, if it was easy, everyone would be doing it, instead of just everyone claiming to do it.