the cloud provider can be used to start and stop ap-
plication instances. Monitoring metrics data required
to take adaptation decisions are modeled with the ap-
plication objectives, or a push-based approach simi-
lar to current provider-assisted scaling solutions such
as the previously Amazon CloudWatch is used. The
model allows for specification of conventional event
condition action (ECA) rules to govern application
behavior, so existing applications can easily migrate
their current adaptation strategy. Alternatively, the
customer can define a simple utility function to re-
flect application objectives according to desired char-
acteristics, such as ‘response time should not exceed
500ms’, ‘service quality should be as high as possi-
ble’, and ‘infrastructure cost should be as low as pos-
sible’. This is possible since adaptation points contain
indications on how they will affect application behav-
ior. Adaptation point SetFragmentCacheTimeout,
for instance, will indicate that higher parameter values
should decrease response time, but will also decrease
service quality. These indications will initially be sup-
plied by customers, but the cloud provider will mon-
itor the effects of performed corrective actions and
adjust adaptation point information during the run-
time of the application. The provider-managed adap-
tation service uses the customer-supplied objectives
and infers optimized actionable adaptation strategies.
A cloud provider can not only use monitoring data
from the application to be controlled, but also con-
sider historical data from different but similar cus-
tomers, leveraging time series analysis to better an-
ticipate load patterns or even adaptation action effects
for common components such as databases.
Allowing for provider-assisted application adap-
tation at runtime has a number of distinct advantages.
Outsourcing some control over adaptation decisions
will benefit customers. Providers can offer optimized
adaptation decisions based on data from similar cus-
tomers. Furthermore, providers are able to improve
resource provisioning strategies and offer better ser-
vice to customers.
By handing off control over the execution of
adaptation actions, customers can benefit from the
provider’s expertise in reliability and resilience en-
gineering. They are relieved of implementing their
own complex adaptation mechanisms and can use an
advanced, thoroughly tested solution offered by the
cloud provider without investing large amounts of
capital or personnel. Leveraging economies of scale,
the cloud provider in turn can offer their adaptation
solution to customers with competitive pricing strate-
gies while retaining appropriate return on investment.
Using data from a multitude of customers, the
cloud provider can make better adaptation decisions
for customers, enabling higher levels of service, as
well as cost savings for customers and the provider.
By analyzing time series data of a large number of
customers, the provider can anticipate, for instance,
future load patterns much more accurately than a sin-
gle customer could with their data alone. This allows
for better adaptation decisions, as the provider can es-
tablish categories of customers, enabling more pre-
cise load predictions based on signals like traffic pat-
terns and geographical distribution. Using this data,
the provider can offer targeted adaptation decisions
or recommendations for geographic placement of in-
stances, or even migration of instances to more suit-
able locations.
Furthermore, the additional information available
to the provider will enable highly optimized resource
provisioning, keeping over-provisioning at even lower
levels than with traditional elastic applications that
can only analyze traffic patterns from their own past.
Customers naturally benefit from lower resource us-
age by paying less, while the provider now has ac-
cess to previously unused but, due to inefficient provi-
sioning, inaccessible resources. Furthermore, the sup-
plied adaptation goals can be used to react in different
ways to varying environmental conditions. Depend-
ing on the utility, it might be more reasonable for an
application to defer certain processing steps to a later
time, thus reducing load on application instances, be-
fore scaling out by adding new machines. Similarly,
when request traffic declines it might be beneficial
to process queued tasks on the now underused in-
stances – at least until their current billing interval is
over – before terminating them to reduce infrastruc-
ture costs. The customer-provided utility functions
guide the adaptation decisions considering applica-
tion performance, service quality, as well as infras-
tructure costs. While the presented approach is ide-
ally deployed by the cloud provider, a transitional im-
plementation could also be realized as part of a cloud
abstraction layer like the meta cloud (Satzger et al.,
2013), allowing the use of a managed adaptation so-
lution without explicit cloud provider support.
4 CONCLUSIONS
In this paper we presented a novel approach for
provider-managed, model-based adaptation of cloud
computing applications. Customers are not required
to implement their own adaptation solution, but can
use a simple model to specify desired application
behavior. The presented approach has the poten-
tial for significant cost savings and increased appli-
cation quality for customers by utilizing a sophisti-
MODELSWARD2013-InternationalConferenceonModel-DrivenEngineeringandSoftwareDevelopment
354