194.151 Serverless Computing
Diese Lehrveranstaltung ist in allen zugeordneten Curricula Teil der STEOP.
Diese Lehrveranstaltung ist in mindestens einem zugeordneten Curriculum Teil der STEOP.

2023W, VU, 2.0h, 3.0EC, wird geblockt abgehalten
TUWEL

Merkmale

  • Semesterwochenstunden: 2.0
  • ECTS: 3.0
  • Typ: VU Vorlesung mit Übung
  • Format der Abhaltung: Blended Learning

Lernergebnisse

Nach positiver Absolvierung der Lehrveranstaltung sind Studierende in der Lage...

  • die grundlegenden Konzepte des serverless Paradigmas zu beschreiben und zu diskutieren.
  • Serverless Architekturen und Systeme zu verstehen und zu entwerfen.
  • mit modernen serverless Frameworks und Plattformen zu arbeiten.
  • Serverless Technologien für spezifische Probleme und Anwendungsbereiche auszuwählen und anzuwenden.
  • Praktische serverless Lösungen entwerfen und entwickeln.
  • Moderne serverless Anwendungen implementieren.

Inhalt der Lehrveranstaltung

Auf dem Weg zu Lösungen, die die Produktivität maximieren, den Overhead minimieren und die Nachhaltigkeit fördern, stehen serverlose Paradigmen bei der Entwicklung zukünftiger verteilter Systeme wohl an vorderster Front. Es kann als die nächste Evolutionsstufe des Cloud-Computing angesehen werden, da es die Grenzen der effizienten, skalierbaren und kostengünstigen Softwareentwicklung verschiebt. Genauer gesagt handelt es sich beim Serverless Computing um ein neuartiges Ausführungs- und Programmiermodell, bei dem der Plattformanbieter die Zuweisung und Bereitstellung der Recheninfrastruktur dynamisch verwaltet. Der Serverless-Anbieter ermöglicht es den Usern, Code zu schreiben und bereitzustellen, während sich der Anbieter um die gesamte Infrastruktur kümmert, die der Anwendung zugrunde liegt, aber auch um die Verwaltung der Anwendung während ihrer Laufzeit, z. B. um elastische Skalierung.

Es gibt mehrere Konzepte und Prinzipien, die dem Serverless Paradigma zugrunde liegen und die wir in diesem Kurs vorstellen wollen.  Zum Beispiel werden wir das Function-as-a-Service (FaaS)-Paradigma als eine neuartige Programmierungs- und Ausführungsmethode diskutieren, bei der die Anwendungen in Auslöser und Aktionen (Funktionen) zerlegt werden, die von einer Serverless Plattform verwaltet werden. Die Serverless Plattform ist für die Isolierung der Funktionen verantwortlich, z.B. durch den Einsatz einiger der bekannten Virtualisierungsansätze wie Micro-VMs und Container.  Um ein optimiertes Kostenmodell zu bieten, ermöglichen solche Plattformen in der Regel ein Serverless-Ausführungsmodell, das Scale-to-Zero ermöglicht, d. h. eine vollständige Downskalierung der Serverless-Funktionen, wenn keine Anfragen eingehen.

Ziel dieses Kurses ist es, die Studierenden mit dem aufkommenden Serverless-Paradigma vertraut zu machen und dessen Grundlagen, Technologien, Architekturen, Beispiele und Best Practices der jüngsten Entwicklungen im Serverless Computing zu diskutieren. Die folgenden Hauptthemen des Serverless Computing sind derzeit zur Behandlung vorgesehen. Bitte beachten Sie, dass der Inhalt vorläufig ist und sich noch ändern kann.

  • Grundlegende Konzepte des Serverless-Paradigmas wie das Function as a Service (FaaS)-Paradigma, Funktionsisolierung und Virtualisierungsansätze, Scale-to-Zero, Workload-Scheduling usw.
  • BaaS (Backend as a Service) im Serverless Computing, mit besonderem Fokus auf Serverless BaaS Service-Angebote, unterstützende BaaS Services (Kommunikation, Speicherung und Orchestrierung) sowie Architektur- und Deployment-Muster komplexer Serverless-Anwendungen.
  • Serverless-Frameworks, -Plattformen und -Anwendungsbereiche, die ein tieferes Verständnis der modernsten Serverless-Plattformen wie AWS Lambda, Google Cloud Functions usw. vermitteln und Industrie- und Open-Source-Standards wie Serverless Framework und AWS SAM vorstellen.
  • Serverless jenseits der Cloud, wo wir die Verbreitung von Serverless Computing am Edge, im Edge-Cloud-Kontinuum und im Kontext von Multi-Cloud, Federated und Sky Computing diskutieren wollen.

