Keywords

1 Introduction

Cloud Computing has brought a revolution in providing service. Service is a self-containing and self-describing piece of code which can be discovered. Every utility starting from infrastructure or hardware, platform or operating system and software or application can be provided as service through the cloud. Provider use “Multi-Tenancy”, where the pool of resources are shared among multiple clients. Services in cloud is provided on pay-as-you-use basis, i.e., with proper terms and conditions consumers can access the service and need to pay according to usage. Permanent hardware, software buying is no longer required at consumer side. Hence, cloud computing is cost effective and becoming more popular. A piece of formal agreement will be very helpful in doing the business such a way that nobody suffers. There will be penalties for wrong access or incurred losses.

Service Level Agreement or SLA is a very important part of contract note between cloud provider and consumer. As providers are selling cloud service on shared mode, also they have different resource provisioning plans and consumers are paying for their usage. It is essential to create an agreement based on specific criteria metric for demand by consumers and duration of usage and price, penalties for non-fulfillment of promises made or over usage. The SLA is “the formal legal document” which gives a target to the provider for service provision and to consumers SLA gives metric to monitor and assess the usage of resources. Provider or consumer can only set target or challenge against non-fulfillment of promises with the help of formal legal document. A standard, clear unambiguous SLA helps both parties involved in provisioning and monitoring services.

Objective of this paper is to explain briefly the importance of SLA in cloud computing along with phases of its lifecycle, template, and parameters. This paper also proposes sample SLA template on which basis service provisioning and monitoring being carried out successfully. SLA provides a basic foundation for provisioning of services in future. Organization of the paper as follows: Sect. 2 presents related work and overview of cloud computing is presented in Sect. 3. Details of service level agreement with its different phases of lifecycle, template definition and parameters are studied and discussed in Sect. 4. Service monitoring is carried out at a regular interval based on sample SLA template definition. This has been explained in Sects. 5 and 6 concludes the paper.

2 Related Work

This section presents the study of related work in the SLA-based cloud computing research and finalizes its motivation. According to Chouhan et al. [2], SLA is not only a piece of document it provides the necessary parameters to compare different service provider. This paper proposes an algorithm for parameter matching in the cloud by comparing different SLAs. Alhamad et al. in [1] provided a conceptual SLA framework and detailed listing of the parameter for different service models.

Patel et al. [7] discussed how to use Web Service Level Agreement (WSLA) in cloud computing architecture as cloud also works on service mode. In Keller et al. [6] proposed a WSLA framework in order to define and monitor SLAs related to dynamic e-business. In [8], the research is a detailed technical report for monitoring quality of service in web service presented by Zegnis and Plexousakis. It also contains discussion on SLA framework. This research work studies the phases of SLA lifecycle, template, and parameters. Finally, this paper proposes a non-functional or general xml schema and standard SLA template with some service level metric for SaaS.

3 Overview of Cloud Computing

Cloud enables access to information from any web-enabled hardware and provides the facility to run the service from many devices at the same time. Though resources are distributed in nature but essential difference between distributed computing and cloud is dedicated network Vs internet or web. Cloud Service is essentially distributed in nature comprising of main three service models, i.e., “IaaS”, “PaaS”, “SaaS” and four deployment model, i.e., “Private”, “Public”, “Community” and “Hybrid” clouds [4].

In spite of accessing many utilities as a process, some of the challenging issues in cloud computing are Security, Terms, and Condition of Service Usage, Technical Difficulties and Downtime and Lack of control and flexibility. To overcome the challenges of hosting the service in cloud nowadays SLA-based provisioning, as well as monitoring of services, are required. As promises are meant to be broken so a legal formal document is needed to be verified for any claim.

4 Service Level Agreement

Service level agreement (SLA) is the formal contract between provider and consumers of service which formally states the objective of the services and quality of output. Role and responsibilities of provider and consumers are also defined in this agreement. It is desirable that based on customers expectation and service limitations a realistic target is defined in SLA. SLA sets the standardized expectations and obligations of both parties and acts as a roadmap to the successful implementation of service. SLA acts as a future foundation for provisioning and monitoring of services in cloud computing.

Consumers need SLAs to specify their requirements regarding quality of service, security, and a backup plan for performance failure. SLA also includes the list of parameters which cloud provider wants to be excluded from the contract signed with consumers. However, consumers are free to choose between different service providers. As proposed in Cloud Standardization Guidelines [3] SLA should be platform independent, business neutral, technology independent, worldwide applicable. It is possible to define different types of SLA related to the same service. As the consumers (single user, medium business consumer and corporate users) vary, the expectations and terms and conditions will be changed. Service-Based SLA emphasizes on providers restrictions while Customer-Based SLA prioritizes consumers need or requirement.

