Titelaufnahme

Titel
Cloud computing application adaptation as a service / von Michael Osl
VerfasserOsl, Michael
Begutachter / BegutachterinDustdar, Schahram ; Hummer, Waldemar ; Inzinger, Christian
Erschienen2014
UmfangXI, 97 S. : graph. Darst.
HochschulschriftWien, Techn. Univ., Dipl.-Arb., 2014
Anmerkung
Zsfassung in dt. Sprache
SpracheEnglisch
DokumenttypDiplomarbeit
Schlagwörter (DE)Cloud Computing / Verteilte Systeme / OpenStack / Web Services / Service-Orchestrierung / Autonomic Computing
Schlagwörter (EN)Cloud Computing / Distributed Systems / OpenStack / Web Services / Service Orchestration / Autonomic Computing
URNurn:nbn:at:at-ubtuw:1-75544 Persistent Identifier (URN)
Zugriffsbeschränkung
 Das Werk ist frei verfügbar
Dateien
Cloud computing application adaptation as a service [1.07 mb]
Links
Nachweis
Klassifikation
Zusammenfassung (Deutsch)

Orchestrierungssprachen ermöglichen es Anwenderinnen und Anwendern von Cloud-Computing-Diensten, die statische Struktur von Ressourcen-Kompositionen in Form von Vorlagen (engl. Templates) zu spezifizieren. Übermittelt eine Anwenderin oder ein Anwender eine solche Vorlage an den Orchestrierungsdienst, erstellt der Anbieter den spezifizierten Stack von Ressourcen für die Anwenderin oder den Anwender. Trotz ihrer Nützlichkeit verfügen diese Orchestrierungssprachen jedoch nur über eingeschränkte Möglichkeiten, vom Anbieter verwaltetes, elastisches Laufzeitverhalten von Cloud-Computing-Ressourcen festzulegen. In der Regel beschränkt sich diese Unterstützung auf Skalierung auf Ressourcen-Ebene und "Wenn-Dann"-Regeln. Benötigt eine Anwenderin oder ein Anwender eine detailliertere Kontrolle über das elastische Laufzeitverhalten (z. B. auf Anwendungsebene), so muss sie oder er diese Fähigkeiten selbst implementieren. In dieser Diplomarbeit erkunden wir die Möglichkeiten, Orchestrierungssprachen so zu erweitern, dass es einer Anwenderin oder einem Anwender möglich wird, detailliertes elastisches Verhalten zu spezifizieren. Um das elastische Verhalten zu unterstützen, untersuchen wir die Frage, wie ein Anbieter innerhalb einer existierenden Cloud-Infrastruktur einen Dienst zur Verfügung stellen kann, der die erweiterten Orchestrierungs-Templates unterstützt. Abschließend befassen wir uns mit der Frage, ob die gesammelten Daten der Stack-Anwendungen vom Anbieter verwendet werden können, um daraus adaptive Entscheidungen ableiten zu können. Wir entwickeln dazu einen Prototyp eines vom Cloudanbieter verwalteten Adaptierungs-Dienstes auf Basis der quelloffenen Cloud-Computing-Plattform OpenStack. Der Prototyp besteht aus einem Plug-In für den Orchestrierungs-Dienst OpenStack Heat; einer Komponente, welche den Stack überwacht und autonom Konfigurationen anpasst; einem Dienst, welcher Beobachtungspunkte der Anwendung sammelt und die Konfigurationen bereitstellt sowie einem Programm, welches die Beobachtungspunkte an den Dienst übermittelt. Wir evaluieren den Prototypen sowohl mit einem Simulator als auch einem realen Anwendungs-Szenario, um zu zeigen, dass es möglich ist, bestehende Orchestrierungssprachen um elastische Gesichtspunkte zu erweitern. Ebenso zeigen wir, dass sich eine solche Erweiterung mittels Ressourcen-Plug-Ins nahtlos in OpenStack Heat einfügen lässt. Abschließend demonstriert unsere Evaluierung, dass man die gesammelten Beobachtungspunkte dazu nutzen kann, mit einem distanzbasierten Algorithmus sinnvolle Konfigurationen abzuleiten, um von der Anwenderin oder vom Anwender definierte Vorgaben einzuhalten.

Zusammenfassung (Englisch)

In cloud computing, orchestration languages allow a user to specify the static structure of resource compositions in the form of templates. When a user submits the template to the orchestration service, the provider creates the specified resource stack on behalf of the user. Despite their usefulness, existing template languages provide only limited support to specify provider managed, elastic run-time behavior of cloud computing resources. Usually, this support is limited to scaling on the resource level and "if-then" rules. A user who needs more fine grained elasticity (e.g. on the application level) must implement the capabilities on his or her own. In this thesis we explore the possibilities to extend orchestration template languages so that a user can specify more fine grained elastic behavior with them. To support the elastic behavior, we research the question how a provider can offer a managed service that supports the extended orchestration templates within an existing cloud infrastructure. Finally, we explore the question if it is possible for the provider to utilize the monitored data from the client applications in order to derive adaptive decisions. We implement a prototype of a provider managed cloud computing application adaptation service based on the open source cloud computing platform OpenStack. The presented prototype consists of a plug-in for the orchestration service OpenStack Heat, a component that monitors and manages client stacks by adjusting configurations in an autonomic way, a service that collects observation points from applications and provides the configurations for the application as well as a client agent that transmits observation points to the service. We evaluate the prototype both with a simulator and a real world scenario to demonstrate that it is possible to extend an existing orchestration language in order to support elastic runtime behavior. We also show that it is possible to integrate such an extension seamlessly into OpenStack Heat with resource plug-ins. Finally, our evaluation demonstrates that the autonomic manager can use the set of collective observation points to derive reasonable configuration results with respect to user defined application objectives using a distance based algorithm.