Cloud computing is predicted to be an Internet revolution that will lead to a radical change in the way IT is used in business. You often hear the terms “The Cloud” and cloud services, but what does it really mean – and is there a difference between the concepts?
Utility computing
Utility computing relates to the delivery of computing resources, It is raw processing power or storage and the recipient pays for consumption. The classic comparison is the supply of electricity, delivered through a wall jack and charged after consumption. You do not tell the electric plant that you need more power. It is just there when you need it. The most common example of optimum use of this business model is Amazon Web Services (AWS).
The primary benefit of utility computing is the economical aspect. Corporate firms have a huge excess capacity because they must be able to perform, even in peak periods. Since a peak only occurs a few days during a year, this results in an excess capacity. Utility computing allows you to pay only for the computing resources you need when you need them. Like so many other IT delivery models before it, utility computing will be driven by a positive financial reputation. Due to the economic aspect, any business will be forced to consider how it can make the best use of the utility model.
Cloud computing
Cloud computing is a broader concept than utility computing. Cloud computing relates to the underlying architecture in which services or applications are designed and distributed. The central idea is that applications run somewhere in “the cloud” – internally or externally.
Companies have used this concept for years to establish their own internal cloud(s) where applications can be developed, tested and distributed. This concept is normally referred to as grid computing.
Applications in the Cloud
Applications in the cloud is what most know as Gmail, Hotmail, WordPress, Google docs, search engines, etc. The company offers an application via the Internet, which many users can join and use simultaneously. It is the same service, same code, and (perhaps) the same server the application runs on. The user of the application experiences it as a unique and isolated application and with the configuration you want. You do not have to worry about where the data is located, how they are stored and who will maintain the application. It is just a place “in the cloud”. You can always log in, wherever you are online. In a more business-oriented perspective it is known as Software as a Service (SaaS).
Platform as a Service (PaaS)
PaaS is developed after SaaS. PaaS is more targeted at developers and programmers. PaaS offers developers to develop applications hosted in “the cloud”. When you upload and run applications, you do not know where it happens. The advantage with PaaS over locally hosted applications is that it is scalable. If you suddenly require four servers instead of just one to run the application the resource supply will increase automatically. This is an infinite buffer, which is never higher than your consumption. The service you actually buy is the network of servers (“the cloud”) which channels requests and commands from one or more applications running in “the cloud”.
Several have tried to define cloud computing by comparing it with previous computing models: outsourcing, pay-as-you-go, On-Demand etc. This may not be entirely wrong, but there is much more in than that. The true business opportunities are slowly surfacing and more and more companies try to experience with cloud computing, often without the management knowing. Cloud computing will probably find its way into the enterprise in a bottom-up approach.
Thought it would be useful to note Microsoft have also built their own Cloud Computing platform called Windows Azure. I’m guessing it would fit into the Platform as a Service (PaaS) category above. We’ll most likely see it in competition with Google’s App Engine.
http://www.microsoft.com/windowsazure/