In 1960, John McCarthy predicted that someday computing would be organized as
a public utility. And then, in the early 90s, the term 'Grid computing' was
coined by Ian Foster, which talked about technologies that would make computing
power available 'on demand' to consumers. Now, both these statements suddenly
make sense when we hear the word cloud computing and the technologies that have
made it a reality.
Just about every organization today is interested in using cloud computing,
but doesn't know how. Without knowing, it's impossible to make an informed
decision about how to move to it. Simply put, cloud computing is a set of
technologies that allows computing applications and data to be exposed as a set
of services from a pool of underlying resources. The user doesn't have to worry
about the technologies in the pool. This is similar to running an electrical or
electronic device by plugging it to a wall socket. You don't have to worry about
how the power is generated in the power plant. You just want the right voltage
to be made available so that you can power your device and use your device.
Similarly, in Cloud Computing, users simply focus on the services they would
like to use, and not worry about how to implement the software that provides
these services. Even the IT staff that provides these services can easily pull
out the resources required by the users from this pool of resources, and put it
back when the services have been consumed.
A typical cloud computing model. |
The foundation of cloud computing comprises of data centers (servers,
storage, networking), the business applications and middleware, virtualization
software and of course operating systems. This foundation provides all the
applications to the users on a 'pay as you go' basis. So the entire workload
shifts to the cloud, i.e. local computers are not burdened with running hundreds
of applications anymore. All that users need is a system interface software,
like a simple web browser to be run on their side.
The three different types of clouds & the relationship amongst them |
The benefits
The promise of cloud computing is to provide all that most organizations
have been wanting for years, but haven't been able to achieve.
Scalability: Cloud computing allows an organization to scale up or down their
IT requirements quickly and efficiently, without hampering productivity. It cuts
down the time involved in buying & setting up additional hardware, software &
other necessary resources everytime a new service is required.
Lower infrastructure cost: Pay as you go is the mantra of cloud computing.
You pay only for the duration that you use the service for. This helps cut down
unnecessary capital expenditure. Since the resources can be pulled out and
restored dynamically, a lot of cost related to maintenance, administration, etc
is reduced.
Better utilization: As the IT infrastructure is nothing but a pool of
resources, it reduces wastage and improves resource utilization. It also cuts
down the downtime.
Cloud deployment models
Most of the time, the term cloud computing is confused with the Internet
cloud. It's very important to understand this difference if you want to be able
to use the cloud more effectively. There are basically three types of
cloud-public, private, and hybrid.
Public cloud: This is what people normally end up talking about whenever the
term cloud computing comes up. This is essentially an external cloud, provided
by a service provider. It refers to the resources (hardware, software,
applications) that a service provider offers you over the Internet. Email, if
hosted with an ISP is the most basic and oldest type of service offered on the
public cloud. Now, just about every kind of service you can think of is
available in the public cloud (whole list of these services is provided
elsewhere in this story). The public cloud follows the 'pay as you go' model.
You only pay for the services you consume. The benefits of moving to a public
cloud are many, with the key one being that you don't have to worry about
managing the underlying IT infrastructure-no security patches or updates to
apply, no software upgrades, etc. All these are the service provider's headache.
The three components of a cloud computing network. |
Private cloud: A private cloud refers to having your own, private cloud
computing infrastructure. So instead of relying on an external, public cloud
service provider's infrastructure, you would have your own. A private cloud is
more suited for a large enterprise because it has already invested heavily in
its IT infrastructure, data center, apps, etc. A private cloud typically
involves optimizing the existing IT infrastructure, so that it can deliver
services to the users faster and more effectively. A private cloud would allow
the IT team to provision for new hardware, software, and services for users as
and when required. It would provide better control over the entire process of
information processing. This helps reduce costs, improves response time, and
provides greater flexibility.
Hybrid cloud: As the name implies, it is a cloud computing environment that
consists of internal/ external providers, viz. a mix of private and public
clouds. Secure and critical applications are hosted by organizations in the
private cloud while not so critical ones are hosted in the public cloud. This
combination is known as a hybrid cloud. The cloud infrastructure remains as a
unique entity which is bound by a standard technology thus enabling data and
application portability. A very good example of this is cloud bursting, wherein
the organization for its normal usage uses its own infrastructure but moves to
the cloud for peak loads.
Types of cloud services
Whether it's public, private, or hybrid, you could run a range of services
in a cloud computing environment. These can be divided into three parts-SaaS,
IaaS, and PaaS.
SaaS: This is the most familiar and prolific cloud service of all. As
the name suggests, it provides any software application as a service through the
cloud. We've all been using software as a service for years in the public
domain, with the free email services being the most classic example. Today,
there's a whole range of software applications available through SaaS, be it ERP,
CRM, workflow systems, document management, and much more. The cloud service
provider offers these services, and the users pay as they use the same. This
could be on a subscription model, wherein they pay an annual or a monthly fee
for the services. Everything is accessible from a web browser, so the users
don't need anything more than that.
Infrastructure as a Service: As the name implies, IaaS is a service
delivery model in which an organization is given control over different
resources and applications. These resources comprise of storage, hardware,
servers, networking components, etc. The consumer need not manage or control the
underlying cloud infrastructure in this service model. On demand principle is
used in this case as the infrastructure is provided to the user as per his
requirements. It often takes the form of virtualized computing environment thus
giving freedom to consumers wherein they can configure & deploy the applications
in a virtual image locally. Then without the need to worry about the network
infrastructure they can also execute it within the remote environment. Some of
the prime examples of it are Amazon's Elastic Compute Cloud
Storage Service.
Platform as a Service: This component of cloud computing can be
defined as a set of software and product development tools that allows
developers to create applications on the provider's platform. In other words it
allows you to build applications that are delivered to users through the
Internet and are run on the provider's infrastructure. Cost effectiveness is one
of the prime benefits of PaaS as organizations don't need to spend extra bucks
for buying and managing the underlying hardware and software. PaaS offerings
include facilities for application development and design, testing, deployment
and hosting. Web service integration, database integration, security, storage,
etc that comes under application services is also included. The prime examples
are Salesforce.com's Force.com and Microsoft's Azure.