Methoden

Dieser Kurs besteht aus einem Vorlesungs- (ca. 40%) und einem Übungsteil (ca. 60%). In der Vorlesung vermittelt der Vortragende die grundlegenden Konzepte des Serverless-Paradigmas sowie die wichtigsten Technologien des Serverless Computing und diskutiert diese mit den Studierenden. Die Interaktion mit den Studierenden wird durch den Einsatz von Klassenzimmer-Tools (für Diskussionen, Ideensammlungen etc.) sowie Online-Tools und Foren (Zoom, TUWEL) erleichtert.

Im Rahmen des Praktikums wird den Studierenden Gruppenarbeit zugewiesen (Gruppengröße: 3 bis 5 Studierende). Die Studierenden müssen sich mit serverless Plattformen und Technologien vertraut machen und eine praktische Lösung liefern. Während des Semesters müssen die Studierenden in Teams eine Lösung für ihr Thema entwerfen und implementieren und die Ergebnisse zweimal präsentieren, in einer Zwischen- und einer Abschlusspräsentation.

Prüfungsmodus

Prüfungsimmanent

Weitere Informationen

ECTS-Aufschlüsselung:

3ECTS entsprechen etwa 75 Stunden.

VO (30h):

  • 1h Einführung (VO+UE Teil)
  • 18 h Vorlesung (6 Vorlesungen mit je 2h + 1h Vorlesungsvorbereitung)
  • 10h Prüfungsvorbereitung
  • 2h Prüfung

 UE (45h):

  • 42h (3 Hausarbeiten, Aufwand: 10+10+22)
  • 3h Präsentation (ca. 5-6 Gruppen à ca. 30 min)

Kursmaterialien & Vorlesungsunterlagen

Im Folgenden sind die Quellen angeführt, die für die Vorlesung verwendet werden:

  • Jonas, E., Schleier-Smith, J., Sreekanti, V., Tsai, C.C., Khandelwal, A., Pu, Q., Shankar, V., Carreira, J., Krauth, K., Yadwadkar, N. and Gonzalez, J.E., 2019. Cloud programming simplified: A berkeley view on serverless computing. arXiv preprint arXiv:1902.03383.
  • Castro, P., Ishakian, V., Muthusamy, V. and Slominski, A., 2019. The rise of serverless computing. Communications of the ACM, 62(12), pp.44-54.
  • Nastic, S., Rausch, T., Scekic, O., Dustdar, S., Gusev, M., Koteska, B., Kostoska, M., Jakimovski, B., Ristov, S. and Prodan, R., 2017. A serverless real-time data analytics platform for edge computing. IEEE Internet Computing21(4), pp.64-71.
  • Nastic, S., Raith, P., Furutanpey, A., Pusztai, T. and Dustdar, S., 2022, December. A Serverless Computing Fabric for Edge & Cloud. In 2022 IEEE 4th International Conference on Cognitive Machine Intelligence (CogMI) (pp. 1-12). IEEE.
  • Raith, P., Nastic, S. and Dustdar, S., 2023. Serverless Edge Computing—Where We Are and What Lies Ahead. IEEE Internet Computing27(3), pp.50-64.
  • Nastic, S. and Dustdar, S., 2018. Towards deviceless edge computing: Challenges, design aspects, and models for serverless paradigm at the edge. The Essence of Software Engineering, pp.121-136.

Vorlesungsskripte werden online in TUWEL zu jeder Vorlesung und unmittelbar nach jeder Vorlesung zur Verfügung gestellt.

Sonstiges

Bitte informieren Sie sich in TUWEL über die genauen Vorlesungstermine. Die Teilnahme an der Vorlesung ist nicht verpflichtend. Darüber hinaus gibt es drei obligatorische Treffen für den Laborteil dieses Kurses: ein Kickoff Meeting und zwei Präsentationen.Generell bietet TUWEL die aktuellsten und umfassendsten Informationen über Vorlesungs- und Übungstermine sowie über anstehende Fristen.

