Cloud computing in general can be portrayed as a
synonym for distributed computing
over a network, with the ability to run a program or application on many
connected computers at the same time. It specifically refers to a computing
hardware machine or group of computing hardware machines commonly referred as a
server
connected through a communication network
such as the Internet,
an intranet,
a local area network (LAN)
or wide area network (WAN)
and individual users or user who have permission to access the server can use
the server's processing power for their individual computing needs like to run
an application, store data or any other computing need.
Advantage
Cloud computing relies on sharing of resources to
achieve coherence and economies of scale, similar to a utility (like
the electricity grid) over a network. At the foundation of cloud computing is the broader concept of converged infrastructure and shared
services. The cloud also focuses on maximizing the effectiveness of the
shared resources. Cloud resources are usually not only shared by multiple users
but are also dynamically reallocated per demand. This can work for allocating
resources to users. For example, a cloud computer facility that serves European
users during European business hours with a specific application (e.g., email)
may reallocate the same resources to serve North American users during North
America's business hours with a different application (e.g., a web server).
This approach should maximize the use of computing power thus reducing
environmental damage as well since less power, air conditioning, rackspace,
etc. are required for a variety of functions. With cloud computing, multiple
users can access a single server to retrieve and update their data without
purchasing licenses for different applications.
The Working Principle
The main enabling technology for
cloud computing is virtualization.
Virtualization generalizes the physical infrastructure, which is the most rigid
component, and makes it available as a soft component that is easy to use and
manage. By doing so, virtualization provides the agility required to speed up
IT operations, and reduces cost by increasing infrastructure utilization. On the other hand, autonomic computing automates the
process through which the user can provision resources on-demand. By minimizing user involvement, automation speeds up the
process and reduces the possibility of human errors.
Users face difficult business
problems every day. Cloud computing adopts concepts from Service-oriented Architecture (SOA) that can help the user break these problems into services that can be integrated to provide a solution. Cloud
computing provides all of its resources as services, and makes use of the
well-established standards and best practices gained in the domain of SOA to
allow global and easy access to cloud services in a standardized way.
Cloud computing also leverages
concepts from utility computing in order to provide metrics
for the services used. Such metrics are at the core of the public cloud
pay-per-use models. In addition, measured services are an essential part of the
feedback loop in autonomic computing, allowing services to scale on-demand and
to perform automatic failure recovery.