Was ist ein CDN?

Icon For Clock 2 Min. Lesezeit

Das Thema Content Delivery Networks (CDNs) fällt häufig zusammen mit Skalierbarkeit und Optimierungen. Doch was sind CDNs genau und wie funktionieren sie?

Einordnung zum Thema (Audio 🎧)

Definition und Zweck

Bei einem Content Delivery Network (CDN) handelt es sich um ein großes, verteiltes Netzwerk, mit üblicherweise hunderten, teils tausenden Standorten auf der ganzen Welt. Ziel ist es Inhalte wie Bilder, Medien, Webseitenteile möglichst nah am Nutzer auszuliefern und zu cachen.
Folgend anhand eines Beispielbildes dargestellt:

Vereinfachte Darstellung eines Webseitenaufrufes
Vereinfachte Darstellung eines Webseitenaufrufes

Ein Nutzer ruft also eine Webseite auf, der Webserver liefert die Seite aus und ein Bild wird nachgeladen. Dieses Bild wird ebenfalls vom selben Webserver ausgeliefert.

Zusammen mit einem CDN hingegen würde die Webseite immer noch vom Webserver selbst ausgeliefert werden, aber das Bild, sowieso andere statisch Medien und Inhalte werden von dem CDN geladen. In erweiterten Formen können auch APIs (Schnittstellen) und komplette Webseiten gecached werden.

Vereinfachte Darstellung eines Webseitenaufrufes mit CDN
Vereinfachte Darstellung eines Webseitenaufrufes mit CDN

Primär gibt es zwei Formen von CDNs: Pull und Push

Pull-CDN

Pull-CDNs sind mit Abstand die üblichste und am meisten verbreitetste Form.
Hier wird ein Inhalt erst dann auf dem zum Nutzer nächstgelegenen CDN Standort, auch POP genannt, zwischengespeichert, wenn der Inhalt das erste Mal angefragt wird.

Push-CDN

Push-CDNs sind unüblicher, aber finden auch Verwendung.
Alle Inhalte, die vom CDN ausgeliefert werden sollen, werden zuvor vollständig auf das CDN hochgeladen und im Netzwerk verteilt. Akamai1 bietet ein solches Push-CDN etwa an.

Vorteile

Ein CDN sorgt für eine direkte Beschleunigung und entlastet die auszuliefernden Server. Das spart Kosten, als auch Zeit der Nutzer. Plötzliche und drastische Nutzerzahlenanstiege können so einfacher und besser abgefedert werden. Fastly, ein bekannter CDN-Provider, hat ein riesiges Netzwerk mit 145 Tbit/s (145.000 Gbit/s) Netzwerkkapazität2. Man stützt sich also auf Giganten, die nicht in die Knie zu kriegen sind.

Auf zusätzlich zu CDNs könnte man darauf aufbauende dynamische Edge-Worker nutzen. Diese stützen sich ebenfalls auf das Netzwerk des jeweiligen CDN-Anbieters und erlauben das Ausführen von Programmcode direkt beim Nutzer, ohne tausende Rechenzentren manuell zu pflegen.

Liste an Content Delivery Networks


Zu Skalierung haben wir eine Reihe an Inhalten zum Nachlesen. Diese sind über den Tag “Skalierung” erreichbar. Für einen Einstieg in das Thema Skalierung gibt es den Artikel “Was ist Skalierbarkeit?"