Abstract |
Cloud computing has recently become an important model of infrastructural
services that complements, and in some cases replaces, traditional data
centers in providing distributed applications with the resources they need to
serve Internet-scale workloads. The multitude of Cloud providers offering
infrastructural services today raise the challenge of heterogeneity in the resources
available to applications. An application developer is thus faced with
the problem of choosing an appropriate set of Cloud providers and resources
to support their application. One way to address this problem is to establish
a Cloud-independent classification of Cloud resources and to systematically
explore a large collection of past execution histories of real deployments of
applications.
In this thesis we present an architecture for the modeling, collection,
and evaluation of long-term histories of deployments of distributed multitier
applications on federations of Clouds (Multi-Clouds). Our goal is to
capture several aspects of application development and deployment lifecycle,
including the evolving application structure, requirements, goals, and
service-level objectives; application deployment descriptions; runtime monitoring,
and quality control; Cloud provider characteristics; and to provide a
Cloud-independent resource classification scheme that is a key to reasoning
about Multi-Cloud deployments of complex large-scale applications. Since
our target is to capture the continuous evolution of applications and their
deployments over time, we ensure that our metadata model is designed to
optimize space usage. Additionally, we demonstrate that using the model
and data collections over varying deployments of an application (using the
SPEC jEnterprise2010 distributed benchmark as a case study) one can answer
important questions about which deployment options work best in terms
of performance, reliability, cost, and combinations thereof. As an example,
our analysis can pinpoint the most cost-effective among a dozen deployments
of an application leading to savings of $2,100 per year without impacting its
service-level objectives.
|