Cloud computing hype overload

I’ve been working with what I used to call “utility computing” tools for about 6-9 months. However, for about the past 2 months, I’ve been seeing the term “cloud computing” all over the place, and there is so much buzz surrounding it that it’s reaching that magical point best described using Alan Greenspan’s words: “Irrational Exuberance”.

When Alan Greenspan used those words to describe the attitudes of investors toward the markets, what he was basically saying was that there were people who didn’t really know what they were doing, putting more money than they ought, into things they knew relatively little about. Further, he was saying that the decisions people were making with regards to where to put their money were a) bad, or at least b) not based on sound reasoning, or the ‘facts on the ground’.

This, I think, is where we are at with “cloud computing”. The blog post that put me over the edge is this one, for the record. I read Sean’s writings often enough, but this one strikes me as being a little off, a little sensationalistic, not based in reality, and a little misleading.

Maybe he just didn’t put enough qualifiers in there. His post might make more sense if he limited its scope and provided more facts, but I guess it’s just an opinion piece so he decided not to go that route, and that’s his prerogative I guess.

By limiting the scope, I mean he should’ve realized that there are millions of web sites currently scaling quite nicely without the use of cloud computing. In addition, some of the new ones that are having issues are also not using cloud computing, and when they hit bumps in the road, they make it through, and the great thing is that they also share their stories, and those stories indicate that a cloud (or, the current cloud offerings) wouldn’t have helped much (there’s lots of other evidence of that too). What would’ve helped is if they had paid more attention to:

  • monitoring
  • initial infrastructure design
  • their own app code and app design
These aren’t issues that cloud computing takes away. What’s more, cloud computing is something of a moving target, many of the solutions aren’t as mature as you’d want them to be if you’re betting the house on them (EC2 only recently got “elastic IPs” and persistent storage is still not there, AppEngine only supports Python and has some rather severe limitations on functionality of your app), and they introduce a potentially large learning curve both in terms of how the individual services work, as well as how the heck to make your app fit into the cloud solution of your choosing. Think SimpleDB scales? Well, it does, but it’s also not a relational database, and doesn’t guarantee…. much of anything, including data integrity. You can’t interface with it using the drivers, interfaces, and language you’re used to using, either, because it’s not just a mysql wrapper or something – it’s a new beast entirely. Enjoy!
This is not to mention, of course, that some people have absolutely no choice but to scale without the help of the cloud, because corporate policy, common sense, or other forces mean that they can’t have their data passing through non-corporate-owned machines and/or networks. Also, Sean omits any mention of the cost factor, which is often a huge driver in getting startups to use these services, but may not really make the move “worth it” in some cases.
Anyway, in short, all I’m really saying is that it’s disingenuous to say that the future of web computing is “the cloud” because “only the cloud can scale”. That’s just silly. Non-cloud infrastructures can scale fine depending on the balance between the demands of the application and the funds available. The future of web computing will probably involve shared, utility computing architectures, but the future doesn’t depend on cloud computing.
  • http://karwin.blogspot.com Bill Karwin

    Total agreement. There have been distributed computing buzzwords flying around for as long as I can remember. Middleware, CORBA, DCOM, EJB, Grid computing, Peer-to-Peer, etc.

    All of these technologies have important uses, but none of them took over the world as their marketing rhetoric suggested they would.

    These technologies incur additional cost to manage the architecture. Naturally, any application that can do the same job without using a distributed architecture is cheaper and therefore more competitive.

    See also:
    http://en.wikipedia.org/wiki/Fallacies_of_Distributed_Computing

    Unless you have a system that truly needs to be distributed, it’s simpler, more reliable, and more efficient to use a conventional architecture. Not everyone works on the Google File System.

  • John

    I agree with all the arguments you make and for many applications or websites the current offerings of the cloud leave much to be desired. That being said I think the real problem right now with the idea of cloud computing is that it is in its infancy and what is available to developers outsides the likes of Google, Amazon, Ebay, Yahoo, etc are orders of magnitude worse than that of those inside these companies.

    Having worked at one of these companies, one does have to change a lot of thinking about how to design software to utilize technologies more like Google’s BigTable or Yahoo’s Hadoop but there is a reason that all these previously listed companies design and utilize these massively parallel systems. They work or at least work better than anything else out there.

    The project I worked on started with one MySQL database, ended with over 100 all while upgrading hardware constantly. The pain and limitations that this brought were much worse than the idea of of losing a letter or two in ACID. Now before people scream that you can’t do things without ACID, sometimes you don’t need all of it. Its not necessarily important that an update be instantly viewable by all other readers. You want to guarantee it will get there eventually (usually within 10s of milliseconds), but it doesn’t necessarily have to be atomic. Now obviously this does not make sense for writing ATM software or some other textbook example.

    Either way I won’t continue to ramble and still agree that a badly designed application using one of these grid frameworks would be infinitely worse than a decently designed traditional 3 tier setup, but my guess is that the companies I listed above didn’t start with the buzz of grid but ended up there (somewhat simultaneously) due to necessity. I look forward to improvements both in MySQL and other traditional technologies as well as the development of infant technologies like Hadoop, HBase, and others. Nothing like competition to keep things moving forward.

  • http://broddlit.wordpress.com Oliver

    First, I really like your post. I had equal thoughts before, cloud computing won’t be the solution for everything.

    It surely has its market, and it surely makes sense in some situations, but why would all websites need to scale infinitely? How many websites ever needed to scale fast (and failed)?

    As your application/website grows the codebase needs to change, which is no problem. But if you’re using a cloud, do you need to change your codebase? I guess you’ll run into cloud limitations earlier or later, and these will probably be harder to circumvent then the known scaling problems…

  • Sean O’Donnell

    Irrational Exuberance… you mean like “Web 2.0″?? =p

  • http://eedious.blogspot.com friarminor

    Given the fact that thee had been cloud over-zealousness, it does make sense that many of its shortcoming are being exposed as early as possible and we’re not even touching on ‘security’. Or even the impact of power consumption a shift to major clouds would bring. To say that the cloud world has everything taken cared of to a ‘T’ would definitely be the hype.

    Still, better to keep an open ear to all things ‘innovation’

    Best.
    alain
    mor.ph

  • Pingback: Cloudy Weather - Is My World Changing? – David Mostardi

  • http://www.jegas.com Jason P Sage

    Agree – 100%
    Must Take all things into consideration before committing.. and make sure if you do elect to go “Cloud” you have a vendor with a reasonable exit strategy. Having choices is good!

    I’ve always felt the data is more important than everything else.. make sure you have the keys to it at all times!

    The hype IS a bit much… don’t get me started on security :)

    –Jason

  • http://www.facebook.com/cloudways.hosting Cloudways Hosting

    Cloud computing is about maintaining applications and data through the central remote servers and the internet. With the help of this technology, consumers can use various applications and can have access to their personal folders at any system which has an internet access. The main idea behind this technology is to make the entire process of computing, centralized and efficient.

    Cloud Hosting I Managed Cloud Hosting