INTRODUCTION
Cloud computing is the next natural step in the
evolution of on-demand information technology services and products. To a large
extent cloud computing will be based on virtualized resources. The idea of
cloud computing is based on a very fundamental principal of `reusability of IT
capabilities`. The difference that cloud computing brings compared to
traditional concepts of grid computing, distributed computing, utility computing,
or autonomic computing is to broaden horizons across organizational boundaries.
According to the IEEE Computer
Society Cloud Computing is:
"A paradigm in which
information is permanently stored in servers on the
Internet and cached
temporarily on clients that include desktops,
Entertainment centers, table
computers, notebooks, wall computers, handhelds, etc."
Though
many cloud computing architectures and deployments are powered by grids, based
on autonomic characteristics and consumed on the basis of utilities billing,
the concept of a cloud is fairly distinct and complementary to the concepts of
grid, SaaS, Utility Computing etc. In theory, cloud computing promises
availability of all required hardware, software, platform, applications,
infrastructure and storage with an ownership of just an internet connection.
People
can access the information that they need from any device with an Internet
connection—including mobile and handheld phones—rather than being chained to
the desktop. It also means lower costs, since there is no need to install
software or hardware.
Cloud
computing used to posting and sharing photos on orkut, instant messaging with
friends maintaining and upgrading business technology
2. Characteristics of
Cloud Computing:
1. Self Healing
Any application or any service running in a
cloud computing environment has the property of self healing. In case of
failure of the application, there is always a hot backup of the application
ready to take over without disruption. There are multiple copies of the same
application - each copy updating itself regularly so that at times of failure
there is at least one copy of the application which can take over without even
the slightest change in its running state.
2. Multi-tenancy
With
cloud computing, any application supports multi-tenancy - that is multiple
tenants at the same instant of time. The system allows several customers to
share the infrastructure allotted to them without any of them being aware of
the sharing. This is done by virtualizing the servers on the available machine
pool and then allotting the servers to multiple users. This is done in such a
way that the privacy of the users or the security of their data is not
compromised.
3. Linearly Scalable
Cloud computing services are
linearly scalable. The system is able to break down the workloads into pieces and service it across
the infrastructure. An exact idea of linear scalability can be obtained from
the fact that if one server is able to process say 1000 transactions per
second, then two servers can process 2000 transactions per second.
4.
Service-oriented
Computing systems are all service oriented - i.e. the
systems are such that they are created out of other discrete services. Many
such discrete services which are independent of each other are combined
together to form this service. This allows re-use of the different services
that are available and that are being created. Using the services that were just
created, other such services can be created.
5.
SLA Driven
Usually businesses have
agreements on the amount of services. Scalability and availability issues cause
clients to break these agreements. But cloud computing services are SLA driven such that when the system experiences peaks of
load, it will automatically adjust itself so as to comply with the
service-level agreements. The services will create additional instances of the
applications on more servers so that the load can be easily managed.
6. Virtualized
The applications in cloud
computing are fully decoupled from the underlying hardware. The cloud computing
environment is a fully virtualized environment.
7. Flexible
Another feature of the
cloud computing services is that they are flexible. They can be used to serve a
large variety of workload types varying from small loads of a small consumer
application to very heavy loads of a commercial application.
3. Need
for Cloud Computing
What could we do
with 1000 times more data and CPU power? One simple question. That’s all it
took the interviewers to bewilder the confident job applicants at Google. This
is a question of relevance because the amount of data that an application
handles is increasing day by day and so is the CPU power that one can harness.
There are many answers to this question. With this much CPU power, we could
scale our businesses to 1000 times more users. Right now we are gathering
statistics about every user using an application. With such CPU power at hand,
we could monitor every single user click and every user interaction such that
we can gather all the statistics about the user. We could improve the
recommendation systems of users. We could model better price plan choices. With
this CPU power we couldsimulate the case where we have say 1,00,000 users in
the system without any glitches.
There are lots of
other things we could do with so much CPU power and data capabilities. But what
is keeping us back. One of the reasons is the large scale architecture which
comes with these are difficult to manage. There may be many different problems
with the architecture we have to support. The machines may start failing, the
hard drives may crash, the network may go down and many other such hardware
problems. The hardware has to be designed such that the architecture is
reliable and scalable. This large scale architecture has a very expensive
upfront and has high maintenance costs. It requires different resources like
machines, power, cooling, etc. The system also cannot scale as and when needed
and so is not easily reconfigurable.
The resources are also constrained by the resources. As the
applications become large, they become I/O bound. The hard drive access speed
becomes a limiting factor. Though the raw CPU power available may not be a
factor, the amount of RAM available clearly becomes a factor. This is also
limited in this context. If at all the hardware problems are managed very well,
there arises the software problems. There may be bugs in the software using
this much of data.
The workload also demands two important tasks for two completely
different people. The software has to be such that it is bug free and has good
data processing algorithms to manage all the data.
The cloud computing works on the cloud - so there are large groups
of often low-cost servers with specialized connections to spread the
data-processing chores among them. Since there are a lot of low-cost servers
connected together, there are large pools of resources available. So these
offer almost unlimited computing resources. This makes the availability of
resources a lesser issue.
The data of the
application can also be stored in the cloud. Storage of data in the cloud has
many distinct advantages over other storages. One thing is that data is spread
evenly through the cloud in such a way that there are multiple copies of the
data and there are ways by which failure can be detected and the data can be
rebalanced on the fly. The I/O operations become simpler in the cloud such that
browsing and searching for something in 25GB or more of data becomes simpler in
the cloud, which is nearly impossible to do on a desktop.
The cloud computing applications also provide automatic
reconfiguration of the resources based on the service level agreements. When we
are using applications out of the cloud, to scale the application with respect
to the load is a mundane task because the resources have to be gathered and
then provided to the users. If the load on the application is such that it is
present only for a small amount of time as compared to the time its working out
of the load, but occurs frequently, then scaling of the resources becomes
tedious. But when the application is in the cloud, the load can be managed by
spreading it to other available nodes by making a copy of the application on to
them. This can be reverted once the load goes down. It can be done as and when
needed. All these are done automatically such that the resources maintain and
manage themselves.
4. Cloud Computing Application
Architecture
Fig : Cloud
Architecture
|
5. Cloud
–Types
Public Cloud:
Public cloud or external
cloud describes cloud computing in the traditional mainstream. Public clouds
are run by third parties, and applications from different customers are likely
to be mixed together on the cloud’s servers, storage systems, and networks. A
public cloud provides services to multiple customers.
Hybrid cloud:
Hybrid clouds
combine both public and private cloud models. This is most often seen with the
use of storage clouds to support Web 2.0 applications.
Private cloud:
Private clouds are built for the exclusive use of one client,
providing the utmost control over data,
security, and quality of service (Figure 4). The company owns the infrastructure and has control over how
applications are deployed on it. Private clouds can be built and managed by a
company’s own IT organization or by a cloud provider
6. Cloud computing products and services can be classified into 4
major categories:
They are
1. Application as service ( AaaS) 2. Platform as a Service (PaaS) 3.
Infrastructure as a service (IaaS) 4. Software as a Service (SaaS)
1. Application as s service (AaaS): These are the first kind of
cloud computing services that came into being. Under this, a service is made
available to an end-user. The end-user is asked to create an account with the
service provider and start using the application. One of first famous
application was web-based email service by hotmail started in 1996. Scores of
such services are available now on the web.
2. Platform as a Service (PaaS): Cloud vendors are companies that
offer cloud computing services and products. One of the services that they
provide is called PaaS. Under this a computing platform such as operating
system is provided to a customer or end user on a monthly rental basis. Some of
the major cloud computing vendor are Amazon, Microsoft, Google etc
3. Infrastructure as a service: The cloud computing vendors offer
infrastructure as a service. One may avail hardware services such as
processors, memory, networks etc on agreed basis for specific duration and
price.
4. Software as a service
(SaaS): Software package such as CRM or CAD/CAM can be accessed under cloud
computing scheme. Here a customer upon registration is allowed to use software
accessible through net and use it for his or his business process. The related
data and work may be stored on local machines or with the service providers or
on per use basis. SaaS services may be available on rental basis
7.Working Of Cloud Computing:
Cloud Computing system can be divided it into two sections: the front
end and the back end. They connect to each other through a network,
usually the Internet. Thefront end is the side the computer user, or client,
sees. The back end is the "cloud" section of the system. On
the back end there are various computers, servers and data storage systems that
create the "cloud" of computing services. A central server
administers the system, monitoring traffic and client demands to ensure
everything runs smoothly. It follows a set of rules called protocols .Servers
and remote computers do most of the work and store the data.
8. Merits
& Demerits:
Merits:
Cloud enabler technologies like utility computing, Grid Computing,
RTI, web infrastructure and others are cloud enabled.
1. Infrastructure service providers are taking advantage of the
Cloud services.
2. Information services, entertainment-oriented services such as
video on demand, simple business services such as customer authentication or
identity management and contextual services such as location or mapping
services are positioned well by using the service.
3. Other services, such as corporate processes (for example,
billing, deduction management and mortgage calculation) and transactional
services (for example, fiscal transactions), would take longer to reach the
cloud and the mainstream.
4. Cloud computing infrastructures allows efficient use of their
IT hardware and software investments
5. A cloud infrastructure can be a cost efficient model for
delivering information services, reducing IT management complexity.
6. The Cloud makes it possible to launch Web 2.0 applications
quickly and to scale up applications as much as needed when needed.
Demerits:
Stored data might not be
secure: With cloud computing, all our data is stored on the cloud. The
unauthorized users gain access to our confidential data.
Dependent on internet
connection: Internet connectivity isn’t completely stable and reliable.
It’s not platform agnostic: Most clouds force participants to rely
on a single platform or host only one type of product.
Can be slow: Even on a fast connection, web based application scan
sometimes be slower than accessing a similar software program on our
desktop PC.
9.Conclusion
Cloud computing builds on
decades of research in virtualization, distributed computing, utility
computing, and more recently networking, web and software services. It implies
a service oriented architecture, reduced information technology overhead for
the end-user, great flexibility, reduced total cost of ownership, on demand
services and many other things.
In today's global competitive market, companies must innovate and
get the most from its resources to succeed. Cloud computing infrastructures are
next generation platforms that can provide tremendous value to companies of any
size. They can help companies achieve more efficient use of their IT hardware
and software investments and provide a means to accelerate the adoption of
innovations. Cloud computing increases profitability by improving resource
utilization. Costs are driven down by delivering appropriate resources only for
the time those resources are needed. Cloud computing has enabled teams and
organizations to streamline lengthy procurement processes.
Cloud computing enables
innovation by alleviating the need of innovators to find resources to develop,
test, and make their innovations available to the user community. Innovators
are free to focus on the innovation rather than the logistics of finding and
managing resources that enable the
innovation.
10. References
2.www.thbs.com
3.http://www.wikipedia.org/
4.http://www.infoworld.com/article/08/04/07/15FE-cloud-computing-reality_1.html,
5.
http://www.spinnakerlabs.com/CloudComputing.pdf
6.
http://www.johnmwillis.com/