Lectures Publications Theses Events

FS26 - Distributed Systems (DSy)

Challenge Task Winner Distributed Systems FS26

The winner is: Joris Hänseler

dsys-cahoot-light is a real-time, distributed Kahoot-style quiz platform where a host runs quizzes and players join via a six-digit PIN. It's built on Kubernetes (Go/Gin backend, Vue 3, PostgreSQL, Valkey Pub/Sub for distributed state) and is fully deployed at https://dsys-cahoot-light.jorishaenseler.ch. The standout is live video via LiveKit/WebRTC, with STUNner handling TURN/STUN relay so opponents feeds appear during play. Game state lives in Valkey, so backends can crash mid-game without losing state. The working production deployment plus WebRTC integration make this impressive. Congratulations!

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.2026Communication Protocols
0920.04.2026Application Protocols
1027.04.2026Exam preparation
1104.05.2026Consensus, Deployment
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]

Lecture 8

Admin News
Communication Protocols

The admin part is about the lecture content and the challenge task (Slides: FS26-DSy-08-admin.pdf). The second video (news) reports on distributed systems and blockchain news. The first article covers Iran demanding Bitcoin payments from oil tankers in the Strait of Hormuz. The next article discusses a New York Times investigation building the strongest case yet for Adam Back being Satoshi Nakamoto. The next topic covers NASA's Artemis II fault-tolerant computer with redundant self-checking CPU pairs, illustrating designing for failure recovery rather than prevention. The final article addresses quantum computing as a threat to Bitcoin's cryptography, highlighting that upgrading a decentralized network is fundamentally harder than patching centralized systems (Slides: FS26-DSy-08-news.pdf). The third video dives into communication protocols (Slides: FS26-DSy-08-cproto.pdf). [77min]

Lecture 9

Admin News
Application Protocols

The admin part is about the lecture content and the challenge task (Slides: FS26-DSy-09-admin.pdf). The second video (news) reports on distributed systems and blockchain news. The first article covers a crypto token linked to World Liberty Financial dropping 83% after using billions of its own tokens as loan collateral, creating a dangerous liquidation feedback loop. The next article describes how Spanish court orders blocking Cloudflare IPs to combat piracy took down Docker Hub, GitHub, and thousands of legitimate services, a real-world example of the fallacy that the network is reliable. The next topic argues Agile should be retired, noting that iterative development predates it by decades and that LLM-driven development is reviving the spec-first approach. The final article notes IPv6 briefly hit 50% of global traffic according to Google, though adoption remains uneven and Switzerland lags at 41% (Slides: FS26-DSy-09-news.pdf). The third video dives into application protocols (Slides: FS26-DSy-09-aproto.pdf). [108min]

Lecture 10

Admin / Exam
News

The admin part is about the lecture content, the challenge task, and the exam preparation (Slides: FS26-DSy-10-admin.pdf). The second video (news) reports on distributed systems and blockchain news. The first article covers a zero-downtime migration from DigitalOcean to Hetzner, cutting costs from $1'400 to $230/month using live replication and DNS tricks. The next article maps email providers of Swiss municipalities, reflecting a broader European push for digital sovereignty away from US cloud providers. The next topic involves a US soldier arrested for betting on Polymarket with classified intel, highlighting both crypto traceability and regulatory gaps in blockchain prediction markets. The final article argues for replacing long-lived cryptographic keys with ephemeral credentials to reduce accumulated security risk (Slides: FS26-DSy-10-news.pdf). [59min]

Lecture 11

Admin Deployment
News Consensus

The admin part is about the lecture content and the challenge task (Slides: FS26-DSy-11-admin.pdf). The second video (news) reports on distributed systems and blockchain news. The first article covers GitHub's scaling crisis, where AI-driven coding has forced a revision of growth plans from 10x to 30x, prompting classic distributed systems work like decoupling services and breaking up the monolith after recent merge queue and search outages eroded trust. The next article shows Uber burning its entire 2026 AI budget in four months on AI coding tools, with 95% of engineers using them monthly and 70% of committed code AI-assisted, raising the question of whether such productivity is affordable at scale. The final article reports that ICANN has reopened applications for new generic top-level domains for the first time since 2012, at a $227,000 fee (Slides: FS26-DSy-11-news.pdf). The third video introduces consensus in distributed systems (Slides: FS26-DSy-11-consensus.pdf). The fourth video talks about deployment (Slides: FS26-DSy-11-deployment.pdf). [93min]

Lecture 12

Admin News
Blockchain, Bitcoin

The admin part is about the lecture content and the challenge task (Slides: FS26-DSy-12-admin.pdf). The second video (news) reports on distributed systems and blockchain news. The first article introduces Typst and an OST bachelor thesis on a collaborative editor, with a "Tour of Typst" intro. The next argues plain Docker Compose can run single-node production if you close the operational gaps, warning against premature Kubernetes. The next follows a platform's move to a self-hosted auth library after a third-party provider caused rate limits and session-refresh outages, contrasting DB-backed sessions with JWT revocation trade-offs. The next covers the .de DNSSEC key rollover that produced mismatched signatures and broke resolution for hours — a clean "network is reliable" fallacy example. The next pushes back on the AI-deleted-database story, blaming the system that exposed a destructive endpoint without reviews, permissions, or backups. The next reports Tether froze over 500M USDT in 30 days via built-in blacklist and burn functions, showing stablecoins aren't solely controlled by the key holder. The final link is the open source book "WebRTC for the Curious," a vendor-agnostic protocol-level reference (Slides: FS26-DSy-12-news.pdf). The third video introduces blockchains and bitcoin (Slides: FS26-DSy-12-bitcoin.pdf). [72min]

