In practice, the design and architecture of a cloud varies among cloud
providers. We present a generic evaluation framework for the
performance, availability and reliability characteristics of various
cloud platforms. We describe a generic benchmark architecture for cloud
databases, specifically NoSQL database as a service. It measures the
performance of replication delay and monetary cost.
Service Level Agreements (SLA) represent the contract which captures the
agreed upon guarantees between a service provider and its customers. The
specifications of existing service level agreements (SLA) for cloud
services are not designed to flexibly handle even relatively
straightforward performance and technical requirements of consumer
applications. We present a novel approach for SLA-based management of
cloud-hosted databases from the consumer perspective and an end-to-end
framework for consumer-centric SLA management of cloud-hosted databases.
The framework facilitates adaptive and dynamic provisioning of the
database tier of the software applications based on application-defined
policies for satisfying their own SLA performance requirements, avoiding
the cost of any SLA violation and controlling the monetary cost of the
allocated computing resources. In this framework, the SLA of the
consumer applications are declaratively defined in terms of goals which
are subjected to a number of constraints that are specific to the
application requirements. The framework continuously monitors the
application-defined SLA and automatically triggers the execution of
necessary corrective actions (scaling out/in the database tier) when
required. The framework is database platform-agnostic, uses
virtualization-based database replication mechanisms and requires zero
source code changes of the cloud-hosted software applications.