A REVIEW ON ENGERY BASED SERVICE LEVEL AGREEMENT IN CLOUD ENVIRONMENT

Cloud Computing is being used widely all over the world by many IT companies as it provides various benefits to the users like cost saving and ease of use. However, with the growing demands of users for computing services, cloud providers are encouraged to deploy large datacenters which consume very high amount of energy and also contribute to the increase in carbon dioxide emission in the environment. Therefore, we require to develop techniques which will help to get more environment friendly computing i.e. Green Cloud Computing. Cloud computing is an increasingly popular paradigm for accessing computing resources. This paper discusses some of the research challenges for cloud computing from an enterprise or organizational perspective, and puts them in context by reviewing the existing body of literature in cloud computing. Various research challenges relating to the following topics are discussed: the organizational changes brought about by cloud computing; the economic and organizational implications of its utility billing model; the security, legal and privacy issues that cloud computing raises. It is important to highlight these research challenges because cloud computing is not simply about a technological improvement of data centers but a fundamental change in how IT is provisioned and used. This type of research has the potential to influence wider adoption of cloud computing in enterprise, and in the consumer market too.


INTRODUCTION TO CLOUD COMPUTING
Cloud computing is a recently developing paradigm of distributed computing. Though it is not a new idea that emerged just recently. In 1969 [16] L. Kleinrock anticipated, As of now, computer networks are still in their infancy. But as they grow up and become more 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." His vision was the true indication of today's utility based computing paradigm. One of the giant steps towards this world was taken in mid 1990s when grid computing was first coined to allow consumers to obtain computing power on demand. The origin of cloud computing can be seen as an evolution of grid computing technologies. The term Cloud computing was given prominence first by Google's CEO Eric Schmidt in late 2006 (may be he coined the term) [6]. So the birth of cloud computing is very recent phenomena although its root belongs to some old ideas with new business, technical and social perspectives. From the architectural point of view cloud is naturally build on an existing grid based architecture and uses the grid services and adds some technologies like virtualization and some business models.
In brief cloud is essentially a bunch of commodity computers networked together in same or different geographical locations, operating together to serve a number of customers with different need and workload on demand basis with the help of virtualization. Cloud services are provided to the cloud users as utility services like water, electricity, telephone using pay-as-you-use business model. These utility services are generally described as XaaS (X as a Service) where X can be Software or Platform or Infrastructure etc. Cloud users use these services provided by the cloud providers and build their applications in the internet and thus deliver them to their end users. So the cloud users don't have to worry about installing, maintaining hardware and software needed. And they also can afford these services as they have to pay as much they use. So the cloud users can reduce their expenditure and effort in the field of IT using cloud services instead of establishing IT infrastructure themselves. Cloud is essentially provided by large distributed data centers. These data centers are often organized as grid and the cloud is built on top of the grid services. Cloud users are provided with virtual images of the physical machines in the data centers. This virtualization is one of the key concept of cloud computing as it essentially builds the abstraction over the physical system. Many cloud applications are gaining popularity day by day for their availability, reliability, scalability and utility model. These applications made distributed computing easy as the critical aspects are handled by the cloud provider itself. Cloud computing is growing now-a-days in the interest of technical and business organizations but this can also be beneficial for solving social issues. In the recent time E-Governance is being implemented in developing countries to improve efficiency and effectiveness of governance. This approach can be improved much by using cloud computing instead of traditional ICT. In India, economy is agriculture based and most of the citizens live in rural areas. The standard of living, agricultural productivity etc can be enhanced by utilizing cloud computing in a proper way. Both of these applications of cloud computing have technological as well as social challenges to overcome. Cloud computing has become an established paradigm for running services on external infrastructure, where virtually unlimited capacity can be dynamically allocated to suit the current needs of customers and where new instances of a service can be deployed within a short time frame. Although the term Cloud computing has come to include several kinds of technologies offering remote execution and service management, it is used in this paper to denote scalable elastic data center infrastructures offering dynamic and cost-efficient service provisioning. There are many different Cloud computing solutions available, such as Amazon Elastic Compute Cloud [1]. However, different Cloud computing solutions are rarely compatible with each other and this creates a kind of vendor lock-in which is not only limiting to the customer, but also limits the potential of Cloud computing as a whole since separate Cloud computing solutions are unable to interoperate. Grid computing can be seen as one of several predecessors to Cloud computing. Grid computing is often about making large computations using large amounts of resources, whileas Cloud computing is more about making large amounts of resources available to many different applications over a longer period of time.
Clouds leverage modern technologies such as virtualization to provide the infrastructure needed to deploy services as utilities. Still, Cloud computing and Grid computing share a lot of the underlying technology and many concepts from Grid computing can be modified and made suitable for Cloud computing as well. Cloud computing is Internet("CLOUD") based development and use of computer technology ("COMPUTING").
Cloud computing is a paradigm of distributed computing to provide the customers on-demand, utility based computing services. Cloud users can provide more reliable, available and updated services to their clients in turn. Cloud itself consists of physical machines in the data centers of cloud providers. Virtualization is provided on top of these physical machines. These virtual machines are provided to the cloud users. Different cloud provider provides cloud services of different abstraction level. E.g. Amazon EC2 enables the users to handle very low level details where Google App-Engine provides a development platform for the developers to develop their applications. So the cloud services are divided into many types like Software as a Service, Platform as a Service or Infrastructure as a Service. These services are available over the Internet in the whole world where the cloud acts as the single point of access for serving all customers. Cloud computing architecture addresses difficulties of large scale data processing.

