Monday, May 11, 2009

Cloud Computing - Old Wine In A New Bottle?

A recent cloud computing report from McKinsey stirred quite a controversy. TechCrunch called the report partly cloudy. Google responded to the report with the great details on why cloud is relevant. I appreciate the efforts that McKinsey put into this report. However I believe that they took a very narrow approach in their scope and analysis. An interaction designer, Chris Horn, from MAYA Design sent me a paper, The Wrong Cloud, which argues that the cloud computing is essentially an old wine in a new bottle and the big companies are fueling the hype.
"Today’s “cloud computing” claims to be the next big thing, but in fact it’s the end of the line. Those corporate dirigibles painted to look like clouds are tied to a mooring mast at the very top of the old centralized-computing mountain that we conquered long ago."

I appreciate that there are people out there who question the validity and relevance of cloud computing. This puts an extra onus on the shoulders of the cloud computing companies and others to make their message crisper and communicate the real values that they provide. I was recently invited at the Under The Radar conference where many early stage cloud computing start-ups presented. The place was packed with the venture capitalists closely watching the companies and taking notes. It did feel like 1999 all over again! I hope that we don't fuel the hype and deliver the clear message on how cloud computing is different and what value it brings in. Here are my arguments on why cloud is not just a fad:

Utility style cheap, abundant, and purpose-agnostic computing was never accessible before: There are plenty of case studies about near zero adoption barrier for Amazon EC2 that allowed people to access the purpose-agnostic computing capabilities of the cloud computing at the scale that had never been technologically and economically feasible before. I particularly like the case study of Washington Post where they used Amazon EC2 to convert 17,481 pages of non-searchable PDF to searchable text by launching 200 instances for less than $150 in under nine hours. We did have massive parallel processing capabilities available to us such as grid computing and clusters but they were purpose-specific, expensive, and not easy to set up and access.

Peer-to-peer and cloud computing are not alternatives at the same level: The MAYA paper argues that the cloud computing is similar to P2P. I believe these two are complementing technology. The P2P solves the last mile problem of client-side computing where as the cloud computing is a collection of server-side technology and frameworks that has centralized computing characteristics. BitTorrent is a great example of effectively using P2P for distribution purposes since the distribution problem is fundamentally a decentralized one that could leverage the bandwidth and computing of the personal computers. However I do see potential in effectively combining both the approaches to design an end-to-end solution for certain kinds of problems e.g. use CDN on the cloud with P2P streaming to broadcast live events.

Virtualization and cloud computing are not the same: McKinsey's report on cloud computing recommends that organizations can get the most out of virtualizing their data centers against adopting the true cloud computing. I am a big fan of virtualization but it does not replace the cloud computing and does not yield the same benefits. Eucalyptus, an emerging cloud computing start-up, has detailed analysis on how cloud computing is different than virtualization.


Anonymous said...

very interesting blog.

I have a request to tthe owner or readers of this blog.

I am looking for best practices for product design/architecture that are needed to utilize the cloud model in a cost effective manner.

in other words, i'm looking for do's and don'ts of product architecture/design that one should keep in mind while designing applixations for the cloud. I do understand one could potentially deploy any application in the cloud. however, the question is what's needed in the design to be optimized for could. as an example, in the SaaS model one could deploy an app without multi-tenancy support but it wouldn't be cost effective to do so.

if you have such information (whitepapers) or pointers to online articles, etc ... please send it to me at

Chirag Mehta said...

The design and architectural decisions depend upon how you would like to leverage cloud computing. For example if your application is required to leverage cloud's capability to offer massive parallel processing the application needs to be designed upfront to use the programming model that could achieve it on the cloud e.g. Hadoop. If the application has integration end points to consume and deliver information and processes it needs to be architected based on how such applications work on the cloud. For example Boomi provides integration connectors with popular enterprise applications. Can your application leverage that? If the multitenancy is a true requirement does your data and process architecture support sharing information securely across customers? SaaS delivery model forces the SaaS vendors to minimize the maintenance cost of the software being served since it is a primary KPI of a vendor and not customers'.

The best you can do is to ask as many questions as you can rather than looking for a specific answer. The questions would keep you grounded in the reality and the architectural design principles would emerge out of it.

Andy Ben-Dyke - RainStor said...

I agree that virtualization and cloud computing are not the same, but you could certainly argue that the cloud is an evolution of virtualization, among other things, as outlined at For example, we’re an ISV in the data management space and although we’d originally optimized our software for virtualized environments to help our partners deploy our technology more easily, the additional benefit was that we were able to release our RainStor cloud archive service much quicker than anticipated.

acebc said...

I listened to Eric Krapf asked a panel of vendors at VoiceCon the question: "How does your organization define cloud computing?" I was hoping someone would enlighten me once and for all, and explain what Cloud Computing really means. However, after listening to the panel, the verdict was in: No one really can describe it! Here are some of the repsonses:

"So much diversity as to what it is… Compelling way to deliver new services to customers… Managed infrastructure or SaaS delivered on a pay-per-use model… But, we’re not defining it now."

"Cloud computing is an evolution starting with Centrex, IP-Centrex, now hosted services… A way to reduce costs and capex, and provide business agility.”

"Platform as a service… A way to deliver collaborative services…"

"Network based communication utility."

"Computing as a service platform” I understand. Maybe next year they should invite Mr. Wikipedia to VoiceCon. He seems to have a better response.

Here is my new buzzword for 2010: SIP Storm - A natural phenomenon that occurs when SIP trunking overload becomes out of control and unmanageable.

Anonymous said...

It was certainly interesting for me to read the post. Thank you for it. I like such topics and anything connected to them. I would like to read more on that blog soon.