Lectures Publications Theses Events

FS26 - Distributed Systems (DSy)

This lecture series focuses on distributed systems, which are computer systems made up of multiple autonomous components, or nodes, that are linked and communicate with one another to achieve a common goal.

By the end of the series, you should have a good understanding of the various components and technologies involved in distributed systems and blockchain, as well as their implementation and deployment considerations.

Lecture Topics

The following topics are preliminary and may change or be shifted during the semester.

NrDateTopics for this Week
0116.02.2026Admin, Introduction / Motivation - Scaling
0223.02.2026Introduction / Motivation, Location and Redundancy
0302.03.2026Containers and VMs, Docker
0409.03.2026Monorepos / Polyrepos
0516.03.2026Web Architectures, Load Balancing
0623.03.2026Model Contex Protocol (MCP), Authentication
0730.03.2026Categorization
---
0813.04.2026Deployment, Performance
0920.04.2026Protocols
1027.04.2026Application Protocols
1104.05.2026Exam preparation
1211.05.2026Blockchain, Bitcoin
1318.05.2026Challenge Task Presentations
---
1401.06.2026Challenge Task Award Winner Announcement, Q&A

Online Lectures & Offline Exercises

The Distributed Systems (DSy) lectures will be pre-recorded and uploaded by Friday evening. The length of the videos will be ~ 80 - 100 minutes divided into segments. The news segment (~10 min) will cover news around the topics distributed systems and blockchain and are not part of the exam. It should serve as an overview of current topics in this field. On Mondays, only exercises take place.

I will be in room FZ.0332 from 08:10 - 09:50 in St.Gallen and in room 1.257 from 13:10 - 18:40 in Rapperswil on Mondays. During exercises, you can work on your challenge task. You do not need to be present on Monday, but it is highly recommended to discuss your ideas, issues, and problems with the challenge task. On request, you can also join the exercises remotely via MS Teams.

The online lectures and PDFs can be accessed from outside the OST network (also on Youtube), the exercise and admin material only with VPN.

Lecture

Lecture 1

Admin (VPN) News
Introduction - Scaling

The admin part gives an overview over this lecture and presents the challenge task for this course (Slides: FS26-DSy-01-admin.pdf). The second video (news) reports on distributed systems and blockchain news. The first article describes a startup rebuilding its workflow around AI coding agents, a shift I experienced myself. The next article provides a mathematical framework for compression in databases, backing up my lecture point about optimizing for bandwidth. The third topic covers Discord's architecture using the Actor Model to handle trillions of messages at scale. The final article presents Backblaze's 2025 drive stats with a 1.36% failure rate across 340'000 drives, reminding us why we need redundancy and distributed systems. (Slides: FS26-DSy-01-news.pdf). The third video shows the first part of the motivation why distributed systems are necessary (Slides: FS26-DSy-01-intro-scaling.pdf). [100min]

Lecture 2

Admin (VPN) News
Introduction - Location/Latency Introduction - Redundancy

The admin part is about the lecture content and the challenge task repository invitations (Slides: FS26-DSy-02-admin.pdf). The second video (news) reports on distributed systems and blockchain news. The first article covers an incident where GPT 5.3 Codex wiped an entire drive due to a PowerShell escaping bug, reminding us that AI coding agents must be sandboxed and paired with version control. The next article describes building a startup entirely on European infrastructure for data sovereignty, feasible but slower, with thinner ecosystems and some unavoidable US dependencies, illustrating how sovereignty requirements requires distributed architectures. The final article introduces WebMCP, a browser-native API letting websites expose structured tools to AI agents directly, potentially replacing complex scraping pipelines with simple tool invocations (Slides: FS26-DSy-02-news.pdf). The third video covers the second part of the motivation for distributed systems: location (Slides: FS26-DSy-02-intro-location.pdf). The fourth video addresses fault tolerance and redundancy (Slides: FS26-DSy-02-intro-hw.pdf). [93min]

Lecture 3

Admin (VPN) News
Containers and VMs Docker

The admin part is about the lecture content and the challenge task (Slides: FS26-DSy-03-admin.pdf). The second video (news) reports on distributed systems and blockchain news. The first article shows how to test software on RISC-V via QEMU emulation without physical hardware. The next covers Red Hat's Podman Desktop as a Docker Desktop competitor with OpenShift integration. The third examines how two years after Broadcom's VMware acquisition, only 4% of customers fully migrated, illustrating the power of vendor lock-in. The fourth surveys sandbox isolation techniques ranging from Linux namespaces to microVMs to WebAssembly. Finally, several articles on GenAI and software development are discussed, with the lecturer arguing that development will become more goal-oriented and supervisory (Slides: FS26-DSy-03-news.pdf). The third video covers the introduction of containers and VMs (Slides: FS26-DSy-03-container.pdf). The fourth video dives into docker (Slides: FS26-DSy-03-docker.pdf) [131min]

