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.
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 ratings0% 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.
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.