What is Cloud Computing?
While this is a common question it is not easy to answer. The quick answer is that cloud computing is computing, in the cloud. But this gives us the question - what is the cloud? Is it just a new name from client server or N-Tier architecture? The complete answer is more complex.
In fact, there are several definitions for cloud computing. Technical authorities differ on the definitions and the vendors of Cloud Computing platforms do not even agree. Some analysts claim that Cloud Computing has been with us for years and it is simply the modern version of Utility Computing (with a new buzzword). Others claim the definition is much broader, including anything used outside of your local firewall. The goal of this article to explain what Cloud Computing really means.
Utility Computing, a term that has been around for decades, refers to a business model focusing on providing computing services for a fee based on usage. This concept is comparable to the business models used by public utilities. For example, the water service (a public utility) provides a continuous service with the cost based on the amount of water used. This public utility business model is analogous to the Utility Computing business model, in which computing services are always made available and the customer’s bill is based on usage of the services. Utility Computing itself is not a new concept. As early as 1955 John McCarthy, an MIT professor, compared it with a public utility company in the following quote:
“If computers of the kind I have advocated become the computers of the future, then computing may someday be organized as a public utility just as the telephone system is a public utility… The computer utility could become the basis of a new and important industry.”
Utility Computing provides an economic model that may be superior to an on-site data center. Academic studies show that servers in corporate data centers are underutilized (average idle time of approximately 85%). The reason for this underutilization is that the servers must be able to handle periodic spikes in demand and possible load increases in the future. With Utility Computing, a company does not pay for this idle time in which the server is not being used. Instead, the company will pay for only the computing resources it needs – when these resources are needed.
Although Utility Computing is a type of Cloud Computing, the term Cloud Computing is much broader. The cloud concept describes the architecture on which Utility Computing is based. Cloud Computing can also describe categories of computing that do not meet the definition of Utility Computing.
The term Cloud Computing can refer to any off-site computing environment. This could simply be access to a server on which customers can install their applications and services, to advanced environments that provide email servers and applications servers so that the customer can build custom applications. The highpoint of Cloud Computing is software running in the cloud and made available over the Internet on a subscription basis.
Most robust Cloud Computing environments use virtualization technology which allows multiple resources to appear as a single resource. This technology causes the cloud to be elastic, meaning it can expand and contract based on system load and performance requirements. This elastic nature allows for a pay-as-you-go billing model that is based on usage.
This article as given a very broad definition of cloud computing. In practice, computing in the cloud comes in various layers that provide different levels of service. In some cases, the type of cloud being used is actually a perception of the user of the cloud. A developer may build applications using a Platform as a Service (PaaS) cloud and make those applications available to an end user. From the end users perspective, the cloud is a Software as a Service (SaaS) cloud.
Cloud Computing is a new twist on and old concept – Utility Computing. There are a plethora of cloud options that serve a variety of needs. In addition, the economic model of computing in the cloud differs from traditional computing in some drastic ways.