Ü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 | 24.10.2022 | 10.11.2022 |
2 | Hybride Clouds | 07.11.2022 | 24.11.2022 |
3 | Verteilte Dateisysteme | 21.11.2022 | 08.12.2022 |
4 | MapReduce | 05.12.2022 | 22.12.2022 |
5 | Papierdiskussion | 19.12.2022 | 19.01.2023 |
6 | ZooKeeper | 16.01.2023 | 02.02.2023 |
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.
Aufgabe 0: Organisation / Grundlagen
Hinweise
- Das Aufgabenblatt 0 ist kein verpflichtender Teil des Übungsbetriebs, die Bearbeitung wird aber als Vorbereitung auf die Veranstaltung empfohlen.
- Aufgabe 0 ist im Gegensatz zu den späteren Übungsaufgaben als Einzelaufgabe konzipiert.
Materialien
Thema | Video | Foliensatz | Aufgabenblatt |
---|---|---|---|
Organisatorisches | |||
Grundlagen (kumulierter Foliensatz) | |||
Java -- Collections/Threads | Video | ||
Verteilte Ausführung | Video | ||
Versionsverwaltung mit Git | Video | ||
Git in Eclipse | Video |
Aufgabe 1: Web-Services (24.10.2022 - 10.11.2022)
Aufgabe 2: Hybride Clouds (07.11.2022 - 24.11.2022)
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) | |||
Aufgabe 2 | Video | ||
Amazon Web Services | Video | ||
OpenStack | Video | ||
Erstellen eines VM-Abbilds in OpenStack | Video |
Aufgabe 3: Verteilte Dateisysteme und Container-Betriebssystemvirtualisierung (21.11.2022 - 08.12.2022)
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.
Materialien
Thema | Video | Foliensatz | Aufgabenblatt |
---|---|---|---|
Aufgabe 3: Verteilte Dateisysteme und Container-Betriebssystemvirtualisierung (Kumulierter Foliensatz) | |||
Aufgabe 3 | Video | ||
Hadoop Distributed File System (HDFS) | Video | ||
Container-Betriebssystemvirtualisierung (optional) | Video |
Aufgabe 4: MapReduce (05.12.2022 - 22.12.2022)
Aufgabe 5: Papierdiskussion (19.12.2022 - 19.01.2023)
Hinweise
- Bitte schickt zur Abgabe euer Gutachten an i4mw-owner@lists.cs.fau.de
- Die Papierdiskussion erfolgt am 26.01. in der Vorlesung
Materialien
Thema | Video | Foliensatz | Aufgabenblatt |
---|---|---|---|
Aufgabe 5: Papierdiskussion | Video | ||
Amazon DynamoDB: A Scalable, Predictably Performant, and Fully Managed NoSQL Database Service |
Aufgabe 6: ZooKeeper (16.01.2023 - 02.02.2023)
Hinweise
- Laufen alle Replikate auf unterschiedlichen Rechnern?
- Zum Testen der
MWZooKeeperImpl
kann der bereitgestellteMWZooKeeperImplTest
verwendet werden.
Materialien
Thema | Video | Foliensatz | Aufgabenblatt |
---|---|---|---|
Aufgabe 6: ZooKeeper (Kumulierter Foliensatz) | |||
Aufgabe 6 | Video | ||
Konsistente Replikation | Video |
Evaluation
Die Evaluation im WS 2022/23 fand in der Zeit vom 23. Januar 2023 bis 05. Februar 2023 statt.
- Alle Teilnehmenden erhielten einen Link für den Zugriff auf die Evaluationsformulare.
- Es wurden 22 Fragebögen zur Vorlesung ausgefüllt.
- Ergebnis der Übungssevaluation
Vielen Dank an alle, die sich an der Evaluation beteiligt haben!