Lecture 13

Admin
News

The admin part is about the lecture content and the challenge task (Slides: FS26-DSy-13-admin.pdf). The second video (news) reports on distributed systems and blockchain news. The first article covers Bun's AI-driven rewrite from Zig to Rust, raising concerns about reviewability and an ecosystem split with Zig's no-AI policy. The next article looks at Amazon's MeshClaw agent tool, where token-usage targets push employees to inflate numbers on pointless work. A related piece argues AI agents are eroding Python/TypeScript's default status since they handle Rust and Go well. The next topic is the TanStack npm supply chain attack, where a poisoned build cache produced validly signed but compromised packages. Another article explains why trace IDs are 128 bits, using the birthday paradox to show 64 bits collides at billions of IDs. The final article reports April as crypto's worst security month with ~$635M stolen, with 95% of losses from infrastructure and social engineering rather than smart contract bugs (Slides: FS26-DSy-13-news.pdf). [22min]

Lecture 14

News

The last video in this lecture reports on distributed systems and blockchain news. The first topic announces the challenge-task winner that built a real-time distributed Kahoot-style quiz platform with WebRTC video on a self-hosted Kubernetes cluster. The next article covers Iran's attempt to monetize undersea internet cables, a likely-overstated threat given they carry under 1% of global bandwidth, but a reminder of how dependent we are on hard-to-repair infrastructure. The next topic reports a court win for Swiss provider Init7, which refused DNS-based blocking orders, arguing such blocks are trivial to bypass and lack a clear legal basis. The next article notes Amazon shut down its internal AI-usage leaderboard after employees gamed it with unnecessary tasks. The final topics observe that AI is quietly killing small code dependencies as LLMs generate snippets directly, and reflect on the decline of programming books as learning shifts toward AI chat. (Slides: FS26-DSy-14-news.pdf). [13min]

Challenge Task FS 2026

Starting this semester, the challenge task (CT) is individual work. With the availability of generative AI tools (e.g. LLM Hub), 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.

NrNameProjectDocSrc
01Tobias M.Watchlistdocsrc
02Yves F.SwipeLearningdocsrc
03Marco S.Dart Helperdocsrc
04Bjoern S.Priority Managerdocsrc
05Dominik B.URL Shortenerdocsrc
06Assvin S.Tododocsrc
07Kevin S.FranzFinancedocsrc
08Aron B.Loom Dashboarddocsrc
09Lars T.Drello Lightdocsrc
10Fabian L.Reservationstooldocsrc
11Michael S.Ideenfriedhofdocsrc
12Silas K.Game of Lifedocsrc
13Till S.ScanTotaldocsrc
14Rafael D.TCGManagerdocsrc
15Joris H.Cahoot Lightdocsrc
16Jerome K.Kalahadocsrc
17Jonas N.Fractal Generatordocsrc
18Tiago D.Format Policedocsrc
19Ethan B.Distributed Chessdocsrc
20Gaëtan A.2Passworddocsrc
21Linus G.MyTripdocsrc
22Katharina T.ExpenseTrackerdocsrc
23Claude B.Doctopusdocsrc
24Olha S.Hand System Managementdocsrc
25Finn S.PixelCanvasdocsrc
26Stefanie J.MathGamedocsrc
27Mario B.PetRockdocsrc
28Luca S.ThreatWatchdocsrc
29Ramon S.VotingSystemdocsrc
30Colin V.arachniddocsrc
31Marco C.tapperdocsrc
32Aurel K.Multiplayer Quizdocsrc
33Pietro L.Search First Distributed Storagedocsrc
34Mikail Y.FamilyTreeManagerdocsrc
35Yanick E.holiday expense trackerdocsrc
36Andrej E.Interactive Classroomdocsrc
37Lukas Z.CalledITdocsrc
38Luca G.FitnessTrackerdocsrc
39Leon R.TV Watchlistdocsrc
40Fabio F.LDNSdocsrc
41Severin N.QuizTunedocsrc
42Nico R.MeTubedocsrc
43Loris P.0Chatdocsrc
44Leo V.distributed_stock_providerdocsrc
45Jovin R.Dashboard / Metricsdocsrc
46Jasmin F.SocialMedia pOSTdocsrc
47Cedric C.Habit Trackerdocsrc
48Mirco D.TCG Deck Builderdocsrc
49Lenny M.forum2000docsrc
50Jonas G.SiteLogdocsrc
51Marc F.CoffeeClusterdocsrc
52Jeriel F.URL & Bookmark Managerdocsrc
53Manuel B.Distributed Notes Appdocsrc
54Raphael L.MoneyPilotdocsrc
55Diego S.AnkiGeneratordocsrc
56Josias B.Aurora Enginedocsrc
57David B.Paste-itdocsrc
58Andrin K.R.A.T.Sdocsrc
59Nicolas C.RaceNova Redirectordocsrc
60Patrik F.Fedlechdocsrc
61Yasmin H.Stashdocsrc
62Oliver W.Homeassistant-Dashboarddocsrc
63Benjamin B.Turn-based Game Engine (gomoku)docsrc
64Tobias K.TicTacToedocsrc
65Agron M.truckyPOSdocsrc
66Leon K.TaskBoarddocsrc
68Zhili Z.Youreefdocsrc
70Dominik H.WebsiteMonitoringdocsrc