ADVANTAGES OF USING CLOUD
The advantages for using cloud services can be of technical, architectural, business etc.

1.Cloud Providers' point of view
(a) Most of the data centers today are underutilized. They are mostly 15% utilized. These data centers need spare capacity just to cope with the huge spikes that sometimes get in the server usage. Large companies having those data centers can easily rent those computing power to other organizations and get profit out of it and also make the resources needed for running data center (like power) utilized properly.
(b) Companies having large data centers have already deployed the resources and to provide cloud services they would need very little investment and the cost would be incremental.

Cloud Users' point of view
(a) Cloud users need not to take care about the hardware and software they use and also they don't have to be worried about maintenance. The users are no longer tied to someone traditional system.
(b) Virtualization technology gives the illusion to the users that they are having all the resources available.
(c) Cloud users can use the resources on demand basis and pay as much as they use. So the users can plan well for reducing their usage to minimize their expenditure.
(d) Scalability is one of the major advantages to cloud users. Scalability is provided dynamically to the users. Users get as much resources as they need. Thus this model perfectly fits in the management of rare spikes in the demand.

SERVICE MODELS
There are different types of services are provides by cloud models like: Software as a Service(SaaS), Platform as a Service (PaaS), and Infrastructure as a Service (IaaS) [6] which are deployed as public cloud, private cloud, community cloud and hybrid clouds.

1) Software as a Service (SaaS):-
The capability provided to the consumer is to use the some applications which is running on a cloud infrastructure. The applications are accessible from many devices through an interface such as a web browser (e.g., web-based email). The consumer does not control the cloud infrastructure which includes network, and servers, all operating systems, and provides storages. Software-as-a-Service (SaaS) is the broadest market. In this case the provider allows the customer only to use its applications. The software interacts with the user through a user interface. These applications can be anything from web based email, to applications like Twitter or Last.fm. This is the idea that someone can offer you a hosted set of software (running on a platform and infrastructure) that you don't own but pay for some element of utilization -by the user, or some other kind of consumption basis. You don't have to do any development or programming, but you may need to come in and configure the (very flexible, configurable and sometimes customizable) Web. It facilitates development and deployment of applications without the cost and complexity of buying and managing the underlying infrastructure, providing all of the facilities required to support the complete life cycle of building and delivering web applications and services entirely. PaaS [5] provides all the resources that are required for implementation of applications and all services completely from the Internet. In this no downloading or installing is required of any software.

