Übung

Inhalt

  • 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 der Lehrstuhl ein entsprechendes Freikontingent bei AWS 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 sowie relevante Hintergründe näher beleuchtet werden. Die Bearbeitung der Übungsaufgaben erfolgt in 3er-Gruppen und überwiegend in der Programmiersprache Java. Für die erfolgreiche Abgabe einer Aufgabe ist es erforderlich, die eigene Implementierung einem Übungsleiter zu präsentieren.
Nr. Titel Ausgabe Abgabe
0 Grundlagen - -
1 Web-Services 20.10.2025 05.11.2025
2 Hybride Clouds 03.11.2025 19.11.2025
3 Verteilte Dateisysteme 17.11.2025 03.12.2025
4 MapReduce 01.12.2025 17.12.2025
5 Papierdiskussion 15.12.2025 12.01.2026
6 ZooKeeper 12.01.2026 28.01.2026
Für die digitalen Rechnerübungen wird die Online-Warteschlange Adora Belle verwendet, die hier erreicht werden kann.

Übungsmaterialien

Für die Übungsaufgaben werden Vorgaben und Hilfen im Verzeichnis /proj/i4mw/pub (erreichbar über den Informatik-CIP) 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.

Hinweise

  • Das Aufgabenblatt 0 ist kein verpflichtender Teil des Übungsbetriebs, die Bearbeitung wird aber als Vorbereitung auf die Veranstaltung empfohlen.
  • Außerdem kann das Passwort zum StudOn-Kurs mit Hilfe des implementierten Programms noch vor der ersten Vorlesung ermittelt werden.
  • Aufgabe 0 ist im Gegensatz zu den späteren Übungsaufgaben als Einzelaufgabe konzipiert.

Materialien

Thema Video Foliensatz Aufgabenblatt
Organisatorisches PDF
Grundlagen (kumulierter Foliensatz) PDF PDF
Java -- Collections/Threads Video PDF
Verteilte Ausführung Video PDF
Versionsverwaltung mit Git Video PDF
Git in Eclipse Video

Hinweis

Laufen der Dienst und Client für die Abgabe auch auf verschiedenen Rechnern?

Materialien

Thema Video Foliensatz Aufgabenblatt
Aufgabe 1: Web-Services (Kumulierter Foliensatz) PDF PDF
Aufgabe 1 Video PDF
RESTful Web-Services in Java Video PDF
Registry Video PDF

Hinweise

  • Diese Aufgabe ist deutlich umfangreicher als die Webservices-Aufgabe.
  • Es wird empfohlen den Client zur Lasterzeugung im CIP-Pool zu betreiben.
  • Es gibt Probleme mit dem Tweet-Dienst? Meistens hilft ein Blick in die Protokolldateien beziehungsweise eine Kontrolle der Firewall-Konfiguration der VMs.
  • Falls es unter Windows Probleme mit der CPU Messung gibt, siehe Folie 2:2:18.

Materialien

Thema Video Foliensatz Aufgabenblatt
Aufgabe 2: Hybride Cloud (Kumulierter Foliensatz) PDF PDF
Aufgabe 2 Video PDF
Amazon Web Services Video PDF
OpenStack Video PDF
Erstellen eines VM-Abbilds in OpenStack Video PDF

Hinweise

  • Namenode, Datanode und Client sollen unbedingt auf unterschiedlichen CIP-Rechnern lauffähig sein
  • 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.

Materialien

Thema Video Foliensatz Aufgabenblatt
Aufgabe 3: Verteilte Dateisysteme und Container-Betriebssystemvirtualisierung (Kumulierter Foliensatz) PDF PDF
Aufgabe 3 Video PDF
Hadoop Distributed File System (HDFS) Video PDF
Container-Betriebssystemvirtualisierung (optional) Video PDF

Hinweis

Beim Zusammenführen der vorsortierten Zwischenergebnisse dürfen deren Einträge erst bei Bedarf geladen werden.

Materialien

Thema Video Foliensatz Aufgabenblatt
Aufgabe 4: MapReduce (Kumulierter Foliensatz) PDF PDF
Aufgabe 4 Video PDF
Implementierungstipps Video PDF

Hinweise

Materialien

Thema Video Foliensatz Aufgabenblatt
Aufgabe 5: Papierdiskussion Video PDF PDF
Preventing Network Bottlenecks: Accelerating Datacenter Services with Hotspot-Aware Placement for Compute and Storage PDF

Hinweise

  • Laufen alle Replikate auf unterschiedlichen Rechnern?
  • Zum Testen der MWZooKeeperImpl kann der bereitgestellte MWZooKeeperImplTest verwendet werden.

Materialien

Thema Video Foliensatz Aufgabenblatt
Aufgabe 6: ZooKeeper (Kumulierter Foliensatz) PDF PDF
Aufgabe 6 Video PDF
Konsistente Replikation Video PDF