The Amazon Cloud Instance Management Tool (Bachelor Thesis, Finished)

Author

Valentina Smirnova

Description

Automatisierte Konfiguration einer Laufzeitumgebung für verteilte Workflows in der Cloud

Verteilte Informationssysteme bestehen in der Regel aus vielen verschiedenen und vor allem heterogenen Komponenten und besitzen daher eine sehr komplexe Laufzeitumgebung. Für diese Systeme werden zumeist unterschiedliche Programmbibliotheken und Konfigurationsdateien sowie weitere Ressourcen benötigt. Sie benötigen darüber hinaus eine Infrastruktur, auf der sie ausgeführt werden können. Dies kann unter Umständen eine hohe Anzahl von verteilten Systemen, z.B. virtuelle Maschinen in der Cloud sein. Eine kosteneffiziente Möglichkeit, eine beliebige Anzahl von Systemen zu instanziieren, bieten IaaS (Infrastructure as a Service) Systeme in der Cloud, so z.B. Amazon EC2 (Elastic Compute Cloud).

Ein typischer Workflow, welcher auf EC2 ausgeführt wird, ist wie folgt strukturiert:

a) Der Benutzer definiert Details wie z.B. die Anzahl der gewünschten Instanzen, benötigte Softwarepakete etc. in einer Konfigurationsdatei, welche für die nachfolgenden Schritte massgeblich ist.

b) Ein vorgegebenes AMI (Amazon Machine Image) dient als Grundlage, um eine bestimmte Anzahl von EC2 Instanzen zu starten.

c) Auf den Instanzen müssen u.U. bestimmte Softwarepakete installiert werden. Des weiteren können auch Verzeichnisse oder Dateien auf die Instanzen kopiert werden.

d) Anschliessend werden alle Instanzen individuell konfiguriert und die Forschungssysteme gestartet.

e) Zuletzt werden die Ergebnisse in Form von z.B. Dateien oder Konsolenausgaben zentral gesammelt und gespeichert bzw. ausgegeben.

Beispiele für solche komplexen verteilten Informationssysteme aus dem Forschungsumfeld der Universität Basel sind OSIRIS oder UBstore, bei denen speziell die sehr flexible Konfiguration wie auch der Einsatz in unterschiedlichen Anwendungsszenarien zu einer sehr komplexen Laufzeitumgebung führt. Das Ziel dieser Bachelorarbeit ist es, am Beispiel von OSIRIS und UBstore ein Tool zu entwickeln, welches die automatisierte Ausführung von Forschungsworkflows ermöglicht. Hierzu soll die Infrastruktur von Amazon EC2 als Grundlage dienen. Eine grosse Rolle spielt die visuelle Umsetzung. Der Benutzer soll zu jedem Zeitpunkt des Workflows eine Übersicht über den aktuellen Status erhalten. Die Arbeit gliedert sich wie folgt:

1) Definition von Workflowbeschreibungen in einer Konfigurationsdatei. In der Workflowbeschreibung sind sowohl Eigenschaften, die den gesamten Workflow betreffen als auch

Eigenschaften, die für spezifische Instanzen gelten, enthalten.

2) Definition eines erweiterbaren Java‐Frameworks, ähnlich ANT oder gar als Erweiterung von ANT. Das Framework soll es ermöglichen, neue Tasks zu definieren und zu implementieren.

3) Entwicklung eines (OSGi‐konformen) Controllers, welcher eine API für die typischen Arbeitsschritte anbietet, so z.B. kreieren von Instanzen anhand einer AMI, installieren einer Software oder kopieren eines Dateisystems. Dieser ist eine konkrete Implementierung im o.g. Framework.

4) Integration einer grafischen Benutzeroberfläche, welche die Verwaltung von Workflows erlaubt und den aktuellen Status eines Workflows anzeigt. Darüber hinaus soll die GUI eine Konsole enthalten, welche Interaktion mit den EC2‐Instanzen erlaubt (z.B. per SSH).

6) Optional: Entwicklung einer Client‐Server Variante, so dass Zugriff auf einen Workflow per Mobiltelefon erfolgen kann.

Bachelor Thesis download:DARYA2 - Deploy and Run your Applications Anywhere

Supervisors

Research Topics