Spotify ist ein Musik-Streaming-Dienst. Er ermöglicht es Nutzern, einen Katalog aus Songs und Podcasts zu durchstöbern und die Wiedergabe auf ihrem Gerät zu starten.
Das Kernversprechen ist einfach: Wenn ein Hörer auf die Wiedergabetaste tippt, soll die App die Audiowiedergabe zügig starten und aufrechterhalten – selbst wenn das Smartphone zwischen starken und schwachen Mobilfunknetzen wechselt.
Bevor Skalierbarkeit eine Rolle spielt, besteht die einfachste Version aus einer Client-App, die mit einem einzigen Backend kommuniziert. Das Backend beantwortet Kataloganfragen – etwa zu Interpret, Album und Titel-Länge – und liefert zudem die Audiodaten für die Wiedergabe.
Dieses Grundmodell umfasst eine Datenbank für Metadaten sowie einen Objektspeicher für Audiodateien. Es gibt weder ein CDN noch Replikate oder Warteschlangen; jede Wiedergabeanfrage hängt also davon ab, dass dieses eine Backend stabil und schnell arbeitet. Hier ist dieses Grundmodell als durchgängige Übersicht dargestellt:
Im Diagramm sendet der mobile Client Anfragen über das Internet an einen einzelnen App-Server. Der App-Server ruft die Titel-Metadaten aus der Metadaten-Datenbank und die Audiodatei aus dem Audio-Objektspeicher ab; anschließend streamt er das Audio über dieselbe Verbindung zurück an den Client. Da keine zusätzlichen Ebenen zwischengeschaltet sind, wirkt sich jede Verlangsamung – sei es beim App-Server, in der Datenbank oder im Objektspeicher – unmittelbar auf die Wiedergabe aus: als verzögerter Start oder als Ruckeln während des Abspielens.
Der Funktionsumfang ist für diesen Kurs bewusst begrenzt gehalten. Nutzer können Inhalte durchstöbern, einfache Suchanfragen stellen und Audio abspielen; das System muss dabei den korrekten Titel finden und den Audiostream bereitstellen.
Zwei Indikatoren signalisieren, wann das Basismodell mit einem einzelnen Server an seine Grenzen stößt. Der erste ist die p95-Startlatenz: 95 % aller Wiedergabeversuche sollten innerhalb eines Zielzeitraums beginnen, da eine große Anzahl langsamer Starts den Eindruck erweckt, die App sei defekt. Der zweite Indikator ist die gleichzeitige Wiedergabe: Wenn viele Nutzer gleichzeitig auf „Abspielen“ drücken, verwandelt sich ein kurzzeitiger Lastspitzenmoment in eine dauerhafte Belastung für Backend und Speicher.
Sobald wir das Basismodell skalieren, stoßen wir immer wieder auf dieselben Abwägungen. Sie verknüpfen eine Designentscheidung mit einem sichtbaren Ergebnis bei Spotify – etwa einem schnelleren Wiedergabestart, höheren Cloud-Kosten oder weniger Ausfällen bei Lastspitzen.
Die folgende Tabelle verankert diese Fachbegriffe im Wiedergabeablauf sowie in den Hintergrundprozessen: