|

Elasticity is NOT #Cloud Computing … Just Ask Google

Posted on by Randy Bias

 

In my keynote presentation (free registration required to download) on Day 1 of the Enterprise Cloud Summit at Interop NYC last week some interesting comments followed up in person and on twitter.  I think one particular notion that surprised people was the assertion that elasticity, a property commonly associated with ‘cloud’ and ‘cloud computing’, wasn’t a part of cloud computing, but rather a side effect.

This really goes back to the definition problem with cloud computing.  I have alluded to this in the past; that the Cloudscaling definition is functionally different from many of the common definitions out there today, including the famous NIST definitions.  Why do we think about this differently and why does that mean that elasticity is overblown as a property of cloud computing?

The rest of this post is an illustrated walk-through of our thinking.  Please click through (below).

The Start of a Thought
As many of you know, I’ve been working in the cloud computing space and blogging about this area for a very long time.  When the definitional problems started, along with the bickering in mid-2008, I started thinking:

Are ‘cloud’ and ‘cloud computing’ the same?  Is there commonality between SaaS, PaaS, and IaaS that we’re missing?  What did Salesforce.com/Force, Amazon EC2/Amazon.com, and Google/Google App Engine all have in common?

The conclusion I came to was a sort of ‘aha!’ moment.  I realized that the large web operators had essentially built whole new ways of building IT.  Something that was fundamentally different to what went before.  I also realized that a big part of why the definition problems existed is because the change was so massive that it was affecting everything in IT, not just some part, like storage or application development.

Finally, I also realized that the bottom layers of IT, particularly the most common ones used every where such as servers, storage, and networking, were being treated in a completely different way by Amazon, Google, and company.  These folks were not following the standard play book.  In some ways they were following the playbook with the layers above servers, storage, and networking.  For example, they used standard programming languages to build their applications, such as Python and Java.  These had not changed.  The applications being provided were the same as those before, like e-mail, search, and recommendation systems.  Storage, compute, and networks were very different, however as were the ‘platform’ layers directly above them that allowed ‘pooling’ of these resources (e.g. GoogleFS).

What really changed matters though is that many of these pioneers took a whole new approach to running the lower layers of IT: datacenter facilities, the infrastructure architecture, and the direct layer above physical resources that creates a common datacenter platform.  Something Google calls warehouse computing (PDF), but we simply call “cloud computing.”

Public utility cloud providers exist because “warehouse” (cloud) computing is now possible at a massive scale for low cost.  Commoditization begets utilitization. Something pioneered not by enterprise vendors, but by Amazon, Google, Microsoft, and the like.

Cloud Computing as a Continuum of IT Infrastructure
In Nick Carr’s famous book, Does IT Matter, he argued eloquently, providing copious examples, that most business infrastructure goes through a fairly common cycle.  This cycle is well-understood and more of a force of nature than anything else.  What we are seeing now with cloud computing is nothing more than this cycle replayed again with information technology (IT), just like it has with electricity, roads/highways, banking, and telecommunications before it.

Here is a diagram that illustrates the cycle.
nick-carr-adoption-curve

This cycle also maps directly to the three clear phases that we see with IT infrastructure:

nick-carr-adoption-curve-colorI think this really says it all.  For us, cloud computing is a whole new way of delivering IT services, particularly at the infrastructure level that does not look anything like what has come before.  In the same way that Mainframe and Client-Server computing are very very different.

Another way to illustrate this is to look at the approaches that each of these take:

mainframe-clientserver-cloud-evolution-blue-and-black

I’m not going to go into this matrix in detail right now, but whether you disagree with aspects or not, I’m certain you can see the trend occurring in the diagram.  Cloud computing definitely appears to be an evolution of the way that we create IT.

Elasticity As Side-Effect
Which brings me to the basic argument.  If the following are true about cloud computing:

Then we have to look carefully at how and why an Amazon or Google did what they did.  The diagram I used to explain during my keynote:

causation-results-side-effects-cloud-computing

Large Internet business needed scale, cost-efficiency, and agility to be competitive.  Google is 1 Million servers.  Amazon.com releases new code thousands of times per day.  Microsoft runs 2,000 physical servers per headcount.  Google runs 10,000 per headcount and aspires for 100,000.  Google and Amazon use little or no ‘enterprise computing’ solutions.