Lecture 4

Admin (VPN) News
Monorepos / Polyrepos

The admin part is about the lecture content and the challenge task (Slides: FS26-DSy-04-admin.pdf). The second video (news) reports on distributed systems and blockchain news. The first article covers Mozilla's finding that up to 10–15% of Firefox crashes stem from hardware bitflips, not software bugs, reinforcing the need for ECC and replication in distributed systems. The next article discusses how AI coding tools have paradoxically increased engineer burnout by shifting the bottleneck from writing code to reviewing, testing, and maintaining AI output. The next topic reminds us that LLMs still hallucinate, blending fact and fabrication indistinguishably. The next article reports on a stolen Google API key generating $82'000 in Gemini charges, caused by Google silently granting old public keys access to Gemini endpoints. The final article describes a supply chain attack on the Cline AI assistant via prompt injection, leading to a compromised npm package and highlighting the importance of containerized development (Slides: FS26-DSy-04-news.pdf). The third video discusses monorepos and polyrepos (Slides: FS26-DSy-04-repo.pdf). [58min]

Lecture 5

Admin (distorted audio, VPN) News
Load Balancing Web Architecure

The admin part is about the lecture content and the challenge task. Please note, the audio is distorted but still understandable (Slides: FS26-DSy-05-admin.pdf. The second video (news) reports on distributed systems and blockchain news. The first article reviews a decade of Docker, tracing its evolution from Linux-only to multi-platform and multi-architecture while remaining the dominant container tool. The next article benchmarks 44 VM types across 7 cloud providers, finding AMD EPYC Turin leads performance and Hetzner leads price-performance. The next topic covers Mozilla's push to make WebAssembly a first-class web citizen by eliminating JavaScript glue code through the Component Model. The next two articles discuss working with AI coding agents, arguing that spec-driven development and automated feedback loops matter more than growing documentation directories. The final two articles describe how AI is reshaping software development, shifting the job from writing to judging code and collapsing prices for routine work (Slides: FS26-DSy-05-news.pdf). The third video introduces load balancing (Slides: FS26-DSy-05-lb.pdf). The fourth video introduces web architectures (Slides: FS26-DSy-05-arch.pdf). [119min]

Lecture 6

Admin News
Model Contex Protocol (MCP) Authentication

The admin part is about the lecture content and the challenge task (Slides: FS26-DSy-06-admin.pdf. The second video (news) reports on distributed systems and blockchain news. The first article covers a $50 million swap loss on CoW Swap via the Aave interface, where a user confirmed a trade despite a 99.9% price impact warning, illustrating why liquidity matters for large decentralized exchange orders. The next article describes GlassWorm, a supply-chain malware campaign using the Solana blockchain as an uncensorable command-and-control channel to coordinate attacks across GitHub, npm, and VSCode marketplaces. The third topic covers noq, a Rust QUIC implementation with native multipath support and independent per-path congestion control. The final topic argues through several articles that AI does not remove the need for engineering skill, as LLM-assisted coding fails when developers stop making design decisions themselves (Slides: FS26-DSy-06-news.pdf). The third video presests the model context protocol (MCP) (Slides: FS26-DSy-06-mcp.pdf). The fourth video is about authentication (Slides: FS26-DSy-06-auth.pdf). [99min]

Lecture 7

Admin News
Categorization

The admin part is about the lecture content and the challenge task (Slides: FS26-DSy-07-admin.pdf. The second video (news) reports on distributed systems and blockchain news. The first article covers a supply chain attack on LiteLLM, where attackers compromised a CI/CD dependency to publish backdoored PyPI packages with credential harvesters and Kubernetes malware, highlighting the importance of pinning dependencies and container deployments. The next article stores the entire DOOM game in ~2,000 DNS TXT records, illustrating how bloated modern software has become. The third topic covers a company using AI to rewrite a JavaScript dependency in Go in seven hours, eliminating costly RPC overhead and saving ~500,000 dollars annually. The final article discusses GitHub's decision to use Copilot user interaction data for AI training by default, criticized as a dark pattern (Slides: FS26-DSy-07-news.pdf). The third video presests the categorization of dististributed/decentralized systems (Slides: FS26-DSy-07-cat.pdf). [65min]

Challenge Task FS 2026

Starting this semester, the challenge task (CT) is individual work. With the availability of generative AI tools, a single student can now design, build, and implement what previously required a group of 2-3. This also means every student must understand the full stack.

This semester's challenge task is the design and implementation of a distributed system (of your choice) from scratch where a service instance can fail. The system needs to have the following components:

  1. Simple Frontend (e.g., HTML, Vue, React, Svelte)
  2. Load balancer (e.g., Traefik, Nginx, HAProxy, Caddy)
  3. Two instances of a service (your choice), and during the challenge task presentation, one instance will be shut off
  4. JWT-based authentication (login/registration required to use the application, API endpoints protected with JWT)
  5. Database (persistent storage, does not need to be scalable)

Requirements

All requirements below must be met in order to pass this lecture.

  1. Load balancing with multiple instances with failover of a service instance
  2. Containerized (e.g., with docker)
  3. Simple frontend
  4. JWT-based authentication following OWASP guidelines
  5. Persistent storage
  6. Use latest stable releases of chosen libraries and frameworks
  7. A fresh clone of the repository + a single command (e.g., docker compose up) must bring up the entire working system (or using Kubernetes), including database seeding/migration if needed. No manual setup steps allowed, except secrets management.
  8. Perform a load test against a JWT-protected endpoint of your system (e.g., using ab, wrk, hey) and document the results. During the presentation, show how your system behaves under load, what the bottleneck could be, and how many requests/second it can handle.

Milestones

If all requirements are fulfilled, you are encouraged to hand in before the respective deadlines.

Individual Work

There are no groups this semester. Each student works individually on their challenge task. During exercise hours, you can work on your task and discuss ideas, issues, and problems with the supervisor. You do not have to be present at the exercises, but it is highly recommended. You shall utilize homework time to work on the challenge task besides the exercise time slots. Your submitted source code and presentation will be only accessible via VPN.

For a reference of previous work, go to FS25.

NrNameProjectM2M3Final
01Tobias M.Watchlist
02Yves F.SwipeLearning
03Marco S.Dart Helper
04Bjoern S.Priority Manager
05Dominik B.URL Shortener
06Assvin S.Todo
07Kevin S.FranzFinance
08Aron B.Logging Dashboard
09Lars T.Drello Light
10Fabian L.Reservationstool
11Michael S.Ideenfriedhof
12Silas K.Game of Life
13Till S.ScanTotal
14Rafael D.TCGManager
15Joris H.Cahoot Light
16Jerome K.Kalaha
17Jonas N.Fractal Generator
18Tiago D.Rate Limiter (Convert App)
19Ethan B.Distributed Chess
20Gaëtan A.2Password
21Linus G.MyTrip
22Katharina T.ExpenseTracker
23Claude B.Doctopus
24Olha S.Hand System Management(✓)
25Finn S.PixelCanvas
26Stefanie J.MathGame
27Mario B.PetRock
28Luca S.ThreatWatch
29Ramon S.VotingSystem
30Colin V.arachnid
31Marco C.tapper
32Aurel K.Multiplayer Quiz
33Pietro L.Search First Distributed Storage
34Mikail Y.FamilyTreeManager
35Yanick E.holiday expense tracker
36Andrej E.Interactive Classroom
37Lukas Z.CalledIT
38Luca G.FitnessTracker
39Leon R.TV Watchlist
40Fabio F.LDNS
41Severin N.QuizTune
42Nico R.MeTube
43Loris P.0Chat
44Leo V.distributed_stock_provider(✓)
45Jovin R.Dashboard / Metrics
46Jasmin F.SocialMedia pOST
47Cedric C.Habit Tracker
48Mirco D.TCG Deck Builder
49Lenny M.forum2000
50Jonas G.SiteLog
51Marc F.CoffeeCluster
52Jeriel F.URL & Bookmark Manager
53Manuel B.Distributed Notes App
54Raphael L.MoneyPilot
55Diego S.AnkiGenerator
56Josias B.Aurora Engine
57David B.Paste-it
58Andrin K.R.A.T.S
59Nicolas C.RaceNova Redirector
60Patrik F.Fedlech
61Yasmin K.Stash
62Oliver W.Homeassistant-Dashboard
63Benjamin B.Turn-based Game Engine (gomoku)
64Tobias K.TicTacToe
65Agron M.truckyPOS
66Leon K.TaskBoard
67Janis N.RLAchivements
68Zhili Z.Youreef
69Jonas B.Streaming-Plattform
70Dominik H.WebsiteMonitoring