The term cloud computing is a recent branding effort for an umbrella set of hosted service offerings. Of course hosted offerings have been around for decades - SalesForce.com has been providing an Internet-based (i.e. cloud computing) CRM solution since 2000. There are also a plethora of other vendors with offerings related to Platform as a Service (PaaS), Infrastructure as a Service (IaaS), and Software as a Service (SaaS).
Cloud configurations fall into three categories – Public, Hybrid, and Private.
Public: Public cloud offerings are those that are typically subscription-based where all of the hardware and software purchases and maintenance are abstracted away from the customer.
Hybrid: Hybrid cloud offerings are provided with a combination of abstracted hardware and software with private infrastructure configurations. It is presumed that this will be the most likely configuration as cloud services become more mature and mainstream.
Private: A private cloud is an Internet-based offering where the entire infrastructure is managed by customer personnel and typically has security applied to limit usage to authorized personnel.
There are some who will refute my definitions above as too limited because they consider on-site virtualized environments as a valid cloud configuration. In my view, if the service isn't Internet-based then it's not in the cloud. Time will be the arbiter of this amorphous aspect of cloud computing.
So why has something that has been around for so long now become worthy of re-branding? The major drivers are the ubiquity of the Internet, the reliability of Internet connections, the maturity of web-based interfacing technologies, and the rapidly expanding blur between desktop and web.
The remaining obstacle for most organizations with moving to the cloud model is security.
Moving sensitive data and intellectual property to a cloud provider is a risk to be considered carefully. An internal infrastructure can be completely isolated from the outside world where malicious activity is voracious to say the least. In fact, it's safe to say that because of intellectual property and the sensitive nature of the data being stored, that for some companies there will always be a need for an internal infrastructure. Government regulations regarding privacy and organizations obligations to ensure protection of personal data will continue to be a driving force for internal resources.
There is also the counterpoint that because of perception and the fact that their services are in the cloud, cloud vendors focus significantly more attention to security than many internal IT teams in organizations where IT is not the core service. That is a valid point that deserves consideration.
You could also make a case that cloud computing implemented as the status quo across all industries and organization size - in its current form – could be considered a national economic risk. As cloud computing proliferates and third parties develop widgets of functionality as a subscription-based model, resources from disparate cloud environments will become interwoven into applications resulting in nested dependencies. When developing the next killer application, why invent a wheel when you can subscribe to one and integrate it into its processes? A benign or malicious act that triggers a negative event across the Internet could have significant economic consequences depending on its impact. There could also be inherent compatibility issues when cobbling unrelated cloud-based widgets together.
Cloud computing has also been touted as the return to dumb terminals with all software being cloud and subscription-based. I can not see that happening in the short to mid-term. Much of this article was written on my vacation without wireless Internet access. My writing was done offline using software local to my computer. Installing binaries locally is going to be a way of life for the foreseeable future albeit possibly a bit neutered in some instances since more and more of what appears to be local functionality in many applications is actually sourced from the web. (e.g. online help, lists of templates, installing add-ins)
If you are reading this because you are interested in cloud computing and are considering how to leverage it for your organization then you are ahead of the curve. Take your time, develop a long-term strategy (including governance policies), implement in controlled phases, and seek advice from professionals to ensure your implementation is the right one for your organization.