Centuries ago, people in one part of the world used magnetic tapes, recordings and letters to communicate with their near and dear ones in the other part of the world. But today Internet has brought each one closer through live video chats or instant mails at the click of the mouse. It is an era of the internet, e-books, social software, micro-blogging sites and the list is just endless. Frankly speaking internet is nothing but a cloud and the term "cloud computing" arises from that analogy. McKinsey says that clouds are hardware-based services offering compute, network and storage capacity, where hardware management is highly abstracted from the buyer and the buyers incur infrastructure costs as variable OPEX (operating expenditures) and infrastructure capacity is highly elastic(up or down).Let us take the example of large companies like Accenture which can afford to build and expand their own data centres but small to medium-sized companies often choose to house their IT infrastructure in someone else's facility.
Basically there are 3 types of cloud computing namely IaaS(Infrastructure as a Service), PaaS(Platform as a Service) and SaaS(Software as a Service).In IaaS, cpu, grids, clusters, virtualized servers, memory, networks, storage and systems software are delivered as a service. The best know example is Amazon's Elastic Compute Cloud (EC2) and Simple Storage Service (S3).In PaaS, virtualized servers are provided on which users can run applications or develop new ones without having to worry about maintaining the operating systems, server hardware, load balancing or computing capacity. Well know examples include Microsoft's Azure, Salesforce's Force.com.Whereas SaaS is a software that is developed and hosted by SaaS vendor and which the end user accesses over the Internet. SaaS software is owned by the vendor and runs on the computers in the vendor's data center. Well know examples are Salesforce.com, Google's Gmail and Apps, instant messaging from AOL,Yahoo and Google,VOIP from Vonage and Skype.
The great advantage of Cloud Computing is elasticity which is the ability to add capacity or applications almost at a moment's notice. SaaS deployments usually take less time than in-house ones, upgrades are easier and users are always using the most recent version of the application. There will be fewer bugs because having one version of the software reduces complexity. This may all sound very appealing but there are many downsides too. In the cloud you may not have the kind of control you want over your data or the performance of your applications that you need, or the ability to audit or change the processes or policies under which the users must work. Cloud customers may risk losing data by having them locked into proprietary formats and may lose control of data because tools to see who is using them or who can view them are inadequate. In Oct 2009 1 million US users of the T-Mobile Sidekick mobile phone and emailing device lost data as a result of server failure at Danger, a company recently acquired by Microsoft. But Cloud Computing is not risky for every system. Potential users need to evaluate security measures such as firewalls and encryption techniques and make sure that they will have access to data and the software or source code if the service provider goes out of business.
Thus, I feel that clouds really make sense for many small and medium-sized businesses but technical, operational and financial hurdles will need to be overcome before clouds will be used extensively by large public and private enterprises. So rather than creating unrealizable expectations for "internal clouds", the CIOs should focus on the immediate benefits of virtualizing server storage, network operations and other critical building blocks. In the near future, we will soon witness whether Cloud Computing will reach to great heights or will it head for the trough of disillusionment.