JECET; June – August-2013; Vol.2.No.3, 619-633.
Journal of Environmental Science, Computer Science and Engineering & Technology
An International Peer Review E-3 Journal of Sciences and Technology
Available online at www.jecet.org Engineering & Technology
Review Article
JECET; June – August 2013; Vol.2.No.3, 619-633. 619
Mini Review on Cloud Computing
Shraddha Mishra1, Ranjana Khandare2 and Asutosh Kumar Pandey*2
1Pearson Education Service PVT-LTD; Indore (M.P.) India
2Rishiraj Institute of Technology, Indore (M.P.) India
Received: 17 June 2013; Revised: 6 July 2013; Accepted: 19 July 2013
Abstract Cloud computing is an extension of this paradigm wherein the capabilities of business applications are exposed as sophisticated services that can be accessed over a network. Cloud service providers incentivized by the profits to make by charging consumers for accessing these services. Consumers, such as enterprises, attracted by the opportunity for reducing or eliminating costs associated with “in-house” provision of these services. However, since cloud applications may be crucial to the core business operations of the consumers, it is essential that the consumers have guarantees from providers on service delivery. Typically, these are provided through Service Level Agreements (SLAs) brokered between the providers and consumers.
INTRODUCTION
Cloud computing is latest trend in IT world. It is Internet-based computing, whereby shared resources, software and information, provided to computers and other devices on-demand, like the electric grid.
This technology has the capacity to admittance a common collection of resources on request. It is proving extremely striking to cash- strapped IT departments that wanted to deliver better services under pressure.
Concept of this new trend started from 1960 used by telecommunication companies until 1990 offered point-to-point data circuits and then offered virtual private networks. However, due to network traffic and make network bandwidth more efficient introduced cloud to both servers and infrastructure. The development of this Amazon played vital role by making modern data centres. In 2007 Google, IBM and many remarkable universities and companies adopted it. In addition, in 2008 Gartner highlighted its
JECET; June – August 2013; Vol.2.No.3, 619-633. 620 characteristics for customer as well service providers1-6. The guidelines and considerations required to IT enterprises for the adoption of cloud computing technology7. The presented and preliminary survey that included a short overview of storage systems and Infrastructure as a Service (IaaS), which, however, was not systematic and fell short of providing a good overview of the state-of-the-art and lacked a discussion of the research challenges. One investigates the technical issues that arise when building and providing clouds, and the other looks at implications of cloud computing on enterprises and users. The advances and research questions in technical aspects of Cloud Computing, such as protocols, interoperability and techniques for building clouds, while we discuss the research challenges facing enterprise users, such as cost evaluations, legal issues, trust, privacy, security, and the effects of cloud computing on the work of IT departments, elsewhere 8.
Computing being transformed to a model consisting of services that commoditized and delivered in a manner similar to traditional utilities such as water, electricity, gas, and telephony. In such model, users access services based on their requirements without regard to where the services hosted or how they delivered. Several computing paradigms have promised to deliver this utility computing vision and these include cluster computing, Grid computing, and more recently Cloud computing. The latter term denotes the infrastructure as a “Cloud” from which businesses and users are able to access applications from anywhere in the world on demand. Thus, the computing world is rapidly transforming towards developing software for millions to consume as a service, rather than to run on their individual computers. At present, it is common to access content across the Internet independently without reference to the underlying hosting infrastructure. This infrastructure consists of data centres that monitored and maintained around the clock by content providers. Cloud computing is an extension of this paradigm wherein the capabilities of business applications are exposed as sophisticated services that can be accessed over a network. Cloud service providers incentivized by the profits to be made by charging consumers for accessing these services. Consumers, such as enterprises, attracted by the opportunity for reducing or eliminating costs associated with “in-house” provision of these services. However, since cloud applications may be crucial to the core business operations of the consumers, it is essential that the consumers have guarantees from providers on service delivery. Typically, these are provided through Service Level Agreements (SLAs) brokered between the providers and consumers.
Providers such as Amazon, Google, Sales force, IBM, Microsoft, and Sun Microsystems have begun to establish new data centres for hosting Cloud computing applications in various locations around the world to provide redundancy and ensure reliability in case of site failures. Since user requirements for cloud services are varied, service providers have to ensure that they can be flexible in their service delivery while keeping the users isolated from the underlying infrastructure. Recent advances in microprocessor technology and software have led to the increasing ability of commodity hardware to run applications within Virtual Machines (VMs) efficiently. VMs allow both the isolation of applications from the underlying hardware and other VMs, and the customization of the platform to suit the needs of the end-user. Providers can expose applications running within VMs, or provide access to VMs themselves as a service, thereby allowing consumers to install their own applications. While convenient, the use of VMs gives rise to further challenges such as the intelligent allocation of physical resources for managing competing resource demands of the users.
In addition, enterprise service consumers with global operations require faster response time, and thus save time by distributing workload requests to multiple Clouds in various locations at the same time. This creates the need for establishing a computing atmosphere for dynamically interconnecting and provisioning Clouds from multiple domains within and across enterprises. There are many challenges involved in creating such Clouds and Cloud interconnections. The increased degree of connectivity and the increasing amount of data has led many providers and in particular, data centres to employ larger
JECET; June – August 2013; Vol.2.No.3, 619-633. 621 infrastructures with dynamic load and access balancing. By distributing and replicating data across servers on demand, resource utilization has been significantly improved. Similarly, web server hosts replicate images of relevant customers who requested a certain degree of accessibility across multiple servers and route requests according to traffic load. It may be noted in this context that the term “cloud”
dates back to the 90s in reference to the capability of dynamic traffic switching to balance utilization (“telecom clouds”) and to indicate that the telecoms infrastructure is virtualised – the end user does not know or care over which channels her data is routed (see IETF meeting minutes9 . Microsoft adopted the term 2001 in a public presentation about the .NET framework to refer to the infrastructure of computers that make up the internet10. The underlying concept of cloud computing can be dated even further back to a public speech given by John McCarthy 1961 where he predicts that computer time-sharing may lead to the provisioning of computing resources and applications as a utility11 .
Concept and even technological approaches behind “cloud computing” can thus not be considered a novelty as such and in particular, data centres already employed methods to maintain scalability and reliability to ensure availability of their hosted data. What is more, cloud systems unlike e.g. grid computing, not driven by research first and then being taken up by industry, but instead originates directly from commercial requirements and solutions. Elastic Compute Cloud12 EC2 in 2006, giving rise to a small boom of “cloud offerings” which mostly consisted in a rebranding of their existent in-house solutions and techniques, as well as a potential exposition of these capabilities to consumers.
DISCUSSION
Multiple new “cloud” domains and providers have thus arisen and it is not surprising, that the term has found multiple related, yet different meanings. In particular, the scope of areas and capabilities that so- called clouds are applied for differs thereby strongly. The most typical representatives for cloud related functionalities can currently be found in the following areas:
(1) Data centres trying to maintain high scalability and increase availability;
(2) Web server farms automating and stabilizing their servers, respectively the user’s website;
(3) In house attempts to balance resources over the business solutions;
(4) External ASP-type offerings.
It must be made clear in a context that “Clouds” do generally not refer to a specific technology or framework, but rather to a set of combined technologies, respectively a paradigm / concept. The “Grid”
and Service Oriented Architectures are often confused as being identical with clouds due to this primarily conceptual understanding. Likewise, current “cloud providers” typically build upon proprietary technology sets and approaches based on their in-house solutions - only little efforts have been undertaken so far, to build up a generic framework / middleware supporting all the features related to clouds.
It’s only been in 2004 that multi-core processing became available for common desktop machines, when Intel finally abandoned the development of a 4 GHz processor and switched to multi-core development instead13. Implicitly even more mainstream developers and users investigate the specific advantages and problems of not only horizontal, but also vertical scalability. Additionally, with the “Prosumer” 14 movement, as well as the growing demand to lower management cost and the carbon footprint make outsourcing more and more interesting for the market.
It is to be expected that the cloud paradigm will find further uptake in the future – not only as a means to manage the infrastructure of providers, but also to provide smaller entities with the capabilities of a larger infrastructure that they cannot afford to own themselves. At the same time, the cloud paradigm will allow
JECET; June – August 2013; Vol.2.No.3, 619-633. 622 for a set of enhanced capabilities and services not feasible before.
As of now, computer networks are still in their infancy, but as they grow up and become sophisticated, we will probably see the spread of, “computer utilities”, which, like present electric and telephone utilities, will service individual homes and offices across the country”. This vision of computing utilities, based on a service-provisioning model, anticipated the massive transformation of the entire computing industry in the 21st century whereby computing services will be readily available on demand, like water, electricity, gas, and telephony services available in today's society. Similarly, computing service users (consumers) need to pay providers only when they access computing services, without the need to invest heavily or encounter difficulties in building and maintaining complex IT infrastructure by themselves.
They access the services based on their requirements without regard to where the services hosted. This model has been referred to as utility computing, or recently as Cloud computing 15, 16.
Cloud computing delivers infrastructure, platform, and software (applications) as services, which made available as subscription-based services in a pay-as-you-go model to consumers. In industry, these services are referred to as Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS), respectively. “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” 17.
Clouds aim to power the next generation data centres by architecting them as a network of virtual services (hardware, database, user-interface, application logic) so that users are able to access and deploy applications from anywhere in the world on demand at competitive costs depending on users Quality of Service (QoS) requirements16 . It offers significant benefit to IT companies by freeing them from the low level tasks of setting up basic hardware (servers) and software infrastructures and thus enabling them to focus on innovation and creating business value for their services. The business potential of Cloud computing is recognized by several market research firms including IDC (International Data Corporation), which reports that worldwide spending on Cloud services will grow from $16 billion by 2008 to $42 billion in 2012. Furthermore, many applications making use of Clouds emerge simply as catalysts or market makers that bring buyers and sellers together. This creates several trillion dollars of business opportunity to the utility/pervasive computing industry, as noted by Bill Joy, co-founder of Sun Microsystems 16.
Cloud computing has high potential to provide infrastructure, services and capabilities required for harnessing this business potential. In fact, it has been identified as one of the emerging technologies in IT as noted in “Gartner’s IT Hype Cycle”. A “Hype It’s only been in 2004 that multi-core processing became available for common desktop machines, when Intel finally abandoned the development of a 4 GHz processor and switched to multi-core development instead 13 . Implicitly even more mainstream developers and users investigate the specific advantages and problems of not only horizontal, but also vertical scalability. Additionally, with the “Prosumer” 14 movement, as well as the growing demand to lower management cost and the carbon footprint make outsourcing more and more interesting for the market.
It is to be expected that the cloud paradigm will find further uptake in the future – not only as a means to manage the infrastructure of providers, but also to provide smaller entities with the capabilities of a larger infrastructure that they cannot afford to own themselves. At the same time, the cloud paradigm will allow for a set of enhanced capabilities and services not feasible before.
Cloud computing delivers infrastructure, platform, and software (applications) as services, which are made available as subscription-based services in a pay-as-you-go model to consumers. In industry, these services are referred to as Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and Software
JECET; June – August 2013; Vol.2.No.3, 619-633. 623 as a Service (SaaS), respectively. The Berkeley Report15 released in Feb 2009 notes: “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”. 18
It is to be expected that the cloud paradigm will find further uptake in the future – not only as a means to manage the infrastructure of providers, but also to provide smaller entities with the capabilities of a larger infrastructure that they cannot afford to own themselves. At the same time, the cloud paradigm will allow for a set of enhanced capabilities and services not feasible before.
They access the services based on their requirements without regard to where the services hosted. This model has been referred to as utility computing, or recently as Cloud computing16. Cloud computing delivers infrastructure, platform, and software (applications) as services, which made available as subscription-based services in a pay-as-you-go model to consumers. In industry, these services are referred to as Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS), respectively. The Berkeley Report17 released in Feb 2009 notes: “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”. Clouds aim to power the next generation data centers by architecting them as a network of virtual services (hardware, database, user-interface, application logic) so that users are able to access and deploy applications from anywhere in the world on demand at competitive costs depending on users Quality of Service (QoS) requirements16 . It offers significant benefit to IT companies by freeing them from the low level tasks of setting up basic hardware (servers) and software infrastructures and thus enabling them to focus on innovation and creating business value for their services. The business potential of Cloud computing is recognized by several market research firms including IDC (International Data Corporation), which reports that worldwide spending on Cloud services will grow from $16 billion by 2008 to $42 billion in 2012. Furthermore, many applications making use of Clouds emerge simply as catalysts or market makers that bring buyers and sellers together.
This creates several trillion dollars of business opportunity to the utility/pervasive computing industry, as noted by Bill Joy, co-founder of Sun Microsystems 16.
Cloud computing has high potential to provide infrastructure, services and capabilities required for harnessing this business potential. In fact, it has been identified as one of the emerging technologies in IT as noted in “Gartner’s IT Hype Cycle” A “Hype Cycle” is a way to represent the emergence, adoption, maturity and impact on applications of specific technologies. Cloud computing is definitely at the top of the technology trend, reaching its peak of expectations in just 3-5 years. This trend is enforced by providers such as Amazon, AT&T, Google, Sales Force, IBM, Microsoft, and Sun Microsystems who have begun to establish new data centres for hosting Cloud computing applications such as social networks (e.g. Facebook, and MySpace, gaming portals, business applications, media content delivery, and scientific workflows. It is predicted that within the next two-five years, Cloud computing will become a part of mainstream computing; that is, it enters into the plateau of productivity phase. Now, the term Cloud computing mostly refers to virtual hosting solutions with some or no benefit for customers.
This market segment is known as Infrastructure- as-a-Service (IaaS) and concentrates the majority of the big companies operating in Cloud computing. The technology and the general concepts that characterize IaaS solutions are now largely developed and well established and many companies and users already adopt the Cloud option in order to save in infrastructure costs and access huge computing power on demand. The new challenges for what concerns the mainstream adoption of Cloud computing are more concentrated on how to make a profitable use of this technology and how to simplify the development of Cloud aware applications. In particular, there is an entire market related to the delivery of platforms and tools for building applications that are hosted in the Cloud or leverage Cloud services for many of their tasks. In this sense, the Cloud bus Toolkit for Market Oriented Cloud Computing provides a set of tools
JECET; June – August 2013; Vol.2.No.3, 619-633. 624 and technologies that, taken together, contribute to realize the vision of Cloud computing. It approaches this challenge from a market-oriented perspective, which is one of the driving factors of this technology.
Cloud providers typically centre on one type of cloud functionality provisioning: Infrastructure, Platform or Software / Application, though there is potentially no restriction to offer multiple types at the same time, which can often be observed in PaaS (Platform as a Service) providers which offer specific applications too, such as Google App Engine in combination with Google Docs. Due this combinatorial capability, these types are also often referred to as “components” 19.
(Cloud) Infrastructure as a Service (IaaS) also referred to as Resource Clouds, provide (managed and scalable) resources as services to the user – in other words, they provide enhanced virtualisation capabilities. Accordingly, different resources may be provided via a service interface:
Data & Storage Clouds deal with reliable access to data of potentially dynamic size, weighing resource usage with access requirements and / or quality definition.
Compute Clouds provide access to computational resources, i.e. CPUs. So far, such low-level resources cannot really be exploited on their own, so that they are typically exposed as part of a “virtualized environment” (not to be mixed with PaaS below), i.e. hypervisors. Compute Cloud Providers therefore typically offer the capability to provide computing resources (i.e. raw access to resources unlike PaaS that offer full software stacks to develop and build applications), typically virtualised, in which to execute cloudified services and applications. IaaS (Infrastructure as a Service) offers additional capabilities over a simple compute service.
The idea of using hardware virtualization technologies for providing executing environments on demand is not new. The first attempts to provide a virtual machine based execution environment for applications can be found in the Denali project20. The focus of Denali was to provide a scalable infrastructure able to support the management of large number server applications by using lightweight virtual machines. The use of virtual machine images for customizing the execution environments in Grids was then investigated in Figuereido et al.21. They discussed the benefits in terms of security, management, and support for legacy application, resource control, and portability. VMPlant22 is a framework that embodies these concepts and provides a management infrastructure of virtual machine within a computing Grid. On the same line, Virtual Workspaces23 provides configurable execution environments that dynamically deployed by means of virtual machine images in a Grid infrastructure.
An evolution of these concepts is Nimbus24, which constitutes a complete realization of the IaaS model for science clouds. It is a set of open source tools, when puts together, contribute to deliver an Infrastructure-as-a-Service solution mostly focused on scientific applications. Open Nebula25 and Eucalyptus26 constitute a complete platform for delivering IaaS solutions. Eucalyptus is an open source framework that turns a collection of clusters into a computing and storage cloud. It provides interface compatibility with, and constitutes an alternative to, Amazon EC2 and S3 allowing users to build an Amazon-like private cloud and to migrate naturally to the public infrastructure later. Open Nebula is a virtual machine manager that can be used to deploy virtualized services on both a local pool of resources and on external IaaS clouds. Together with Haizea 25, a resource lease manager that can act as a scheduling backend for Open Nebula, it provides advanced features such as resource reservation and preemption. OpenNebula and Haizea have been developed under the RESERVOIR project27 aiming at defining advanced system and service management approach that will serve as infrastructure for cloud computing implementations.
Pure IaaS solutions are more likely to be found in industry: Amazon is one of the major players in this field. Amazon Elastic Compute Cloud (EC2) provides a large computing infrastructure and a service
JECET; June – August 2013; Vol.2.No.3, 619-633. 625 based on hardware virtualization. By using Amazon Web Services, users can create Amazon Machine Images (AMIs) and save them as templates from which multiple instances can be run. It is possible to run either Windows or Linux virtual machines, for which the user charged per hour for each of the instances running. Amazon also provides storage services with the Amazon Simple Storage Service (S3), users can use Amazon S3 to host large amount of data accessible from anywhere. Joyent provides customers with infrastructure, hosting, and application services. It has been particularly successful in scaling collaborative applications such as Linkedin. Linkedin is a business- oriented social networking site that is used for professional networking. It helps professionals to get known in their field and to build contacts.
and Facebook that now hosts nearly 300 million of users. Other relevant implementations of pure IaaS solutions are GoGrid, ElasticHosts, Rackspace, Flexiscale. Some vendors mostly focused on providing a software management infrastructure that allows users to exploit at best existing virtual infrastructure.
Commercial solutions of this kind rely on existing pure IaaS vendors and provide benefit on top of them.
RightScale provides a management layer aiming to eliminate the vendor lock-in by letting the user to choose the specific virtual infrastructure (Amazon, VMWare, etc) and software stack to compose for their virtual environment (SkyTap). Other vendors, such as CloudCentral and Rejila, add specific features such as facilities for composing your own virtual infrastructure and or automated application packaging and deployment. Other solutions are completely specialized in providing a flexible and full featured virtual infrastructure design environment and do not provide bare metal virtual servers or storage (Elastra, CohesiveFT).
(Cloud) Platform as a Service (PaaS), provide computational resources via a platform upon which applications and services can be developed and hosted. PaaS typically makes use of dedicated APIs to control the behaviour of a server-hosting engine, which executes and replicates the execution according to user requests (e.g. access rate). As each provider exposes his / her own API according to the respective key capabilities, applications developed for one specific cloud provider cannot be moved to another cloud host – there are however attempts to extend generic programming models with cloud capabilities (such as MS Azure). Platform as a Service solutions provide an application or development platform in which users can create their own application that will run on the Cloud. More precisely, they provide an application framework and a set of API that can be used by developers to program or compose applications for the Cloud. Currently, most of the research and the industrial effort has been put into providing IaaS solutions, which are commonly identified as Cloud computing. PaaS solutions are more likely to be explored in the next coming years, once the technologies and the concepts of infrastructure provisioning are fully established. For this reason, there are a limited number of implementations for this approach in both the academy and the industry. We can categorize the PaaS approach into two major streams: those who integrate an IT infrastructure on top of which applications will be executed as a part of the value offering and those, which do not. Solutions, which include an IT infrastructure, are most likely to be found in the industry, while the other ones are more common in the academy. MapReduce 28 has gained a considerable success as a programming model for the Cloud.
Google has proposed it for processing massive quantities of data on large-scale distributed infrastructures. It is characterized by programming model expressing distributed applications in terms of two computations, map and reduce, and a fault tolerant distributed file system that optimized for moving large quantities of data. Hadoop 29 is an open source implementation of MapReduce and has been utilized as Cloud programming platform on top of the Amazon EC2 (Elastic MapReduce) and the Yahoo Cloud Supercomputing Cluster.
Other research works and commercial implementations adopting the PaaS approach mostly focused on providing a scalable infrastructure for developing web applications. App Engine is Platform as-a-Service solution proposed by Google for developing scalable web applications executed on its the large server
JECET; June – August 2013; Vol.2.No.3, 619-633. 626 infrastructure.
It defines an application model and provides a set of APIs that allow developers to take advantage of additional services such as Mail, Datastore, Memcache, and others. Developers can develop their application in different languages (Python, Java, and other JVM based languages), upload it to AppEngine that will execute it in a sandboxed environment and automatically scale up and down.
AppScale30 is an open source implementation of App Engine, developed at the University of California, Santa Barbara. It enables the execution of App Engine applications on local clusters and can utilize Amazon EC2 or Eucalyptus based clouds to scale out applications.
It is meant to provide a framework for scientists to do research on programming cloud applications.
Heroku is a Cloud computing platform that automatically scale web applications based on Ruby on Rails Ruby on Rails (RoR) is an open source web application framework for the Ruby programming language.
It is intended to be used with an Agile development methodologies that for rapid web applications development.. Very few implementations propose a platform for developing any kind of application in the Cloud. Azure is a cloud service operating system that serves as the development, run-time, and control environment for the Azure Services Platform.
By using the Microsoft Azure SDK, developers can create services that leverage the .NET Framework.
These services have to be uploaded through the Microsoft Azure portal in order to be executed on top of Windows Azure. Additional services, such as workflow execution and management, web services orchestration, and access to SQL data stores, are provided to build enterprise applications. Extreme Application Platform (XAP) commercialized by GigaSpaces, is a middleware for developing ultra-fast, scalable, distributed applications. It is based on the concept of space, represent a shared environment that can be used as a fast in memory distributed store, execution runtime for applications, and message bus.
By using XAP it is possible to define policies for elastically scale applications according to their needs.
SaaSGrid commercialized by Apprenda is a software development platform specifically designed for developing SaaS applications. The Granules 31 projects is a lightweight streaming-based runtime for cloud computing. It orchestrates the concurrent execution of applications on multiple machines. The runtime manages an applications execution through various stages of its lifecycle: deployment, initialization, execution and termination. Force.com and CloudHarbor.com are similar examples but mostly focused on the development of Business Process Modeling (BPM) applications.
As part of the Cloud bus Toolkit, Aneka32 is a pure PaaS implementation commercialized by Manjra soft, is a pure PaaS implementation for developing scalable applications for the Cloud. The core value of Aneka is a service oriented runtime environment that deployed on both physical and virtual infrastructures and allows the execution of applications developed by means of various programming models.
(Clouds) Software as a Service (SaaS), also sometimes referred to as Service or Application Clouds are offering implementations of specific business functions and business processes that are provided with specific cloud capabilities, i.e. they provide applications / services using a cloud infrastructure or platform, rather than providing cloud features themselves. Often, kind of standard application software functionality offered within a cloud.
Software as a Service solutions are at the top end of the Cloud computing stack and they provide end users with an integrated service comprising hardware, development platforms, and applications. Users are not allowed to customize the service but get access to a specific application hosted in the Cloud. The SaaS approach 33 for delivering IT services is not new but it has been profitably integrated into the Cloud computing stack by providing an on-demand solution for software applications. Examples of SaaS implementations are the services provided by Google for office automation, such as Google Mail, Google
JECET; June – August 2013; Vol.2.No.3, 619-633. 627
Documents, and Google Calendar, which are delivered free to the Internet users and charged for professional quality services. Examples of commercial solutions are SalesForce.com and Clarizen.com, which provide online CRM (Customer Relationship Management) and project management services, respectively. Appirio is an integrated solution that provides complete support for any management aspect of modern enterprises from project management to resource planning.
Market-Oriented Cloud Architecture: As consumers rely on Cloud providers to supply more of their computing needs, they will require specific QoS to be maintained by their providers in order to meet their objectives and sustain their operations. Cloud providers will need to consider and meet different QoS parameters of each individual consumer as negotiated in specific SLAs. To achieve this, Cloud providers can no longer continue to deploy traditional system-centric resource management architecture that do not provide incentives for them to share their resources and still regard all service requests to be of equal importance. Instead, market-oriented resource management34 is necessary to regulate the supply and demand of Cloud resources to achieve market equilibrium (where supply = demand), providing feedback in terms of economic incentives for both Cloud consumers and providers, and promoting QoS-based resource allocation mechanisms that differentiate service requests based on their utility. In addition, clients can benefit from the “potential” cost reduction of providers, which could lead to a more competitive market and thus lower prices.
There are four main entities involved:
1. Users/Brokers: Users or brokers acting on their behalf submit service requests from anywhere in the world to the Data Center and Cloud to be processed.
2. SLA Resource Allocator: The SLA Resource Allocator acts as the interface between the Data Center/Cloud service provider and external users/brokers. It requires the interaction of the following mechanisms to support SLA-oriented resource management:
a. Service Request Examiner and Admission Control: When a service request first submitted, the Service Request Examiner and Admission Control mechanism interprets the submitted request for QoS requirements before determining whether to accept or reject the request.
Thus, it ensures that there is no overloading of resources whereby many service requests cannot be fulfilled successfully due to limited resources available. It also needs the latest status information regarding resource availability (from the VM Monitor mechanism) and workload processing (from the Service Request Monitor mechanism) in order to make resource allocation decisions effectively. Then, it assigns requests to VMs and determines resource entitlements for allocated VMs.
b. Pricing: The Pricing mechanism decides how service requests are charged. For instance, requests can be charged based on submission time (peak/off-peak), pricing rates (fixed/changing) or availability of resources (supply/demand). Pricing serves as a basis for managing the supply and demand of computing resources within the Data Center and facilitates in prioritizing resource allocations effectively.
c. Accounting: The Accounting mechanism maintains the actual usage of resources by requests so that the final cost can be computed and charged to the users. In addition, the maintained historical usage information can be utilized by the Service Request Examiner and Admission Control mechanism to improve resource allocation decisions.
d. VM Monitor: The VM Monitor mechanism keeps track of the availability of VMs and their resource entitlements.
JECET; June – August 2013; Vol.2.No.3, 619-633. 628 e. Dispatcher: The Dispatcher mechanism starts the execution of accepted service requests on
allocated VMs.
f. Service Request Monitor: The Service Request Monitor mechanism keeps track of the execution progress of service requests.
3. VMs: Multiple VMs can be started and stopped on-demand on a single physical machine to meet accepted service requests, hence providing maximum flexibility to configure various partitions of resources on the same physical machine to different specific requirements of service requests. In addition, multiple VMs can concurrently run applications based on different operating system environments on a single physical machine since every VM is completely isolated from one another on the same physical machine.
4. Physical Machine: The data center comprises multiple computing servers that provide resources to meet service demands.
In the case of a Cloud as a commercial offering to enable crucial business operations of companies, there are critical QoS parameters to consider in a service request, such as time, cost, reliability and trust/security. In particular, QoS requirements cannot be static and may change over time due to continuing changes in business operations and operating environments. In short, there should be greater importance on customers since they pay for accessing services in Clouds. In addition, the state-of-the-art in Cloud computing has no or limited support for dynamic negotiation of SLAs between participants and mechanisms for automatic allocation of resources to multiple competing requests. Recently, we have developed negotiation mechanisms based on alternate offers protocol for establishing SLAs35. These have high potential for their adoption in Cloud computing systems built using VMs. Commercial offerings of market-oriented Clouds must be able to:
i. Support customer-driven service management based on customer profiles and requested service requirements,
ii. Define computational risk management tactics to identify, assess, and manage risks involved in the execution of applications with regards to service requirements and customer needs, iii. Derive appropriate market-based resource management strategies that encompass both customer
driven service management and computational risk management to sustain SLA-oriented resource allocation,
iv. Incorporate autonomic resource management models that effectively self-manage change in service requirements to satisfy both new service demands and existing service obligations.
v. Leverage VM technology to dynamically assign resource shares according to service requirements.
Resource Management Strategies for Market-Oriented Clouds: Since customer satisfaction is the crucial success factor to excel in the service industry36, computing service providers have to be aware of user-centric objectives and meet them in order to achieve customer satisfaction. However, many service quality factors can influence customer satisfaction36-37. Hence, we need to design SLA-oriented resource management strategies for Data Centers and Clouds that provide personalized attention to customers, such as enabling communication to keep customers informed and obtain feedback from them, increasing access and approachability to customers, and understanding specific needs of customers. These strategies can also encourage trust and confidence in customers by emphasizing on the security measures undertaken against risks and doubts, the credibility of the provider, and the courtesy towards customers.
The various elements of utility-based resource management can be perceived as risks and hence
JECET; June – August 2013; Vol.2.No.3, 619-633. 629 identified risk analysis from the field of economics as a probable solution to evaluate them. However, the entire risk management process38-40 comprises of many steps and needs to studied thoroughly too fully realize its effectiveness in managing risks. Hence, we need to first establish the context of risk management in Data Centers and Clouds, and then identify the risks involved. Each of the identified risks will be thoroughly assessed, before deriving appropriate strategies to manage these risks.
In addition, service requirements of users can change over time and thus may require amendments of original service requests. As such, our proposed resource management strategies will be able to self- manage the reservation process continuously by monitoring current service requests, amending future service requests, and adjusting schedules and prices for new and amended service requests accordingly.
Hence, we need to investigate self-configuring components to satisfy new service requirements, so that more autonomic and intelligent Data Centers and Clouds can better manage the limited supply of resources with dynamically changing service demand. For users, there can be brokering systems acting on their behalf to select suitable providers and negotiate with them to achieve ideal service contracts.
Thus, providers also require autonomic resource management to selectively choose appropriate requests to accept and execute depending on a number of operating factors, such as the expected availability and demand of services (both current and future), and existing service obligations.
Recently, virtualization41 has enabled the abstraction of computing resources such that a single physical machine is able to function as a set of multiple logical VMs. A key benefit of VMs is the ability to host multiple operating system environments, which are completely isolated from one another on the same physical machine.
Another benefit is the capability to configure VMs to utilize different partitions of resources on the same physical machine. For example, on a physical machine, one VM can be allocated 10% of the processing power, while another VM can be allocated 20% of the processing power. Hence, we need to leverage existing VM technologies so that VMs can be started and stopped dynamically to meet the changing demand of resources by users as opposed to limited resources on a physical machine. In particular, we need to investigate how VMs can be assigned various resource management policies catering to different user needs and demands to better support the implementation of SLA-oriented resource allocation for Data Centers and Clouds.
Global Cloud Exchanges and Markets: Enterprises currently employ Cloud services in order to improve the scalability of their services and to deal with bursts in resource demands. However, at present, service providers have inflexible pricing, generally limited to flat rates or tariffs based on usage thresholds, and consumers are restricted to offerings from a single provider at a time. Also, many providers have proprietary interfaces to their services thus restricting the ability of consumers to swap one provider for another.
For Cloud computing to mature, it is required that the services follow standard interfaces. This would enable services to be commoditized and thus, would pave the way for the creation of a market infrastructure for trading in services. The market directory allows participants to locate providers or consumers with the right offers. Auctioneers periodically clear bids and asks received from market participants. The banking system ensures that financial transactions pertaining to agreements between participants carried out. Brokers perform the same function in such a market as they do in real-world markets: they mediate between consumers and providers by buying capacity from the provider and sub- leasing these to the consumers. A broker can accept requests from many users who have a choice of submitting their requirements to different brokers. Consumers, brokers and providers are bound to their requirements and related compensations through SLAs. An SLA specifies the details of the service to be provided in terms of metrics agreed upon by all parties, and penalties for meeting and violating the
JECET; June – August 2013; Vol.2.No.3, 619-633. 630 expectations, respectively.
Such markets can bridge disparate Clouds allowing consumers to choose a provider that suits their requirements either by executing SLAs in advance or by buying capacity on the spot. Providers can use the markets in order to perform effective capacity planning. A provider is equipped with a price-setting mechanism, which sets the current price for the resource based on market conditions, user demand, and current level of utilization of the resource. Pricing can be either fixed or variable depending on the market conditions. An admission-control mechanism at a provider’s end selects the auctions to participate in or the brokers to negotiate with, based on an initial estimate of the utility. The negotiation process proceeds until an SLA is formed or the participants decide to break off. These mechanisms interface with the resource management systems of the provider in order to guarantee the allocation being offered or negotiated can be reclaimed, so that SLA violations do not occur. The resource management system also provides functionalities such as advance reservations that enable guaranteed provisioning of resource capacity.
Brokers gain their utility through the difference between the price paid by the consumers for gaining resource shares and that paid to the providers for leasing their resources. Therefore, a broker has to choose those users whose applications can provide it maximum utility. A broker interacts with resource providers and other brokers to gain or to trade resource shares. A broker is equipped with a negotiation module that is informed by the current conditions of the resources and the current demand to make its decisions. Consumers have their own utility functions that cover factors such as deadlines, fidelity of results, and turnaround time of applications. They are also constrained by the amount of resources that they can request at any time, usually by a limited budget. Consumers also have their own limited IT infrastructure that is generally not completely exposed to the Internet. Therefore, a consumer participates in the utility market through a resource management proxy that selects a set of brokers based on their offerings. He then forms SLAs with the brokers that bind the latter to provide the guaranteed resources.
The enterprise consumer then deploys his own environment on the leased resources or uses the provider’s interfaces in order to scale his applications.
The idea of utility markets for computing resources has been around for a long time. Recently, many research projects such as SHARP 42, Tycoon43, Bellagio44, and Shirako 45 have come up with market structures for trading in resource allocations. These have particularly focused on trading in VM-based resource slices on networked infrastructures such as Planet Lab. The Grid bus project has created a resource broker that is able to negotiate with resource providers. Thus, the technology for enabling utility markets is already present and ready to be deployed.
However, significant challenges persist in the universal application of such markets. Enterprises currently employ conservative IT strategies and are unwilling to shift from the traditional controlled environments.
Cloud computing uptake has only recently begun and many systems are in the proof-of-concept stage.
Regulatory pressures also mean that enterprises have to be careful about where their data is processed, and therefore, are not able to employ Cloud services from an open market. This could be mitigated through SLAs that specify strict constraints on the location of the resources. However, another open issue is how the participants in such a market can obtain restitution in case an SLA violated.
CONCLUSION
The conclusion is that, the review was split into three categories based on their focus; the categories:
general introductions, technological aspects of cloud computing and organizational aspects. This paper provides the guidelines and considerations required to IT enterprises for the adoption of cloud computing technology. The paper provides the awareness of cloud computing power to the IT industry by addressing
JECET; June – August 2013; Vol.2.No.3, 619-633. 631 the global challenges. The paper covers the issues that can arise and face in the implementation cloud computing. This paper examines current research issues and developments by presenting the 21st century vision of computing and describing various computing paradigms that have promised or are promising to deliver this grand vision, providing insights on market-based resource management strategies that encompass both customer-driven service management and computational risk management to sustain SLA-oriented resource allocation ,
REFERENCES
1. M.S.W.Janakiram,Cloud Computing Strategist;, “Demystifying the Cloud An introduction to Cloud Computing”, Version a. – March,2010
2. Sun Microsystems, Introduction to Cloud Computing Architecture, 2009
3. W. Fellows, Partly Cloudy, Blue-Sky Thinking About Cloud Computing. 451 Groups, 2008.
4. J.Varia, Cloud Architectures. Amazon Web Services,2009.
5. D.Chappell, Introducing the Azure Services Platform. David Chappell & Associates,2009.
6. J.F.Rayport And A.Heyward, Envisioning the Cloud: The Next Computing Paradigm.
Marketspace,2009.
7. M.Taki Rad, A. Sajedi Badashian, G.Meydanipour, M. Ashurzad Delcheh, M. Alipour, And H.
Afzali, H. 2009. A Survey of Cloud Platforms and Their Future2009,.
8. A.Khajeh-Hosseini, I. Sommerville, And I.Sriram, "Research Challenges for Enterprise Cloud Computing," (unpublished).( Submitted to 1st ACM Symposium on Cloud Computing, Indianapolis, Indiana, USA, June 2010, under paper id 54)
9. A.Malis, A. ‘Routing over Large Clouds (ROLC) Charter”, part of the 32 IETF meeting minutes’ - available at http://www.ietf.org/proceedings/32/charters/rolc-charter.html1983.
10. New York Times ‘Internet Critic Takes on Microsoft’ - available at http://www.
nytimes.com/2001/04/09/technology/09HAIL.html?ex=1217563200&en=7c46bdefb6a8450a
&ei=5070Foster and C. Kesselman (eds). The Grid: Blueprint for a Future-Computing Infrastructure. Morgan Kaufmann, San Francisco, USA, 1999.
11. I. Foster and C. Kesselman (eds). The Grid: Blueprint for a Future Computing Infrastructure.
Morgan Kaufmann, San Francisco, USA, 1999.
12. J.Barr,Amazon EC2 Beta’- available at http://aws.typepad.com/aws/2006/08/
amazon_ec2_beta.html,2006.
13. H.Sutter, ‘The Free Lunch Is Over: A Fundamental Turn Toward Concurrency in Software’, in Dr. Dobb's Journal,2005, 30(3).
14. A.Toffler, ‘The Third Wave’, Pan Books,1980,
15. Leonard Kleinrock. An internet vision: The invisible global infrastructure. AdHoc Networks Journal, 1(1):3–11, July 2003.
16. Rajkumar Buyya, Chee S. Yeo, and Srikumar Venugopal. Market-oriented cloud computing:
Vision, hype, and reality for delivering it services as computing utilities. In HPCC ’08:
Proceedings of the 10th IEEE International Conference on High Performance Computing and Communications, pages 5–13, Washington, DC, USA, 2008. IEEE.
17. Michael Armbrust, Armando Fox, Rean Grifth, Anthony D. Joseph, Randy Katz, Andy Konwinski, Gunho Lee, David Patterson, Ariel Rabkin, Ion Stoica, and Matei Zaharia. Above the clouds: A berkeley view of cloud computing. Technical report, University of California at Berkeley, February 2009.
18. M.Jensen, J. Schwenk, Gruschka, N.; Iacono, L.L.; (2010), “On Technical Security Issues in Cloud Computing”, IEEE International Conference on Cloud Computing, 2009. CLOUD '09, pp 109, 21-25 Sept. 2009. 5708519 searchabstract
19. Wikipedia, ‘Cloud Computing’ - available at http://en.wikipedia.org/wiki/Cloud_computing 20. Andrew Whitaker, Marianne Shaw, and Steven D. Gribble. Denali: a scalable isolation kernel.
In EW10: Proceedings of the 10th workshop on ACM SIGOPS European workshop, pages 10–
15, New York, NY, USA, 2002. ACM.
JECET; June – August 2013; Vol.2.No.3, 619-633. 632 21. Renato J. Figueiredo, Peter A. Dinda, and Jos´e A. B. Fortes. A case for grid computing on
virtual machines. In ICDCS ’03: Proceedings of the 23rd International Conference on Distributed Computing Systems, pages 550–559, Washington, DC, USA, 2003. IEEE.
22. Ivan Krsul, Arijit Ganguly, Jian Zhang, Jose A. B. Fortes, and Figueiredo. VMPlants: Providing and Managing Virtual Machine Execution Environments for Grid Computing. In SC ’04:
Proceedings of the 2004 ACM/IEEE conference on Supercomputing, Washington, DC, USA, 2004. IEEE.
23. Katarzyna Keahey, Ian Foster, Timothy Freeman, and Xuehai Zhang. Virtual Workspaces in the Grid. In EuroPar ’05: Proceedings of the 11th International Euro-Par Conference, volume 3648 of LNCS, pages 421–431, Lisbona, Portugal, 2005. Springer.
24. Kate Keahey, Renato J. Figueiredo, Jos Fortes, Tim Freeman, and Maurcio Tsugawa. Science clouds: Early experiences in cloud computing for scientific applications. In CCA ’08: Cloud Computing and its Applications, Chicago, 2008.
25. Borja Sotomayor, Rub´en Santiago Montero, Ignacio Martin Llorente, and Ian Foster. Resource Leasing and the Art of Suspending Virtual Machines. In HPCC ’08: Proceedings of the 11th IEEE International Conference on High Performance Computing and Communications, pages 59–68, Seoul, Korea, 2009. IEEE.
26. Daniel Nurmi, Rich Wolski, Chris Grzegorczyk, Graziano Obertelli, Sunil Soman, Lamia Youseff, and Dmitrii Zagorodnov. The eucalyptus open-source cloud-computing system. In CCGRID ’09: Proceedings of the 2009 9th IEEE/ACM International Symposium on Cluster Computing and the Grid, pages 124–131, Washington, DC, USA, 2009. IEEE Computer Society.
27. B. Rochwerger, A. Galis, E. Levy, J. A. C´aceres, D. Breitgand, Y. Wolfsthal, I. M. Llorente, M. Wusthoff, R. S. Montero, and E. Elmroth. RESERVOIR: Management technologies and requirements for next generation Service Oriented Infrastructures. In IM’09: Proceedings of the 11th IFIP/IEEE international conference on Symposium on Integrated Network Management, pages 307–310. IEEE, 2009.
28. Jeffrey Dean and Sanjay Ghemawat. MapReduce: simplified data processing on large clusters.
In Operating Systems Design and Implementation, volume 6, San Francisco, CA, 2004.
USENIX
29. Tom White. Hadoop: The Definitive Guide. O’Reilly Media, Inc., June 2009.
30. Navraj Chohan, Chris Bunch, Sydney Pang, Chandra Krintz, Nagy Mostafa, Sunil Soman, and Rich Wolski. AppScale: Scalable and Open AppEngine Application Development and Deployment. In CLOUDCOMP ’09: Proceedings of the First International Conference on Cloud Computing, LNICST, Munich, Germany, October 2009. Springer-Verlag.
31. An overview of the granules runtime for cloud computing. In ESCIENCE ’08: Proceedings of the 2008 Fourth IEEE International Conference on eScience, pages 412–413, Washington, DC, USA, 2008. IEEE
32. Christian Vecchiola, Xingchen Chu, and Rajkumar Buyya. High Speed and Large Scale Scientific Computing, chapter Aneka: A Software Platform for .NET-based Cloud Computing, pages 267– 295. IOS Press, 2009. ISBN: 978-1-60750-073-5.
33. Keith Bennett, Paul Layzell, David Budgen, Pearl Brereton, Linda Macaulay, and Malcolm Munro. Service-based software: the future for flexible software. In APSEC ’00: Proceedings of the Seventh Asia-Pacific Software Engeering Conference., pages 214–221. IEEE, 2000.
34. R. Buyya, D. Abramson, and S. Venugopal. The Grid Economy. Proceedings of the IEEE, 93(3):698-714, March
35. S. Venugopal, X. Chu, and R. Buyya. A Negotiation Mechanism for Advance Resource Reservation using the Alternate Offers Protocol. In Proceedings of the 16th International Workshop on Quality of Service (IWQoS 2008), Twente, The Netherlands, June 2008.
36. B. Van Looy, P. Gemmel, and R. Van Dierdonck (eds). Services Management: An Integrated Approach. Financial Times, Prentice Hall, Harlow, England, 2003.
37. B. Schneider and S. S. White. Service Quality: Research Perspectives. Sage Publications,
JECET; June – August 2013; Vol.2.No.3, 619-633. 633 Thousand Oaks, USA, 2004.
38. C. S. Yeo and R. Buyya. Integrated Risk Analysis for a Commercial Computing Service. In Proceedings of the 21st IEEE International Parallel and Distributed Processing Symposium (IPDPS 2007), Long Beach, USA, Mar. 2007.
39. M. Crouhy, D. Galai, and R. Mark. The Essentials of Risk Management. McGraw-Hill, New York, USA, 2006
40. R. R. Moeller. COSO Enterprise Risk Management: Understanding the New Integrated ERM Framework. John Wiley and Sons, Hoboken, USA, 2007.
41. P. Barham, B. Dragovic, K. Fraser, S. Hand, T. Harris, A. Ho, R. Neugebauer, I. Pratt, and A.
Warfield. Xen and the Art of Virtualization. In Proceedings of the 19th ACM Symposium on Operating Systems Principles (SOSP 2003), Bolton Landing, USA, Oct. 2003.
42. Y. Fu, J. Chase, B. Chun, S. Schwab, and A. Vahdat. SHARP: an architecture for secure resource peering. ACM SIGOPS Operating Systems Review, 37(5):133-148, Dec. 2003.
43. K. Lai, L. Rasmusson, E. Adar, L. Zhang, and B. A. Huberman. Tycoon: An implementation of a distributed, market-based resource allocation system. Multiagent and Grid Systems, 1(3):169- 182, 2005.
44. AuYoung, B. Chun, A. Snoeren, and A. Vahdat. Resource allocation in federated distributed computing infrastructures. In Proceedings of the 1st Workshop on Operating System and Architectural Support for the Ondemand IT Infrastructure (OASIS 2004), Boston, USA, Oct.
2004.
45. D. E. Irwin, J. S. Chase, L. E. Grit, A. R. Yumerefendi, D. Becker, and K. Yocum. Sharing networked resources with brokered leases. In Proceedings of the 2006 USENIX Annual Technical Conference (USENIX 2006), Boston, USA, June 2006.
*Corresponding Author: Asutosh Kumar Pandey, Rishiraj Institute of Technology, Indore
.