Hummer, W. (2014). Reliable provisioning of data-centric and event-based applications in the cloud [Dissertation, Technische Universität Wien]. reposiTUm. https://doi.org/10.34726/hss.2014.23905
Das vergangene Jahrzehnt der Forschung von verteilten Systemen war unter anderem geprägt von drei Trends: Service-Oriented Architecture (SOA) hat sich als verbreitetes Paradigma für lose gekoppelte verteilte Applikationen etabliert; Event-basierte Systeme (EBS) ermöglichen komplexe Applikationslogiken basierend auf korrelierten Event-Daten; darüber hinaus hat Cloud Computing die Technologien für Virtualisierung und Ressourcen-Allokation vorangetrieben, wodurch fortgeschrittene Implementierungsmöglichkeiten für SOA und EBS entstehen. Verteilte Systeme im Allgemeinen, sowie Applikationen in der Cloud im Speziellen, sind häufig strengen Anforderungen an Verlässlichkeit und Sicherheit unterworfen. Die Anforderungen ergeben sich aus mehreren Gründen wie Geschäftszielen (z.B. Kosten/Nutzen-Abwägungen), vertraglichen Verpflichtungen (z.B. Dienstgütevereinbarungen), oder Gesetzen. Software-Testen gilt als zentraler Ansatz mit dessen Hilfe versucht wird, Fehler zu identifizieren bzw. zu vermeiden. Ein weiterer wichtiger Aspekt ist Fehler-Management, mit unterschiedlichen Herausforderungen wie Fehler-Identifikation sowie Anpassung des Systems an Laufzeit-Fehler. Zudem haben Sicherheit und Zugriffskontrolle einen hohen Stellenwert, insbesondere in Cloud-Umgebungen mit mehreren Mandanten. Die systematische Berücksichtigung dieser Aspekte ist eine zentrale Problematik, welche präzises Wissen über potenzielle Fehler und Gefährdungen erfordert. Die vorliegende Dissertation behandelt die ebengenannten Probleme und entwickelt neue Methoden und Werkzeuge für den verlässlichen Betrieb von datenzentrierten und event-basierten Applikationen in der Cloud. Die primäre Art der hier untersuchten Anwendungen sind Geschäftsprozesse und technische Abläufe, bei denen eine Vielzahl von technischen Services, insbesondere auch Daten, aus verschiedenen Quellen verarbeitet und integriert werden. Das vorgestellte System bietet eine robuste, skalierbare und sichere Plattform für derartige Applikationen. Die Forschungsbeiträge werden anhand dreier Teile diskutiert. Das Kernstück ist WS-Aggregation, eine verteilte Plattform zur Verarbeitung von event-basierten Daten mit Funktionalitäten für Skalierbarkeit, optimierte Lastverteilung, Laufzeit-Adaptierung, sowie Fehler-Management. Die TeCoS Plattform bietet Methoden für systematisches Testen und identifiziert Anwendungsfehler sowie Integrationsprobleme, wie z.B. Daten-Inkompatibilitäten. Mittels Regeln zur Zugriffskontrolle stellt die SeCoS Plattform Verantwortlichkeiten sicher und blockiert unerlaubte Zugriffe. Der gesamte Ansatz wird umfangreich evaluiert und mit existierenden Arbeiten verglichen. Eine Vielzahl von repräsentativen Experimenten in unterschiedlichen Cloud-Umgebungen demonstrieren die Performance, Skalierbarkeit und Elastizität des Systems. Die zweite Art von Experimenten evaluiert den Test-Ansatz und zeigt durch gezielten Einbau von Fehlern in laufende Applikationen, dass das System korrekt Fehler erkennt. Der dritte Teil der Evaluierung untersucht den Mechanismus zur Zugriffskontrolle unter den Gesichtspunkten Konsistenz und Laufzeitverhalten.
de
The past decade of distributed systems research has been shaped, among others, by three major trends: Service-Oriented Architecture (SOA) is a popular paradigm for implementing loosely coupled distributed applications; Event-Based Systems (EBS) are gaining momentum as a means for encoding complex business logic based on correlated event messages; moreover, Cloud Computing (CC) has fostered advanced virtualization and resource allocation techniques, further shaping the implementation possibilities of SOA and EBS. Distributed computing systems in general, and applications in the Cloud in particular, are often burdened with stringent requirements concerning reliability and security, dictated by business objectives (e.g., cost-benefit tradeoffs), contractual agreements (e.g., service level agreements, SLAs), or laws. One approach to reliability is software testing, which aims at identifying and avoiding software-induced faults in the first place. A second important aspect of reliability is fault management, which involves different challenges such as fault detection and runtime adaptation. Additionally, security and access control play a crucial role, particularly for multi-tenant Cloud environments. Systematic consideration of these aspects in the software development and validation process is a key concern and requires precise knowledge about the type and nature of potential threats to reliability. This doctoral thesis tackles the aforementioned challenges and contributes a set of novel methods and tools for reliable provisioning of data-centric and event-based applications in the Cloud. The primary types of considered applications are business processes and workflows which integrate services and particularly data from a plurality of sources, leveraging established concepts of SOA and EBS. The framework introduced in this thesis provides a robust, scalable, and secure execution environment for such applications. The contribution is split up into three core parts. First, WS-Aggregation is an event-based data processing platform that features elasticity, optimized load distribution, runtime adaptation, and fault management. Second, the TeCoS platform is used to perform systematic testing for application bugs and integration issues such as data incompatibilities. Third, the SeCoS framework enforces access control policies to assure responsibilities and avoid unauthorized actions. The approach is thoroughly evaluated and put into perspective with existing work. A multitude of representative experiments have been conducted with the implemented prototypes, deployed in different commercial and open source Cloud environments. The large-scale performance tests demonstrate the elasticity under changing workload patterns. The second class of experiments evaluates the testing approach by injecting various faults into running application instances. This evaluation shows that the system correctly identifies faults and reports the achieved test coverage in different configurations. In a third step, the access control enforcement procedure is evaluated for consistency and performance.