dc.description.abstract |
<p>As cloud computing is gaining popularity, many application owners are migrating
their</p><p>applications into the cloud. However, because of the diversity of the
cloud environments</p><p>and the complexity of the modern applications, it is very
challenging to find out which</p><p>cloud environment is best fitted for one's application.</p><p>In
this dissertation, we design and build systems to help application owners select the</p><p>most
suitable cloud environments for their applications. The first part of this thesis
focuses</p><p>on how to compare the general fitness of the cloud environments. We
present CloudCmp,</p><p>a novel comparator of public cloud providers. CloudCmp measures
the elastic computing,</p><p>persistent storage, and networking services offered by
a cloud along metrics that directly</p><p>reflect their impact on the performance
of customer applications. CloudCmp strives to</p><p>ensure fairness, representativeness,
and compliance of these measurements while limiting</p><p>measurement cost. Applying
CloudCmp to four cloud providers that together account</p><p>for most of the cloud
customers today, we find that their offered services vary widely in</p><p>performance
and costs, underscoring the need for thoughtful cloud environment selection.</p><p>From
case studies on three representative cloud applications, we show that CloudCmp can</p><p>guide
customers in selecting the best-performing provider for their applications.</p><p>The
second part focuses on how to let customers compare cloud environments in the</p><p>context
of their own applications. We describe CloudProphet, a novel system that can</p><p>accurately
estimate an application's performance inside a candidate cloud environment</p><p>without
the need of migration. CloudProphet generates highly portable shadow programs</p><p>to
mimic the behavior of a real application, and deploys them inside the cloud to estimate</p><p>the
application's performance. We use the trace-and-replay technique to automatically</p><p>generate
high-fidelity shadows, and leverage the popular dispatcher-worker pattern</p><p>to
accurately extract and enforce the inter-component dependencies. Our evaluation in</p><p>three
popular cloud platforms shows that CloudProphet can help customers pick the bestperforming</p><p>cloud
environment, and can also accurately estimate the performance of a</p><p>variety of
applications.</p>
|
|