Database Reference
In-Depth Information
10.3
SLA Management
An SLA is a contract between a service provider and its customers. Service Level
Agreements (SLAs) capture the agreed upon guarantees between a service provider
and its customer. They define the characteristics of the provided service including
service level objectives (SLOs) (e.g. maximum response times) and define penalties
if these objectives are not met by the service provider. In practice, flexible and
reliable management of SLA agreements is of paramount importance for both of
cloud service providers and consumers. For example, Amazon found that every
100 ms of latency costs them 1% in sales and Google found that an extra 500 ms
in search page generation time dropped traffic by 20%. In addition, large enterprise
web applications (e.g., eBay and Facebook) need to provide high assurances in
terms of SLA metrics such as response times and service availability to their users.
Without such assurances, service providers of these applications stand to lose their
user base, and hence their revenues.
In general, SLA management is a common general problem for the different
types of software systems which are hosted in cloud environments for different
reasons such as the unpredictable and bursty workloads from various users in
addition to the performance variability in the underlying cloud resources [ 112 , 208 ].
In practice, resource management and SLA guarantee falls into two layers: the cloud
service providers and the cloud consumers (users of cloud services). In particular,
the cloud service provider is responsible for the efficient utilization of the physical
resources and guarantee their availability for their customers (cloud consumers).
The cloud consumers are responsible for the efficient utilization of their allocated
resources in order to satisfy the SLA of their customers (application end users)
and achieve their business goals. The state-of-the-art cloud databases do not allow
the specification of SLA metrics at the application nor at the end-user level. In
practice, cloud service providers guarantee only the availability (uptime guarantees),
but not the performance, of their services [ 68 , 75 , 124 ]. In addition, sometimes
the granularity of the uptime guarantees is also weak. For example, the uptime
guarantees of Amazon EC2 is on a per data center basis where a data center is
considered to be unavailable if a customer can not access any of its instances or
can not launch replacement instances for a contiguous interval of 5 min. In practice,
traditional cloud monitoring technologies (e.g. Amazon CloudWatch ) focus on low-
level computing resources (e.g. CPU speed , CPU utilization , I/O disk speed ). In
general, translating the SLO of software application to the thresholds of utilization
for low-level computing resources is a very challenging task and is usually done in
an ad-hoc manner due to the complexity and dynamism inherent in the interaction
between the different tiers and components of the system. Furthermore, cloud
service providers do not automatically detect SLA violation and leave the burden
of providing the violation proof on the customer [ 75 ].
In the multi-tenancy environment of DaaS, it is an important goal for DaaS
providers to promise high performance to their tenants. However, this goal normally
conflicts with another goal of minimizing the overall running servers and thus
Search WWH ::




Custom Search