Overloaded to Death, “Cloud” Computing is Dead

I’ve gotten to a point where I won’t argue it anymore.  The word Cloud as defined on Wikipedia

“location-independent computing, whereby shared servers provide resources, software, and data tocomputers and other devices on demand, as with the electricity grid. Cloud computing is a natural evolution of the widespread adoption of virtualizationservice-oriented architecture and utility computing. Details are abstracted from consumers, who no longer have need for expertise in, or control over, the technology infrastructure “in the cloud” that supports them.

has been overloaded to such a large degree that it doesn’t actually mean anything anymore.  Cloud computing has become a casualty of media hype.  Utility computing, service oriented architecture, virtualization, and other things still have meaning, but cloud computing really is lost.  We have cloud services in Office 365, which isn’t particularly stored or operated from the cloud.  We have vertically distributed, geographically dependent databases & other services with are called cloud, but also don’t meet the basic definition above.  We have private cloud computing, which also is a perversion of the definition above.  Basically the term cloud has been stuck onto anything technology related.  Your phone, your website, your car, your everything is now all of a sudden supposed to be provided by the cloud.

In laymen’s terms, “The cloud is bullshit.

I feared this would happen at some point, because the underlying technology of the original ideal around cloud computing is still very intact, very valuable, is drastically disruptive, and marks a massive change in the technology industry.  Virualization, horizontal architectures (hardware & software, PaaS, IaaS, and SaaS are already and will continue to change the enterprise, startup, and worldwide business landscape.

Why am I rambling on about this?  What is my frustration?

When things are redefined that means we, the practitioners, programmers, and users of actual utility, virtualization, and other computing that we had defined as cloud computing will have to find new language to use in defining this revolutionary shift in capabilities.  The specifics that are now needed in each conversation becomes required, the understanding now desperately needs to increase.  Let me provide an example of why.

Imagine a CTO or a CIO that is working with his or her team to identify a way to utilize cloud computing to enhance their services, increase their uptime, and generally utilize this new technology within their enterprise in which they work.  Say they’ve been turned onto the idea of a private cloud.  Not a virtual private cloud that’s hosted in the public cloud (like AWS’s offering), but just a big huge box that sits in their data center.

  • Does it provide location independent computing?  Nope.
  • Does it provide auto-scaling capabilities like AWS, Azure, Rackspace, or others?  Nope.
  • Does it offer the assumes virtualization, service orientation, or other features?  Questionable.
  • Does it offer the resiliency of connectivity like a geographically dispersed utility computing service?  Nope.

But that CTO or CIO will be told over and over that it is a cloud, a private cloud, one of their very own that they can take and hold and hug and love.  But it isn’t cloud computing by the definition on Wikipedia.  It isn’t cloud computing by definition of those hard core developers, web application experts, and others that have been using cloud computing for years now.  It isn’t for those marketers that have been bringing the message of utility, virtualization, and other features.  It’s a misrepresentation by the sales people and media who just want to put stickers with little clouds on everything and shove it out the door to clients who will shell out big money for things that say cloud.

I don’t have much of a problem with that, I’m just perturbed that now I have to explain even more about what cloud computing really is versus what it isn’t.  Now every time I talk to someone new in the field – in addition to the fear & misinformation about security in the cloud (It’s secure already, so drop it – it’s more secure than your data center you can be sure), I now have to explain to people that Office 365 is a SaaS Service, that isn’t particularly in the cloud yet (last I checked it isn’t running on Windows Azure, but it will or should be in the coming future).  I have to explain that Compute & storage that is limited to one geographic area stuck in your data center is called a “computer”, or maybe at best referred to as “High Performance Computer”, but it doesn’t meet the cloud computing definition or the generally accepted understanding of what entail cloud computing.  The number of explanations to keep conversations honest have just drastically increased.

Thanks media, you’ve just made my job harder.  For those still learning in the industry, beware of the misinformation out there, it’s become rampant!

…got that out of my system.  Now on to actual development with utility computing, on virtualized images, within a highly distributed, node based, geographically dispersed computing network system.  <-  How do ya like those apples?  Specific enough?  🙂

16 thoughts on “Overloaded to Death, “Cloud” Computing is Dead

  1. Great post!

    I like to use “anonymous service” concept to define real cloud computing. I think all the previous offerings are still falling short of what cloud computing should mean, and are more accurately described by your final paragraph.

    When you have to know that data X is in region A, it isn’t really “in a cloud”, it is in the drive you are renting in region A. My explanation:

    http://redeyemon.wordpress.com/2010/02/07/the-difference-between-utility-and-cloud-computing/

    1. I’d just say, HTML 5 isn’t even born yet, and Web 2.0 is very much alive. It’s on almost everything you see out there. But I digress… 🙂

  2. Cloud computing has only ever been a marketing push on the part of a few companies with vast resources in order to monetize under-utilized assets. None of the items on your bullet list are technologically anything more than what you get when you have a network and computers on it. It just happens that Amazon and Google are huge and have such large networks they can profitably rent their servers out. The only new thing that’s automatically scaling on the cloud is the billing.

    What you get with the “cloud” is scalability insurance. Of course, if your business explodes, it would be far cheaper to run your own data centers–after all, Google and Amazon are not operating their “clouds” at a loss out of the kindness of their hearts. On the other hand, if your business doesn’t explode, you’re signing up to be a victim of their obtuse billing practices which boil down to “try it out and see if it’s cheaper.” If you compare fully utilizing the storage and bandwidth of a VPS to what that would cost over Google or Amazon, you’ll see you’re paying a nearly 10x markup for the same resources just for the privilege of doing it on-demand rather than up-front. This is setting yourself up to be blindsided by a black-swan spike in utilization. And of course, GAE and the like have radically different proprietary interfaces that make it extremely unlikely that you would be able to pull off a port to a traditional web-host in a hurry. Seems like a very unwise business practice to wire your expenses to a sliding scale like this, especially when 98% of business models do not have the scalability problem in the first place.

    This is because most businesses don’t make their money by exploiting large, dense graphs. I think the marginal utility of yet another application that makes use of large, dense graphs is getting dangerously low. Notice Google and Amazon make their money on something other than writing the kinds of applications that produce scalability problems with small numbers of users or low amounts of usage. Also, notice Facebook runs their own network despite the supposed amazing scalability advances of “the cloud.” If it’s not economical on the low end or the high end, what makes you think it’s economical anywhere else? If this isn’t about saving money, if it were truly about technology, there would be new technology here rather than glorified server provisioning and a bunch of proprietary interfaces to it. What could “the cloud” possibly be about besides branding and helping a few very large companies make a little more money? Google and Amazon are, after all, quite good at recognizing business opportunities and using them. And don’t kid yourself about Rackspace or Azure. Azure is nothing more than Microsoft’s obligatory product for this niche, and Rackspace certainly is aware of which things they do to achieve buzzword compliance versus where they make their real money.

    This whole thing is just another sad round of the centralized vs. distributed game we’ve been playing in computer science for the last fifty years. As Keith Braithwaite observed, “It’s a curious thing about our industry: not only do we not learn from our mistakes, we also don’t learn from our successes.”

    1. Your first paragraph is misleading. AWS & Windows Azure started their cloud services as an autonomous branch of the company. They did NOT rent out excess capacity. This is merely a myth.

      The second paragraph is also untrue except for some businesses. In some instances it is cheaper to stay in the cloud, and in some instances it is cheaper to build your own data centers. The billing practices are easy enough to understand also, it only takes someone with a 3rd Grade Education to sit down and do the math. It’s a bit confusing at first, but if you realize what you’re doing (which you should if jumping into technology), then it isn’t brain surgery.

      GAE is difficult – a little – in the aspect you say. However with AWS, Rackspace, Windows Azure, and others you can have a site up and published anywhere from 2-3 minutes to 10-15, depending on what OS, how many instances you want, and other criteria. It is much easier to publish in this manner than in traditional environments that need to concern themselves with physical machines.

      …meh, anyway, I see your points. However they are all just a bit over-simplified and pessimistic. You argument here would be grounds to call the whole technology industry of the last 30 years nothing new.

      But I digress.

      One last thing – I’d bet Facebook’s network is built out almost identical to cloud infrastructure. Just because they aren’t using GAE or AWS doesn’t mean they’re not doing practically the same thing.

      1. Much as I appreciate your diss in the second paragraph of your reply, the arithmetic for calculating the cost is quite simple, but depends on having knowledge that cloud customers are selected for not having.

        Most anyone who has been writing PHP for more than two years can get up and running on a VPS in only a few minutes longer than it would take with GAE, but also be able to migrate to many other VPS providers without substantially more pain. The point of cloud computing isn’t having your trivial site up in 2-3 minutes, is it? I thought it was all about that scalability.

        On FB, my point is exactly that they have the same infrastructure internally, because there’s nothing magical about the cloud, it’s just infrastructure. But they’re not renting space on Google or Amazon, because it’s not cost effective at the high end. Which leads back to one of my core points, which is that the cloud is neither technologically interesting nor cost effective over VPSes or having physical machines.

        I would say you’ve hit the nail on the head about the last 30 years of technology. I think if there were zero innovation apart from hardware continuing to become cheap and widely used, I would have trouble saying life is worse than it is now. Definitely the last 20 years. We could be using Standard ML, the only language with fully specific semantics, but instead we switched from C to C++ and Java, bringing with them different kinds of unbearably inhuman complexity. We could be using Plan 9, the successor to Unix with truly integrated networking and distributed computation–a true platform to build cloud-like services on–but instead we’re using the Unix clone written expressly to the lowest common denominator. We could be using message passing instead of threading, we could be using a truer relational calculus rather than SQL, and so forth. It’s as though we chose wrong every time. We live in a world without a reliable networked filesystem, and instead we have so many logging frameworks in Java we have to have a meta logging framework to abstract over them. Now that I think of it, I would miss ZFS, HTTP, and Haskell, but I can’t think of too many other successes we’ve had in the last 30 years.

        Like most pessimists, I would say I’m merely a realist. The cloud never was your savior, so there’s no sense pining for the days when you thought it was. It never was anything more than marketing. If you want to do something good for technology, find a way to delete two lines of code for every line you write from now on. Avoid busy work but accept that some code just has to be written by a human and not hidden behind an abstraction layer.

        Thanks for listening to my crazy rant. I’ll return to irrelevance now.

  3. I feel your rage. “Cloud” is going the way SOA went 10 years ago. A fine technology, grabbed by the marketers, lulled into CTO and wanabees heads and finally raped beyond recognizability. In three years we will see layer of layer of meta-layer of security, accessibility, data access. The Eclipse plugin will be 100MB. Good bye cloud!

  4. From an IT Architects perspective cloud computing has meant a huge loss of control in service and quality just as outsourcing has. For the cloud or outsourcer vendor everything has been about getting that contract and once they have it doing as little as possible to extract maximum profit from the contract. Then people like me have to somehow keep things running but never bring up the fact that the outsourcer is incompetent because that would reflect badly on the upper management who signed the contract and got a their bonus for saving the company money or whatever nonsense they use to justify totally hosing quality and service.

    1. I definitely agree that cloud computing is significantly harder to have the same quality of service as physical computing gives. In theory, it will be up more, but in practice there are a lot of problems which make that not the case.

      It can now be totally automated, but this is so difficult no one has done it yet, except as a complex patchwork which is difficult to predict the side-effects of changes to the system.

      The previous methods for admining physical systems were much better worked out, and had created a stable framework for running applications and services. Now, it’s back to the drawing board on getting those things right, and hype sells better than strong engineering in that front, making matters worse.

  5. Geoff – You may have some truth in that statement if you remove the cost factor. Include the cost factor and cloud computing beats physical computing in almost every measure; uptime, performance, resiliency, etc.

    As for it being automated, there are many companies that automate and enable thousands of machines (instances) to be under the perview of a single business with a single administrator if need be. The ratio is drastically different, and vastly less expensive than physical computing administration and maintenance. I’d love some links or thoughts on what you’re referring to though.

    Even though I am discontent with the usage of the words to describe cloud computing, or “cloud” almost anything, it doesn’t mean I’m not an advocate for cloud computing in general. Node based storage, with parallel compute among instances, and these core cloud characteristics are truly the future of computing. The other notions that SaaS == Cloud Computing is however a load of nonsense.

    1. I’m not sure I can agree with you at all on cost, all current offerings are 2-3x more expensive than if you did it myself, which is a major expense. You are paying for the same things they are paying for, with less of a break for less bulk, but the services still have to be paid for. Then they charge you a surcharge of top of those services.

      All cloud offerings are significantly more expensive than if I ran those operations physically myself.

      As for total automation, I dont believe any of the current service offerings come close to my definition of this. Single admins could run a lot in physical environments as well (I’ve done 200-500 machines by myself a number of times over the years), but without needing to deal with the physical boxes and having decent provisioning made this easier for more single admins to do.

      However, the overall quality of the systems, in terms of performance and reliability compared to cost is down significantly, it is just covered up by it coming up faster. More failures, with faster recovery times due to not needing to set up physical replacement machines.

      IMO: SaaS/PaaS + Utility Computing (EC2-like) = Cloud Computing, for a good enough definition, not that definitions are the most important part.

      Anyone, I like where we are going, but we are in a low point at the moment, not a high point. It’ll get better as APIs evolve into covering all the cases that are required, which they current miss in a number of areas.

Comments are closed.