3) Infrastructure as a Service (IaaS):-
Infrastructure-as-a-Service (IaaS) provides virtual servers with unique IP addresses and blocks of storage on demand. Customers can pay for exactly the amount of service they use, like for electricity or water, this service is also called utility computing. The capability provided to the consumer is to access all the processing, storage , networks and other many fundamental computing resources . Consumer [5] [6] is able to deploy arbitrary software, which can include operating systems and applications. The consumer does not manage or control the underlying cloud infrastructure but has control over operating systems, storage ,deployed application ,and possibly limited control of select networking components.

DEPLOYMENT MODELS
Depending on infrastructure ownership, there are four deployment models of cloud computing [6]. [9] allows users to access the cloud publicly. It is access by interfaces using internet browsers. Users pay only for that time duration in which they use the service, i.e., pay-per-use. In Public cloud or external cloud resources are dynamically provisioned on a fine-grained, selfservice basis over the Internet, via web applications/web services, from an off-site thirdparty provider who shares resources and bills on a fine-grained utility computing basis.

1) Public Cloud: -Public cloud
2) Private Cloud:-A private clouds [10] operation is with in an organization's internal enterprise data center. The main advantage here is that it is very easier to manage security in public cloud. Example of private cloud in our daily life is intranet. Private cloud and internal cloud products claim to "deliver some benefits of cloud computing without the pitfalls", capitalizing on data security, corporate governance, and reliability concerns. They have been criticized on the basis that users "still have to buy, build, and manage them and as such do not benefit from lower upfront capital costs and less hands-on management, essentially.

3) Hybrid Cloud: -
It is a combination of public cloud [11] and private cloud. .It provide more secure way to control all data and applications .It allows the party to access information over the internet. It allows the organization to serve its needs in the private cloud and if some occasional need occurs it asks the public cloud for some computing resources. A hybrid cloud environment consisting of multiple internal and/or external providers. It can also describe configurations combining virtual and physical, collocated assets 4) Community Cloud:-When cloud infrastructure construct by many organizations jointly, such cloud model is called as a community cloud. The cloud infrastructure could be hosted by a third-party provider or within one of the organizations in the community.

GREEN COMPUTING
Green computing, also called green technology, is the environmentally sustainable to use of computers and related resources like -monitors, printer, storage devices, networking and communication systems -efficiently and effectively with minimal or no impact on the environment. Green computing whose goals are to reduce the use of hazardous materials, maximize energy efficiency during the product's lifetime, and promote the recyclability or biodegradability of defunct products and factory waste. Conserving resources means less energy is required to produce, use, and dispose of products ,Saving energy and resources saves money. Green computing even includes changing government policy to encourage recycling and lowering energy use by individuals and businesses. Green computing is commonly referred to as Green IT. The idea is to ensure the least human impact on the environment. Apart from this, it aims to achieve environmental sustainability. in simple language, green computing is the scientific study of efficient and effective designing, manufacturing, using, disposing, and recycling of computers and computer related products like servers, network systems, communication systems, monitors, USBs, printers, etc. The study uses science to create technologies that help to preserve natural resources and reduce the harmful impact on the environment.

