Friedrich-Alexander-Universität Erlangen-Nürnberg  /   Technische Fakultät  /   Department Informatik

Middleware - Cloud Computing (MW) - Übung (WS 2021/22)

Inhalt der Übungen

  • Entwicklung eines Cloud-basierten Web-Service
  • Praktischer Einsatz von privaten (OpenStack) und öffentlichen Clouds (Amazon EC2)
  • Lastabhängige Skalierung von Diensten in einer hybriden Cloud
  • Implementierung eines verteilten Dateisystems (ähnlich zu HDFS)
  • Verwendung von Container-Betriebssystemvirtualisierung (Docker)
  • Skalierbare Datenverarbeitung mittels MapReduce
  • Realisierung eines fehlertoleranten Koordinierungsdiensts (ähnlich zu ZooKeeper)

Im Rahmen der Übung werden Amazon Web Services (AWS) genutzt. Hierfür stellt Amazon ein entsprechendes Freikontingent zur Verfügung.

Übungsbetrieb

Zur jeder Übungsaufgabe werden zu Beginn des Bearbeitungszeitraums Videos und die dazugehörigen Foliensätze veröffentlicht, in denen die Aufgabe vorgestellt wird, sowie relevante Hintergründe näher beleuchtet. Die Bearbeitung der Übungsaufgaben erfolgt in 3er-Gruppen. Die Zusammenarbeit kann dabei auch ohne persönliche Treffen erfolgen.

Bei Fragen zu den Übungen stellt diese über eine der dafür eingerichteten Mailinglisten oder schaut in unserer Rechnerübung vorbei.

Übungsmaterialien

Für die Übungsaufgaben werden Vorgaben und Hilfen im Verzeichnis /proj/i4mw/pub bereitgestellt.

Es ist empfehlenswert, die jeweilige Aufgabenstellung vor der Bearbeitung einer Aufgabe vollständig zu lesen, um von Beginn an einen Überblick über das zu erstellende System zu haben.

Hinweis: Die meisten der hier verlinkten Videos stammen aus dem Wintersemester 2020/21 und können daher vom aktuellen Foliensatz geringfügig abweichen.

Organisation / Grundlagen
20.10.2021, 12:15 - 13:45 Uhr

Thema Folien Video Aufgabenblatt
Organisatorisches
Versionsverwaltung mit Git
Git in Eclipse
Java - Collections / Threads
Verteilte Ausführung
Hinweise:
  • Hier wird es zusätzliche Hinweise zur jeweiligen Übungsaufgabe und deren Abgabe geben.
  • Die Aufgabestellung sollte vor Bearbeitung einer Aufgabe vollständig gelesen werden, um von Beginn an einen Überblick über das zu erstellende System zu haben.

Aufgabe 1: Web-Services
Bearbeitungszeitraum: 25.10.2021 - 11.11.2021

Thema Folien Video Aufgabenblatt
Aufgabe 1: Web-Services
RESTful Web-Services in Java
Registry
Hinweis:
  • Dienste und Clients müssen bei der Abgabe auf verschiedenen Rechnern laufen.

Aufgabe 2: Hybride Cloud
Bearbeitungszeitraum: 08.11.2021 - 25.11.2021

Thema Folien Video Aufgabenblatt
Aufgabe 2: Hybride Cloud
Amazon Web Services
OpenStack
Erstellen eines VM-Abbilds in OpenStack
Hinweise:
  • Diese Aufgabe ist deutlich umfangreicher als die Webservices-Aufgabe.
  • Es wird empfohlen den Client zur Lasterzeugung im CIP-Pool zu betreiben.
  • Bei Problemen mit dem Tweet-Dienst hilft meistens ein Blick in die Protokolldateien beziehungsweise eine Kontrolle der Firewall-Konfiguration der VMs.

Aufgabe 3: Verteilte Dateisysteme und Container-Betriebssystemvirtualisierung
Bearbeitungszeitraum: 22.11.2021 - 09.12.2021

Thema Folien Video Aufgabenblatt
Aufgabe 3: Verteilte Dateisysteme und Container-Betriebssystemvirtualisierung
Hadoop Distributed File System (HDFS)
Container-Betriebssystemvirtualisierung (optional)
Hinweise:
  • Das Dateisystem sollte auch mit einem ausgefallenem Datanode noch funktionieren (nur 7,5 ECTS).
  • Sind auch große Dateien nach dem Download identisch zur Originaldatei?
  • Es wird stark empfohlen, Docker in der bereitgestellten VM in der Cloud zu verwenden. Besonders bei der Verwendung von Docker aus Wohnheimsnetzen kann es zu Problemen mit der Standardkonfiguration kommen.
    Das RRZE stellt allerdings eine Anleitung zur Konfiguration von Docker bereit.

Aufgabe 4: MapReduce
Bearbeitungszeitraum: 06.12.2021 - 23.12.2021

Thema Folien Video Aufgabenblatt
Aufgabe 4: MapReduce-Framework
MapReduce: Implementierungstipps
Hinweise:
  • Beim Zusammenführen der vorsortierten Zwischenergebnisse dürfen deren Einträge erst bei Bedarf geladen werden.

Aufgabe 5: Papierdiskussion
Bearbeitungszeitraum: 20.12.2021 - 20.01.2022

Thema Folien Video Aufgabenblatt
Aufgabe 5: Papierdiskussion
Papier: "Millions of Tiny Databases"
Hinweise:

Aufgabe 6: ZooKeeper
Bearbeitungszeitraum: 17.01.2022 - 03.02.2022

Thema Folien Video Aufgabenblatt
Aufgabe 6: ZooKeeper
Konsistente Replikation
Hinweise:
  • Alle Replikate müssen bei der Abgabe auf unterschiedlichen Rechnern ausgeführt werden.
  • Zum Testen der MWZooKeeperImpl kann der bereitgestellte MWZooKeeperImplTest verwendet werden.

Fragen zur Prüfung, Besprechung der Evaluation
09.02.2021, 12:15 - 13:45 Uhr

Evaluation

Die Evaluation im WS 2021/22 fand in der Zeit vom 17. Januar 2022 bis 29. Januar 2022 statt.
  • Alle Teilnehmenden erhielten einen Link für den Zugriff auf die Evaluationsformulare.
  • Es wurden 20 Fragebögen zu den Übungen ausgefüllt.
  • Ergebnis der Übungsevaluation [PDF]
Vielen Dank an alle, die sich an der Evaluation beteiligt haben!