Thursday, December 16, 2010

Why Cloud Computing is so complicated to understand?

As part of my job, I get the chance to talk to many people about Cloud Computing on a daily basis. Technology vendors, researchers, analysts, press, and customers of all sizes. Inevitably, every conversation reaches a point where somewhat asks, "what do you mean by Cloud Computing?" It's unfortunate that this still happens, but it's worth looking at what's causing the confusion.

At first there were just services delivered via the Internet, know called "Software as a Service". Google Search, Yahoo Mail,, 37 Signals, WebEx and many others. These companies were redefining how software was written, using elastic "cloud models". Next came companies such as Amazon offering the ability to get computing resources on-demand (Amazon AWS). This rentable infrastructure become known as Infrastructure as a Service (IaaS). AWS began to redefine how to deploy and manage large-scale, highly automated infrastructure, significantly reducing the overall costs to deliver IT services. Somewhere along the line, other companies popped up offering frameworks to allow independent software developers to write software in the new "cloud models". This was called Platform as a Service (PaaS) as it abstracted the infrastructure from the developers and provide fundamental tools to create their software. Then of course the government (NIST) jumped in and added their statement of standard terminology. At a high-level we now had software we could rent (SaaS), software development environments we could rent (PaaS) or servers/storage/networks we could rent (IaaS) from external companies, across the Internet, which covered most of the major functions that an IT organization performed. And in some cases, the cost of renting these services was less than IT could deliver to their business. [NOTE - I didn't say in all cases]. This basket of various services came to be known as "Cloud Computing".

But then a few things happened. First, not every business was lining up to move all their IT capabilities to these Cloud Computing services. They were concerned about stability, security, quality of the service and the long-term ownership of their data. Second, some businesses felt like they were already moving toward a more efficient IT infrastructure through a combination of consolidation, virtualization and automation. Third, existing IT vendors began telling their customers that they could help them build similar functionality within their existing environment. The concept of building cloud computing inside a company's Data Center became known as "Private Cloud". This also pushed companies to create distinction for the original Cloud Computing services as "Public Cloud". And somehow the concept of "Hybrid Cloud" got created as a way combine aspects of Public and Private Cloud, although that definition is often fuzzy. [NOTE: I'll cover Hybrid Cloud in a follow-up blog post soon]

Now businesses not only had a lot of messages coming at them, but in many cases they were being told that they needed to pick one side or the other. Pick a religion. One was good, the other was evil. Public was cheap, private saved your job. Private was bloated, public is the future. Private gives control, public is insecure. Somewhere along the line companies seemed to focus less on defining customer value and spent more time building the messaging for their church of Cloudiness (or Webiness).

So what is an IT leader supposed to do? I've offered some suggestions before and will provide some additional guidance in upcoming posts. I tend to look at these issues in terms of portfolios, risk management and core vs. context. This approach steps away from the religious battles and focuses on how IT can leverage existing skills/assets best, augmented by outside skills/services when it fills gaps in their IT portfolio.


  1. Understanding the latest concepts is possible only through contents like this. Thanks for sharing this page in here. It will be useful for my future projects as well. Keep blogging articles like this.

    Hadoop Training Chennai

  2. The content published here was worth able to read and share. The aspect in which you have written the content is amazing. I have bookmarked this page for future use. Thanks for sharing this in here. Keep blogging content like this.

    Software testing training in chennai | Software testing course in chennai

  3. To keep ourselves up to date with the current trend is not an easy task in IT. But we can, through quality and worth able content like this. Thanks for sharing this web page. Please write more articles like this in future.

    Hadoop Training Chennai | Hadoop Training in Chennai | Big Data Training in Chennai

  4. Hey, this is a great post for me.

  5. Hello,

    Great post that i have ever read.IT workers will need to understand how to use the cloud. They are needing to be able to handle automation and Develops, combined the role of developer with operations and other IT jobs. They are also needing to be able to work with big data and mobile.

    Technology Surface

  6. Hi...

    Well done you have share a useful post.Where from i got helpful tips..Thank you

  7. Awesome post that ever i have seen and this post is very good that help me for my opinion.Thanks a lot

  8. Python is an object oriented high level programming language which is built in data structures combined with dynamic typing and dynamic binding making it very attractive for rapid application development.
    Python Training in Chennai | Python Course in Chennai

  9. The usage of third party storage system for the data storage can be avoided in cloud computing and we can store, access the data through internet.
    cloud computing training in chennai | cloud computing courses in chennai

  10. Excellent post!!!. The strategy you have posted on this technology helped me to get into the next level and had lot of information in it.
    salesforce training in chennai | salesforce training institute in chennai