Inzinger, C. H. (2014). Adaptation and evolution of service-based applications in cloud computing environments [Dissertation, Technische Universität Wien]. reposiTUm. https://doi.org/10.34726/hss.2014.23931
Serviceorientierte Architektur (SOA) hat sich in den vergangenen Jahren als beliebtes Paradigma zur effizienten Entwicklung von Anwendungen etabliert, basierend auf der Komposition von lose gekoppelten Komponenten. Die Verwaltung solcher Servicebasierten Anwendungen (SBAs) stellt Anwender jedoch weiterhin vor einige Herausforderungen, da SBAs im Allgemeinen über lange Zeit im Einsatz bleiben, und deren Funktionalität trotz Veränderungen in deren Umgebung, oder auftretenden Fehlern, zur Verfügung stellen müssen. Daher müssen SBAs für die funktionelle Weiterentwicklung, oder Evolution, entworfen werden, um sich ändernden Geschäftsprozessen und technischen Anforderungen anpassen zu können. Das Cloud-Computing-Paradigma eröffnet neue Möglichkeiten für SBAs, um auf Veränderungen in ihrer Umgebung zu reagieren. IT-Infrastruktur muss nicht mehr im Vorhinein beschafft und für Spitzenlasten dimensioniert werden, sondern kann, mit Hilfe entsprechender Kontroll-Logik, einfach und schnell an aktuelle Anforderungen angepasst werden. Cloud-Dienste machen auch signifikante evolutionäre Veränderungen der Architektur einer SBA möglich. Um SBAs, die einfach weiterentwickelt und auf Änderungen reagieren können, erfolgreich zu implementieren, müssen Anwender in der Lage sein, relevante Aspekte der SBA einfach zu modellieren, zu überwachen und zu steuern. In dieser Arbeit werden neuartige Ansätze zur Adaptierung und evolutionären Anpassung von Anwendungen in Cloud-Umgebungen vorgestellt, die den gesamten Softwareentwicklungsprozess betrachten. Das Evolution Lifecycle-Modell ermöglicht vereinheitliche Behandlung von Änderungsanforderungen in jeder Phase des Anwendungsentwicklungsprozesses und erleichtert den Austausch von relevanten Information zwischen Entwicklungsphasen. Weiters wird ein System zur Realisierung von adaptiven Systemen vorgestellt, bei dem die Adaptierung von SBAs durch Cloud-Betreiber verwaltet wird, um deren Erfahrungen mit der Verwaltung komplexer verteilter Systeme ohne große Vorabinvestitionen nutzen zu können. Mit Hilfe einer domänenspezifischen Sprache können adaptive SBAs und deren Kontrollstruktur effizient modelliert werden, ohne dass Anwender maßgeschneiderte Lösungen implementieren müssen. Um die Auswirkungen von unerwarteten Änderungen in Laufzeitumgebungen von SBAs zu minimieren, wird ein Ansatz vorgestellt, der Kontrolllogik schrittweise, mit Hilfe von Techniken des maschinellen Lernens, verbessern kann. Schließlich wird ein Verfahren zur automatischen Identifikation von Implementierungs-Inkompatibilitäten vorgestellt, das mit Hilfe von Entscheidungsbäumen fehlerhafte Parameter-Kombinationen und Partner-Service-Zuordnungen erkennen kann. Die Ergebnisse unserer Untersuchungen werden anhand mehrerer Fallstudien ausgewertet und zeigen, dass unsere Ansätze die strukturierte Weiterentwicklung von Anwendungen wesentlich erleichtern können, und deren Robustheit durch autonome Verbesserung von Adaptierungslogik signifikant erhöht werden kann.
de
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.
en
Additional information:
Zsfassung in dt. Sprache. - Literaturverz. S. 107 - 122