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, Salesforce.com, 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.