Composite services are fundamental to the integration of heterogeneous enterprise applications, and especially to build complex distributed applications that extend across the boundaries of organizations. Their guaranteed Quality of Service (QoS) characteristics, such as availability and performance, are formulated within Service Level Agreements (SLAs), service providers and consumers agree upon. Service providers need to dimension the capacities of their infrastructures in accordance to these guarantees. Misestimating the load their services are exposed to, results in violating SLAs and facing penalties. Papers, proposing solutions to this issue, either focus on the services instead of the infrastructure, hosting a composite service, or do not consider opportunities of hosting composite services in the Cloud. This thesis suggests deploying a composite service, together with its infrastructure, into the Cloud, so service providers take advantage of the Cloud's handling of resources. Moreover it proposes an approach to reduce the amount of SLA violations by using these capabilities.
Therefore, the design and implementation of a runtime engine for composite services will be explained. The engine is able to provision itself with additional resources, and uses an eventdriven approach to evaluate SLA violations. A prototype, using the open source Cloud platform Eucalyptus, was implemented as part of this thesis. Its internals and deployment within Eucalyptus will be presented in detail.
The ideas presented within this thesis are applicable to Amazon Elastic Compute Cloud (EC2) as well. This is because Eucalyptus makes use of similar concepts (e.g., pre-built machine images and instance types) and provides a compatible interface. As will be shown by the results of an extensive evaluation, considering both the benefits and imitations of the proposed approach, the prototype is able to significantly reduce the amount of SLA violations, even to an extent that also outweighs potential costs.