Leitner, P. (2011). On preventing violations of service level agreements in composed services using self-adaptation [Dissertation, Technische Universität Wien]. reposiTUm. https://resolver.obvsg.at/urn:nbn:at:at-ubtuw:1-55787
Web Dienste; Service Komposition; autonomes Systemmanagement; Optimierung; Dienstgütevereinbarungen
de
Web services; service composition; autonomic computing; optimization; service level agreements
en
Abstract:
Anbieter von Web Diensten (engl. Web services), die durch eine Komposition existierender Dienste implementiert werden, sind oft mit der Herausforderung konfrontiert, vertragliche Ver- pflichtungen (sogenannte Dienstgütevereinbarungen, engl. Service Level Agreements) technisch einhalten zu müssen. Dienstgütevereinbarungen regeln die minimale Dienstqualität, die Kunden des Dienstes für jede Benutzung erwarten dürfen. Wenn diese Vereinbarungen nicht eingehalten werden können, ist im Allgemeinen eine vereinbarte Strafzahlung (Pönale) fällig. Allerdings kann auch das Einhalten der Vereinbarung zu Kosten für den Dienstanbieter führen, zum Bei- spiel, weil der Anbieter auf kostpieligere Basisdienste innerhalb seiner Komposition zurück- greifen muss, um die Dienstgütevereinbarungen einzuhalten. Daher gibt es Fälle, in denen es ökonomisch sinnvoll ist, bestimmte Vereinbarungen bewusst zu verletzen, auch wenn ein Ein- halten der Dienstgütevereinbarung technisch möglich gewesen wäre. Die Entscheidung, ob eine Vereinbarung eingehalten oder gebrochen werden soll ist daher nicht trivial.<br />Zusätzlich sollte diese Entscheidung optimalerweise automatisiert getroffen werden, um ein schnelles Reagieren auf Änderungen im Geschäftsumfeld des Dienstes zu ermöglichen.<br />In der vorliegenden Abschlussarbeit wird ein System vorgestellt, dass optimale Laufzeitan- passung von Dienstkompositionen in Bezug auf Dienstgütevereinbarungen realisiert. Dieses System (genannt PREvent, Prediction and Prevention of SLA Violations Based on Events) nutzt Techniken des maschinellen Lernens und der heuristischen Optimierung, um Modelle zur Vor- hersage von Verletzungen der Vereinbarungen zu generieren. Diese Modelle werden auch be- nutzt, um zur Laufzeit des Dienstes zu entscheiden, welche Anpassungen vorgenommen werden sollten, um die Qualität des Dienstes zu verbessern. Eine Optimierungskomponente entscheidet, ob diese Anpassungen auch ökonomisch sinnvoll sind, das heißt, ob die Pönale für die Verlet- zung der Vereinbarung höher ist als die Kosten der Anpassung. Wenn dies der Fall ist, werden die Anpassungen automatisiert vorgenommen. Allgemein gesprochen ist PREvent ein selbstopti- mierendes System im Sinne des autonomen Systemmanagements (engl. autonomic computing), dessen Ziel die Minimierung der Gesamtkosten für den Dienstanbieter ist.<br />Die Ergebnisse der vorliegenden Abschlussarbeit werden an Hand eines beispielhaften Diens- tes erörtert und evaluiert. Die Arbeit zeigt, dass Dienstanbieter mit Hilfe des PREvent Systems ihre Gesamtkosten signifikant senken können. Zusätzlich wird auch die Anzahl an Verletzun- gen von Dienstgütevereinbarungen reduziert, wodurch auch die Kundenzufriedenheit gesteigert werden kann.<br />
de
Providers of composite Web services face the challenge of having to comply to Service Level Agreements (SLAs), which are agreements governing the minimum performance that customers can expect from a composite service. SLAs contain Service Level Objectives (SLOs), concrete numerical Quality of Service (QoS) objectives, which the service needs to fulfill. If objectives are violated, agreed upon consequences (usually taking the form of penalty payments) go into effect. However, fulfilling SLAs can also lead to costs for the service provider (e.g., because the composite service provider needs to use more expensive services itself, or because of the costs inherent to optimizing the composition). Therefore, it is not trivial for the provider to decide to what extend the service's SLAs should be fulfilled, or which SLAs should (temporarily) be violated for economical reasons. Even more so, these decisions should ideally be automated, to allow for fast reactions to changes in the business environment.<br />In this thesis, a framework for optimizing adaptations of service compositions with regards to SLA violations has been developed. The framework, dubbed PREvent (Prediction and Pre- vention of SLA Violations Based on Events), uses techniques from the areas of machine learning and heuristic optimization to construct models for prediction of SLA violations at runtime, and to decide which adaptation actions may be used to improve overall performance in a composi- tion instance. An optimizer component decides, whether applying these changes makes sense economically (i.e., whether the costs of violating the SLAs are bigger than the adaptation costs). If this is the case, the respective actions are applied in an automated way. At its core, Prediction and Prevention of SLA Violations Based on Events (PREvent) is a self-optimizing system in the sense of autonomic computing, with the target of minimizing the total costs of adaptations and SLA violations for the service provider.<br />The outcomes of the thesis are explained and evaluated based on an illustrative case study. Results show that, using the PREvent system, providers of composite Web services are able to reduce their total costs. Furthermore, for service clients, the advantage of PREvent is that the number of SLA violations is reduced. This in turn increases client satisfaction.