Cloud Deployment andArchitectural Refactoring Lab
Marcel Tinner, Daniel Zigerlig · HSR (HSR University of Applied Sciences Rapperswil) · 2013
Cloud Computing hat sich in den letzten Jahren vom Trendthema zur wichtigen Architekturalternative für Entwicklung und Betrieb von Web-Anwendungen und anderer Software entwickelt. Daher war es nur eine Frage der Zeit, bis dieses Thema auch im Informatikstudium an der HSR behandelt wird. Ab dem Frühlingssemester 2014 wird deshalb das Modul „Cloud Computing“ angeboten. Für die Vorbereitung dieses Moduls, insbesondere der Übungslektionen, werden Beispielanwendungen benötigt, welche die gelehrten Cloud- Konzepte (wie z.B. Cloud Computing Patterns) veranschaulichen und die technische Umsetzung der Konzepte und Patterns bei Cloud-Providern demonstrieren. Im Rahmen dieser Studienarbeit wurden die drei PaaS-Anbieter Heroku, CloudBees und Google App Engine, die für den Übungsbetrieb besonders geeignet sind, detailliert analysiert. Um die Cloud-Konzepte sowie die spezifischen Eigenschaften der ausgewählten Cloud-Provider zu testen und zu veranschaulichen, wurden mehrere Beispielapplikationen entwickelt. Die vorliegende Arbeit stellt einfache Tests mit den Anbietern sowie sieben neu erstellte Applikationen vor, welche die verschiedenen Cloud-Eigenschaften, wie das Map Reduce Pattern, das Verhalten von Sockets, den Unterschied von MySQL zu NoSQLDatenbanksystemen aufzeigen sowie eine Kostengegenrechnung ermöglichen. Die Analyse der Cloud-Umgebungen orientierte sich an einem in Rahmen der Arbeit erstellten Kriterienkatalog. Dieser Kriterienkatalog entwickelte sich während der Arbeit iterativ und inkrementell aus Vorgaben des Betreuers, einer Literaturrecherche sowie Erkenntnissen und Erfahrungen, die während Entwicklung und Test der Beispielanwendungen gewonnen wurden. Die vierzehn Kriterien im Katalog beschreiben wichtige Eigenschaften der PaaS-Anbieter und zeigen Vor- sowie Nachteile. Der Katalog kann als Entscheidungshilfe bei der Wahl eines geeigneten Cloud-Anbieters dienen.