ENERGY AWARE SLA
Service Level agreements play an important part in any of the customer based services. In the case of cloud computing also SLAs paves a path towards customer satisfaction as well to satisfy the Quality of the services provided. The Energy Aware SLAs comes into the picture of cloud computing in order to make the cloud ecosystem more ecofriendly. A Service Level Agreement (SLA) is a formal, negotiated document that gives the detailed description on the services provided to a Customer. The various terms specified in a SLA are to be monitored regularly. A Contract is an agreement between two or more customers/providers whereas service-level agreement is a portion of a service contract in which a service is defined in a formal way. The main service aspects are quality, quantity, scope, responsibilities and those of which are agreed between the service provider and the service customer. The main highlight of cloud computing is the employment of shared resources, which in turn is made possible through the shared cloud infrastructure. The SLAs spreads over all the cloud environment. Usually the SLAs are given as a customer based agreement. But here it is off ered by the service providers as a service based agreements. The underlying side of cloud computing, compared to SLAs, it is very difficult to find out the main cause for service disturbances in cloud environment as it is very complex by nature.
Energy Aware SLA extends the existing SLA agreements in order to include energy and carbon aware parameters. By using Energy Aware SLA relaxing of certain jobs are done in a standardized way in order to achieve high amount of energy consumption with minimized eff ect on the efficiency and availability of the system. The energy requirements on the data centres have increased massively in the last few years. One of the optimization challenges for reducing its energy requirements is to keep servers well utilized .The amounts of money spend by the customers and data centres for the purpose of energy requirements are also increasing day by day. During the peak hours a large amount of energy is required to process and execute the jobs by the cloud provider, here comes the significance of Energy Aware SLA which is an energy efficient SLA which specifies certain requirements to the provider asking to hold back the low priority jobs for some period of me that is during the peak time which will in turn reduce the power consumption. Also the C02 emission bound is also specified in the agreement so that the available energy is utilized in an efficient way also by reducing the amount of money at the customer side and the provider side.

RESEARCH MOTIVATION
The fact that electricity consumption is set to rise 76% rom 2007 to 2030 [9] and datacenters are the main contributors of an important portion of this increase, emphasizes the importance of reducing energy consumption in clouds. Increase in the level of carbon dioxide in our ecosystem is another consequence of this increasing amount of energy consumption by the datacenters. According to Gartner, the Information and communication industry produces 2% of global carbon dioxide emission [10]. Hence, there is a great requirement of making use of more environmentally friendly computing called "Green Cloud Computing" to minimize operational and energy consumption costs and also to reduce the environmental impact. The number of online services-such as search, social networks, online gaming, online shopping and video streaming has exploded. This has led to the construction of large-scale computing data centers consuming enormous amounts of electrical power and are emitting CO2 in the environment. Low Priority jobs in the existing work are kept in waiting state and are not executed if the datacenter's consumed energy is greater than the threshold value. Only High priority jobs are executed and will be able to get the services from the cloud. High priority jobs will add more burden to the virtual machine if the virtual machine is already running at the threshold value. Hence, consuming more amount of energy. Waiting time of the cloudlets whether they are of high priority or low priority is more in the current scenario.

CLOUD SIM
The CloudSim simulation layer provides support for modeling and simulation of virtualized Cloud-based data center environments including dedicated management interfaces for VMs, memory, storage, and bandwidth. The fundamental issues, such as provisioning of hosts to VMs, managing application execution, and monitoring dynamic system state, are handled by this layer. A Cloud provider, who wants to study the efficiency of different policies in allocating its hosts to VMs (VM provisioning), would need to implement his strategies at this layer. Such implementation can be done by programmatically extending the core VM provisioning functionality. There is a clear distinction at this layer related to provisioning of hosts to VMs. A Cloud host can be concurrently allocated to a set of VMs that execute applications based on SaaS provider's defined QoS levels. This layer also exposes the functionalities that a Cloud application developer can extend to perform complex workload profiling and application performance study. The top-most layer in the CloudSim stack is the User Code that exposes basic entities for hosts (number of machines, their specification, and so on), applications (number of tasks and their requirements), VMs, number of users and their application types, and broker scheduling policies. By extending the basic entities given at this layer, a Cloud application developer can perform the following activities: (i) generate a mix of workload request distributions, application configurations; (ii) model Cloud availability scenarios and perform robust tests based on the custom configurations; and (iii) implement custom application provisioning techniques for clouds and their federation.

CONCLUSION
Cloud computing is a newly developing paradigm of distributed computing. Virtualization in combination with utility computing model can make a difference in the IT industry and as well as in social perspective. Though cloud computing still in its infancy but it's clearly gaining momentum. Organizations like Google, Yahoo, and Amazon are already providing cloud services. The products like Google App-Engine, Amazon EC2, and Windows Azure are capturing the market with their ease of use, availability aspects and utility computing model. Users don't have to be worried about the hinges of distributed programming as they are taken care of the cloud providers. They can devote more on their own domain work