Vorbehaltlich der Genehmigung durch die STUKO (Studienkommission) ist diese Lehrveranstaltung als Wahlfach für die folgenden Masterstudiengänge zu klassifizieren. Der Beschluss wird rückwirkend angewendet, d.h. er gilt auch für alle, die diese Lehrveranstaltung im WS 2023 absolvieren.

  • Software Engineering & Internet Computing - Modul “Distributed Systems and Networking”
          
  • Business Informatics - Modul “ISE/EXT - Information Systems Engineering Extension”

Vortragende Personen

Institut

LVA Termine

TagZeitDatumOrtBeschreibung
Di.14:00 - 16:0031.10.2023 - 12.12.2023Seminarraum Argentinierstrasse Vorlesung
Serverless Computing - Einzeltermine
TagDatumZeitOrtBeschreibung
Di.31.10.202314:00 - 16:00Seminarraum Argentinierstrasse Vorlesung
Di.07.11.202314:00 - 16:00Seminarraum Argentinierstrasse Vorlesung
Di.14.11.202314:00 - 16:00Seminarraum Argentinierstrasse Vorlesung
Di.21.11.202314:00 - 16:00Seminarraum Argentinierstrasse Vorlesung
Di.05.12.202314:00 - 16:00Seminarraum Argentinierstrasse Vorlesung
Di.12.12.202314:00 - 16:00Seminarraum Argentinierstrasse Vorlesung
LVA wird geblockt abgehalten

Leistungsnachweis

Laborübungen und eine schriftliche Prüfung über die Vorlesung.

Die Prüfung besteht aus zwei Teilen. Zunächst gibt es eine Klausur, die insgesamt 40 Punkte umfasst und 40 % der Gesamtpunktzahl ausmacht, die die Studierenden in diesem Kurs erreichen können. In der Klausur wird der Inhalt der Vorlesung abgefragt und angewendet. Je nach Teilnehmerzahl kann die Prüfung auch mündlich durchgeführt werden.

Die restlichen 60% der Gesamtpunktzahl werden durch die Leistungen im Laborteil erreicht:

  • Bis zu 30 Punkte für die praktische Lösung, die in Gruppenarbeit durchgeführt werden muss
  • Bis zu 20 Punkte für die Gruppenpräsentation
  • Bis zu 10 Punkte für Einzelleistungen, d.h. Diskussionsbeiträge während der Präsentationssitzungen, Beiträge im Forum und herausragende Einzelleistungen während der praktischen Arbeit oder der Präsentationen

LVA-Anmeldung

Von Bis Abmeldung bis
18.09.2023 00:00 05.11.2023 23:59 09.11.2023 23:59

Curricula

StudienkennzahlVerbindlichkeitSemesterAnm.Bed.Info
066 926 Business Informatics Gebundenes Wahlfach
066 937 Software Engineering & Internet Computing Gebundenes Wahlfach
175 FW Freie Wahlfächer - Wirtschaftsinformatik Freifach
880 FW Freie Wahlfächer - Informatik Freifach

Literatur

Es wird kein Skriptum zur Lehrveranstaltung angeboten.

Vorkenntnisse

Der Kurs wird für Master- und PhD-Studenten der Informatik empfohlen.

Erhebliche Kenntnisse in der Programmierung (z.B. Java, Python, TS, NodeJS, Rust, Go) sowie in verteilten Systemen werden vorausgesetzt. Eine gewisse Vertrautheit mit den wichtigsten Konzepten des Cloud Computing wird vorausgesetzt.

Erfahrungen mit fortgeschrittenen Themen wie der Arbeit mit Containern, z. B. Docker-Containern, Container-Orchestratoren, z. B. Kubernetes oder Docker Swarm, oder bestehenden serverlosen Plattformen, z. B. AWS Lambda, OpenFaaS oder Open Whisk, sind von Vorteil, aber nicht zwingend erforderlich.

Der Kurs ist in sich abgeschlossen.

Begleitende Kurse: Es ist hilfreich, wenn die VU Advanced Internet Computing (184.269) bereits absolviert wurde, die beiden Kurse können aber auch problemlos parallel besucht werden.

Vorangehende Kurse: (194.024) VU Verteilte Systeme

Vorausgehende Lehrveranstaltungen

Begleitende Lehrveranstaltungen

Weitere Informationen

Sprache

Englisch