Doctor's Theses (authored and supervised):
"Adaptation and Evolution of Service-Based Applications in Cloud Computing Environments";
Supervisor, Reviewer: S. Dustdar, L. Baresi;
Institut für Informationssysteme, Distributed Systems Group,
oral examination: 2014-04-24.
The emergence of the Service Oriented Architecture (SOA) paradigm enabled software architects to efficiently design applications based on the composition of loosely coupled services. However, maintaining such Service-Based Applications (SBAs) over time still poses several challenges. SBAs are expected to successfully perform business tasks in changing environments. Unexpected problems need to be handled gracefully by application control policies. Hardware failures, software issues, and changes in execution environments, such as modifications of partner services, should not lead to service disruptions. Hence, SBAs must be designed for continued functional
evolution to account for changing business and technical requirements. The utility-oriented cloud computing paradigm opens up novel possibilities for applications reacting to changes in their
environment. The possibility to quickly and easily provision computing resources relieves application architects and operators from having to statically provision infrastructure for peak usage.
This allows for the implementation of elastic applications that dynamically adjust their resource usage to current demand given appropriate control policies. The on-demand nature of cloud offerings
makes even significant evolutionary changes to an applicationīs architecture feasible. To successfully implement SBAs that can predictably react to changes in their environment and can
be safely evolved, practitioners must be able to effectively model, monitor and control relevant application aspects to properly document and execute application adaptation and evolution.
This thesis contributes a set of novel approaches for SBA evolution and adaptation in cloud environments. We introduce a holistic framework for enabling structured evolution and adaptation of SBAs throughout the complete software development process. A novel evolution lifecycle model and accompanying strategies allow for unified handling of change requests in any lifecycle phase, and facilitate the propagation of necessary changes between phases in a controlled manner. We present a method for provider-managed adaptation that enables customers to leverage provider experience managing complex distributed systems without requiring large upfront investments. Using a novel Domain-Specific Language (DSL) to model applications and their control structure, SBAs can effectively and efficiently react to changes in their environment without operators
needing to implement custom solutions. To mitigate the effects of unexpected changes in application execution environments, we present an approach based on machine learning techniques to incrementally improve adaptation policies. Finally, we introduce a method for automated identification of service implementation incompatibilities using pooled decision trees for localizing faulty service parameter and binding configurations, explicitly addressing transient and changing fault conditions. The results of our investigations are evaluated based on multiple case studies and show that our approaches can significantly contribute to facilitate structured evolution of
SBAs and increase system robustness by autonomically improving adaptation policies.
Created from the Publication Database of the Vienna University of Technology.