0% found this document useful (0 votes)
32 views

Cloud Computing

Cloud computing allows users to access and deploy applications from anywhere in the world on demand at competitive costs depending on their quality of service needs. It provides flexibility to developers by reducing the need for large upfront investments in hardware and staffing. While cloud computing offers benefits, it also presents challenges around optimally coordinating load sharing across data centers and efficiently allocating resources to balance costs and quality of service. New tools are being developed to help address issues like visual integration of applications in cloud environments.

Uploaded by

msisipu
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
32 views

Cloud Computing

Cloud computing allows users to access and deploy applications from anywhere in the world on demand at competitive costs depending on their quality of service needs. It provides flexibility to developers by reducing the need for large upfront investments in hardware and staffing. While cloud computing offers benefits, it also presents challenges around optimally coordinating load sharing across data centers and efficiently allocating resources to balance costs and quality of service. New tools are being developed to help address issues like visual integration of applications in cloud environments.

Uploaded by

msisipu
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 6

Cloud Computing

Cloud Computing, the long-held dream of computing as a utility, has the


potential to transform a large part of the IT industry, making software even
more attractive as a service and shaping the way IT hardware is designed
and purchased (1). Cloud computing gives the programmer a lot of flexibility
in the usage of resources. Developers with innovative ideas for new Internet
services no longer require the large capital outlays in hardware to deploy their
service or the human expense to operate it (1). They need not be concerned
about overprovisioning for a service whose popularity does not meet their
predictions, thus wasting costly resources, or underprovisioning for one that
becomes wildly popular, thus missing potential customers and revenue (1).
Clouds aim to power the next generation data centers by exposing them as a
network of virtual services so that users are able to access and deploy
applications from anywhere in the world on demand at competitive costs
depending on users QoS (Quality of Service) requirements (2). Setting up
hardware is such a big overhead from any firm. Cloud computing helps in
reducing all the overhead of setting up the hardware and resources for the
operations performed by the developers. Cloud computing has not only
brought changes to the IT side of the firm but also to the managing side of the
organization. Adopting cloud computing has brought significant changes in
the management of the organization. There are many aspects which are
affected by this like the cost, managing body, central IT support , compliance
etc.
The US National Institute of Standards and Technology (NIST) has published
a working definition that seems to have captured the commonly agreed
aspects of cloud computing (4).
This definition describes cloud computing using
(4):
o Five characteristics:
on-demand self-service, broad network access, resource pooling, rapid
elasticity, and measured service (4).
o Four deployment models:
private clouds, community clouds, public clouds, and hybrid clouds (4).
o Three service models:
Software as a Service (SaaS), Platform as a Service (PaaS), and
Infrastructure as a Service (IaaS) (4).
Visual Integration tool
Adopting Cloud computing bring with the overhead of integration applications.
A recent development in the field cloud computing is visual integration tool
which facilitates the integration of the application. Integrating software
applications is a challenging, but often very necessary, activity for businesses
to perform (5). This is often the case when the original applications have been
designed in isolation (5). Even when such applications are designed to fit
together, creating an integrated solution often requires a significant effort in
terms of configuration, fine tuning or resolving deployment conflicts (5). A
visual integration tool method allows an application designer to quickly
integrate two products, taking the output of a sequence of steps on the
underlying product and using that as input of a sequence of steps on the
second product (5). The tool achieves this by first copying UI components
from the underlying applications user interface second by capturing user
interaction using recording technology, rather than by relying on the
underlying data sources; and third by exposing the important business
transactions that the existing application enables as macros which can then
be used to integrate products together (5).
Coordinating the load of cloud computing
Current Cloud Computing providers have several data centers at different
geographical locations over the Internet in order to optimally serve costumers
needs around the world (2). However, existing systems does not support
mechanisms and policies for dynamically coordinating load-shredding among
different data centers in order to determine optimal location for hosting
application services to achieve reasonable service satisfaction levels (2).
Service -oriented Cloud computing architecture consisting of service
consumer's brokering and provider's coordinator services that support utility-
driven internetworking of clouds: application scheduling, resource allocation,
and workload migration (2).
Optimizing the load of cloud computing
As we know that with cloud computing we share resources. There are some
issues related with the sharing of the resources like resource allocation. In
such a setting, someplace in the architecture, decisions have to be made as
to which requests from which users are to be executed on which
computational resources, and when (3). From the perspective of the service
provider, such decision making may be eased through the provision of
restrictive interfaces (3). When a utility-based approach is adopted, the
following steps are followed by designers (3).
Utility Property Selection:
Identify the property that it would be desirable to maximize - useful utility
measures may be cast in terms of response time, number of QoS targets
met, profit, etc (3).
Utility Function Definition:
Define a function Utility(w, a) that computes the utility of an assignment a of
tasks to execution sites for a workload w expressed in terms of the chosen
property - for workload mapping, such a function can be expected to include
expressions over variables ve that describe the environment and the
assignment a that characterizes the mapping for the components of w from
abstract requests to tasks executing on specific execution sites (3).
Cost Model Development:
Develop a cost model that predicts the performance of the workload given the
information about the environment ve and assignment a, taking into account
the costs associated with adaptations (3).
Representation Design:
Design a representation for the assignment a of workload components to
computational resources, where adaptations to the assignment can be cast
as modifications to this representation (3). For example, if a workload
consists of a collection of tasks, then an assignment a of tasks to sites may
be represented as a vector v where each element vi represents task i, and
each element value represents the execution site to which the task is
assigned (3).
Optimization Algorithm Selection:
Select an optimization algorithm that, given values for ve, searches the space
of possible assignments a with a view to maximizing the utility function; one
benefit of the utility based approach is that standard optimization algorithms
can be used to explore the space of alternative mappings (3).
Control Loop Implementation:
Implement an autonomic controller that: monitors the progress of the
workload and/or properties of the environment of relevance to the utility
function; analyses the monitored information to identify possible problems or
opportunities for adaptation; plans an alternative workload execution strategy,
by seeking to maximize Utility(w, a) in the context of the monitored values for
ve; and updates the workload execution strategy where planning has
identified an assignment that is predicted to increase utility (3).
Resources:
1. Above the Clouds: A Berkeley View of Cloud Computing by Michael
Armbrust, Armando Fox, Rean Griffith, Anthony D. Joseph, Randy Katz, Andy
Konwinski, Gunho Lee, David Patterson, Ariel Rabkin, Ion Stoica, and Matei
Zaharia.
2. Modeling and Simulation of Scalable Cloud Computing Environments and
the CloudSim Toolkit: Challenges and Opportunities by Rajkumar Buyya,
Rajiv Ranjan and Rodrigo N. Calheiros.
3. Optimizing Utility in Cloud Computing through Autonomic Workload
Execution by Norman W. Paton, Marcelo A. T. de Arag˜ao, Kevin Lee, Alvaro
A. A. Fernandes, Rizos Sakellariou School of Computer Science, University
of Manchester, U.K.
4. Research Challenges for Enterprise Cloud Computing by Ali Khajeh-
Hosseini , Ian Sommerville and Ilango Sriram.
5. A visual tool for rapid integration of enterprise software applications by
Inbal Marhaim, Eli Mordechai, Claudio Bartolini, Ruth Bergman, Oren Ariel,
Christopher Peltz.

You might also like