So what happened?  The causation resulted in high levels of automation, a devops culture, use of standardized commodity hardware, a focus on homogeneity, etc.  The end result is a system that lends itself to being turned into a utility (aka ‘utilitization‘.  Hence the arrival of public clouds.  One of the side-effects of using cloud computing techniques to build an IT infrastructure is that now those platforms or applications built on top of it can leverage the automation to get elasticity (benefit), pay-only-for-what-you-use with metering (benefit), and other autonomous functions (benefit).

Again, these benefits are essentially side effects of cloud computing, not cloud computing itself.  The gray section labeled results above represents a number of the core aspects and features of cloud computing.  This is why the arguments about the existence of internal ‘private’ clouds can be so bitter[1].  From a public cloud provider perspective, an internal infrastructure cloud is simply an automated virtual server on-demand system, missing many of the aspects of cloud computing above.

Conclusion
Are on-demand automated virtual machines an infrastructure cloud?  I would argue no.  That’s not ‘new’.  Again, we need to look at what the large web businesses such as Amazon and Google did that has changed the game.  It wasn’t elasticity, it wasn’t automation, and it wasn’t virtual machines.  It was a whole new way of providing and consuming information technology (IT). If you aren’t following that path, you aren’t building a cloud.

Ask yourself, before you buy that new shiny hardware appliance or enterprise vendor cloud-washed hardware solution:

What would Google do?


[1] Don’t miss my post earlier this year on private clouds.

This entry was posted in Cloud Computing. Bookmark the permalink.

|

  • http://www.porticor.com Gilad

    Interesting argument, and valid in many ways, though it does not completely cover what SalesForce did at the invention of SaaS. Do you think SaaS is part of cloud computing?

    Would appreciate your thoughts.

    • http://cloudscaling.com randybias

      There are two parts to the answer. First, SFDC did not invent SaaS. What they did is reinvigorate the idea of software application development and delivery. Web applications existed before SFDC. Few were sold into the enterprise though. SFDC really 'solved' the business model problems: what is it? what does it cost? who will buy it?

      Second, no, I don't consider SaaS 'cloud computing', but I do consider it 'cloud'. Cloud is the ecosystem of capability that is connected via the Internet and epitomized in being delivered as a service instead of a tangible product. Think 'cyberspace'. 'Cloud computing' is a new way of building IT derived from the needs of new 'cloud' apps and services. That new way of delivering the underlying IT resulted largely from achieving a kind of scale that allows everyone on 'the cloud' to connect to a single system.

      Many will take umbrage that I don't think SaaS is 'cloud computing', but that is mostly because of a pathological need to be part of the hype cycle. What's new is new. Software application delivery over a network is neither new, nor particularly interesting. The business model that SaaS exposed is new and interesting. The particulars around 'cloud computing' however are both new and extremely interesting in that they have never been successful before.

  • Pingback: Tweets that mention Elasticity is NOT #Cloud Computing … Just Ask Google | Cloudscaling -- Topsy.com

  • Pingback: What is the Sound of One Cloud Thunderclapping?

  • Pingback: What is the Sound of One Cloud Thunderclapping? | Digital Asset Management

  • http://walteradamson.com Walter Adamson

    I saw your comments re Bob Warfield's response, and posted the following over there: http://www.enterpriseirregulars.com/28481/what-is-the-sound-of-one-cloud-thunderclapping/

    “OK I see what Randy is driving at, I hope! To the supplier it is not elastic it is simply a bandwidth management and capacity management/utilization problem, over fixed assets or a “sunk cost”. Unless they are in a grid to a 3rd party cloud provider. To the consumer it is elastic. To the provider it is about capital and risk management, and the consumer about economies and responsiveness, sort of….”

    Walter Adamson @g2m
    http://xeesm.com/walter

    • http://cloudscaling.com randybias

      Exactly.

  • Mike Kavis

    My company uses Amazon (IaaS) to build a retail platform (PaaS). Elasticity is something we have to design for given the tools that Amazon provides. So the “cloud” does not give me elasticity, yet I use the “cloud” to deliver it. However, my customers get elasticity when they sign up to use our solution. So if you ask our customers, they would say elasticity is what you get when you go to the “cloud”. If you ask me, I would say you need to architect for elasticity. Not sure if this is relevant to your conversation but these are some thoughts that raced through my brain as I read your post. Good post,Randy!

  • http://thestateofme.wordpress.com Chris Swan

    Randy, what do you think of Kate Craig-Wood’s observation that services like EC2 are ‘plastic not elastic’, meaning that you need to do stuff (either manually or with a 3rd party tool) to make things scale to the demands being placed on an app?

    • http://cloudscaling.com randybias

      It makes perfect sense to me. I think the challenge here is separating the functionality from the pixie dust. All too often vendors and cloud providers are selling the pixie dust. Is it more important that a cloud is magically ‘elastic’ or that you can be guaranteed to add new capacity at a certain usage rate *somewhere* using an API? I would say the latter. Where is the hue and cry for AWS to provide SLA guarantees for provisioning a new VM? That would make building elasticity into your app easier. Instead, the discussion is about elasticity pixie dust and ‘auto-magical’ scaling.

  • Pingback: Cloud Core Principles – Elasticity is NOT #Cloud Computing Response | CloudBzz

  • http://www.johntreadway.com John Treadway

    Randy -
    Very well-reasoned post (as usual). I was with you right up to the end. I see your three causal factors in many enterprise clouds. I also see constraints that greenfield environments like Amazon or Google don’t have (GRC – gov/risk/compliance, political dynamics etc.). More importantly, out of the back end of their specific versions of your middle tier they can achieve the side-effects of elasticity, metering, self-provisioning and auto-scaling. Not that they always do, but often they can get all 4 of these side-effects.

    I just generally don’t agree with the statement that a private infrastructure cloud is not a cloud. But I need more space than a comment, so see http://bit.ly/dcGXG8 for the details.

    • http://cloudscaling.com randybias

      That’s not my argument. If the private cloud looks like Goog/AMZN, then it’s a cloud. That’s my point.

  • Pingback: Cloud Innovators: Netflix Strategy Reflects Google Philosophy | Cloudscaling

  • Pingback: Cloud Computing Came to a Head in 2011 | Cloudscaling

  • Pingback: Cloud Computing Came to a Head in 2011

  • Pingback: Elasticity is NOT #Cloud Computing … Just Ask Google | Cloudscaling | bcnbatcave.com

Required Reading

Recent Posts

Categories

Discussion


Tags

Cloudscaling Successes

Cloudscaling delivers on open cloud solutions that meet our customers business needs

Open clouds for cloud storage solutions
Open clouds provide cost-competitive public cloud offerings

Cloudscaling Careers

Open clouds are changing the game. You can too, by joining the world's most innovative cloud engineering team. Hack on OpenStack, work with other brilliant minds, and have fun while doing it!
Take a look at our career openings.
© 2012 Cloudscaling   |  
Simplicity scales.