4.1 SLA Life Cycle

General awareness of all the phases of SLA life cycle is essential for both the parties before making the agreement. Different phases proposed by Zegnis and Plexousakis [8] are described below:

  1. (a)

    Service and SLA Template Development: This phase identifies SLA parameters and its measurement metrics according to consumer requirement.

  2. (b)

    Negotiation: Maximum and minimum values to be set for each SLA parameter identified in earlier phase, price for service provisioning, penalty of violation of terms, termination or renewal conditions are negotiated in this phase.

  3. (c)

    Preparation: Configuring runtime environment of service, i.e., resource allocation as per the SLA and final deployment.

  4. (d)

    Execution: Execution phase includes two sub phases service execution and service monitoring based on collection of SLA parameter at runtime.

  5. (e)

    Assessment: Each SLA parameter is assessed against monitored value and defined formulas for specified metric related to this parameter.

  6. (f)

    Renewal or termination: It defines the validity period for each contract. On completion of this period, SLA will be renewed or terminated.

4.2 SLA Template

First and foremost task for SLA-based management is to formalize an SLA template. Standard SLA template will bring clarity and understanding on how the target will be achieved by the service. Comparable SLA can be prepared using a standard template. A standard SLA template consists of the following characteristics:

  1. (a)

    Purpose: It establishes the goal of this agreement.

  2. (b)

    Stakeholders: It includes participants in the agreement establishment process and their role.

  3. (c)

    Validity Period: The period up to which the agreement will be valid.

  4. (d)

    Review Period: Interval after which service will be assessed or reviewed.

  5. (e)

    SLA Parameter: It includes non-functional objectives of the service through different parameters. These parameters, values are computed and verified through the metric using formula.

  6. (f)

    Penalties: It is a boost for the reputation of the service provider. The penalty for non-fulfillment of the target by the provider or over usage by the consumer may be stated here.

  7. (g)

    Exclusion Terms: Provider or consumer may put some exclusion term (e.g., Network provider’s speed) which will not be covered by SLA.

4.3 Parameters

According to SLA life cycle and SLA template discussed so far it is found that to implement SLA-based monitoring and assessment, identification of service level parameter and objective of each parameter (SLO) is a very important factor. Key performances indicators (KPI) are measurable metric with threshold/boundary value (Maximum-Minimum value). KPI is used to decide whether SLOs are fulfilled are not. KPI are different for different cloud services.

Some important SLA parameters are Availability, Response time, Cost/Billing, Reliability, Usability, Customizability, and Scalability. To monitor these parameters KPI metrics need to be identified. For example, Uptime and Percentage of the successful request are KPIs for Availability parameter.

5 Service Monitoring Based on SLA

In cloud computing, service needs to be monitored based on signed SLA. SLA or KPI defined in SLA plays a critical role in determining whether SLOs are achieved or violated. SLOs can be achieved only when all the KPIs are within the range of agreed or negotiated values for each SLA parameter. KPIs are metric for data collection which generally contains raw data. KPI constraints are generally minimum, maximum values, but it also includes average value. State of SLA parameters can be calculated through KPI data. If for each SLA parameter, calculated value from each KPI metrics are within their limit of defined constraints then only SLO for that parameter is achieved. This paper proposes SLA template and presented in Fig. 1.

Fig. 1
figure 1

SLA Template

Although services could be scalable in large scale cost effectively some challenges exist with SLA parameters. According to [7], three common web-based SLA level services exist which can be adapted to cloud context. These services are briefly mentioned in the following:

  1. (i)

    Measurement Service: Measures the runtime parameters (response time, throughput, duration of usage and price per usage) which dynamically changes with clients’ or consumers’ demand.

  2. (ii)

    Condition Evaluation Service: It considers input as obtained from Measurement Service and evaluates SLO and check whether any violation happens.

  3. (iii)

    Management Service: considers remedial steps (financial penalties, restoration support, etc.) in case of non-fulfillment of service level objectives.

Private clouds afford consumers direct access to monitoring the computing, network, and storage elements. However, in public cloud, they lose direct control of—and visibility over—the assets comprising the services.

6 Conclusion

This paper presents the overall importance of SLA in cloud computing. Quality of service (QoS) is inevitable in the cloud as everything in cloud computing is delivered as service. The ability to deliver QoS guaranteed services and to retain QoS are crucial in cloud computing. SLA plays an important role in this scenario. This paper studies the phases of SLA lifecycle, template and parameters from various existing research work. Then it also proposes a non-functional and standard SLA template with some service level metrics for evaluation. As clearly defined targets reduce the chances of customer disappointments. These targets also help provider to stay focused on customer requirements and ensures that the internal processes remain in right track.