Was ist ein Content Delivery Network?
Was macht ein CDN?
Ein CDN ist ein Verbund aus Servern, die an unterschiedlichen Orten lokalisiert sind. Ruft ein Nutzer also eine Website über ein Content Delivery Network auf, werden die Website-Inhalte vom jeweiligen Server geladen, der sich am nächsten Standort befindet. Die Ladezeit von Websites oder größerer Datenpakete kann somit deutlich verkürzt werden.
Da der Kommunikationsverkehr im Internet global und somit über große Entfernungen stattfindet, kann mittels CDN eine enorme Leistungssteigerung erzielt werden. Der Web-Verkehr zum Hauptserver wird verringert und der Bandbreitenverbrauch reduziert – für die Nutzererfahrung bedeutet das eine klare Verbesserung, da sich Wartezeiten minimieren und Aktionen auf einer Website deutlich angenehmer und schneller ausführen lassen.
Die Vorteile von CDNs
Ein Content Delivery Network erledigt verschiedene Aufgaben, welche die Leistung der Website verbessern. Dazu zählen besonders die folgenden:
Reduzierung der Ladezeit
Lange Ladezeiten führen auf Dauer dazu, dass der Traffic einer Website stagniert, da sich Nutzer abwenden. Kürzere Ladezeiten beim Seitenaufruf durch CDN halten die Absprungraten hingegen gering und erhöhen die Verweildauer auf der Seite.
Reduzierung der Bandbreitenkosten
Jeder Aufruf einer Website verbraucht Netzwerkbandbreite, was in der Summe mit erheblichen Hosting-Kosten für den Website-Anbieter einhergeht. CDN-Services können die Bandbreitenkosten jedoch senken, indem sie die Datenmengen, die im Normalfall ein einzelner Server bereitstellen müsste, durch Optimierungen wie dem Caching reduzieren.
Optimierung der Website-Verfügbarkeit
CDNs können Website-Ausfälle verhindern, die aus einem zu hohen Traffic-Aufkommen resultieren. Da die Website-Inhalte nicht mehr nur von einem einzigen Hauptserver, sondern von einer Vielzahl global verteilter Server abgerufen werden, verteilt sich der Traffic. Die Gefahr einer Überlastung der Netzwerk-Hardware wird dadurch minimiert.
Verbesserung der Sicherheit
Auch die Sicherheit der Website wird durch CDNs verbessert. Ein typisches Sicherheitsrisiko stellen Angriffe dar, bei denen eine enorme Menge an Fake-Traffic auf einer Website generiert wird. CDNs bewältigen solche Angriffe, indem sie den Traffic auf mehrere Server verteilen und den Hauptserver somit vor der Überlastung bewahren.
Entwicklung der CDN-Technologie
Die CDN-Technologie gewann besonders im Zuge des steigenden Audio- und Video-Streamings über das Internet an Relevanz – eine Entwicklung, die mittlerweile im Alltag der allermeisten Menschen angekommen ist. Im Verlauf dieser Entwicklung mussten immer größere Datenmengen zuverlässig und in hoher Geschwindigkeit bereitgestellt werden. Unternehmen nutzten deshalb zunehmend Peer-to-Peer-Netzwerke und Cloud-Computing-Technologien, um eine schnelle Lieferung der Inhalte zu gewährleisten.
Die Entwicklung von CDN ist dabei längst noch nicht abgeschlossen. Ein Großteil der Webservices ist mittlerweile über Cloud-Technologien zentralisiert, was dem heutigen CDN-Standard entspricht. Als nächste große Entwicklung gelten die sich selbstverwaltenden Edge-Netzwerke – dabei kann mithilfe intelligenter Geräte, die untereinander kommunizieren, der Bandbreitenverbrauch noch effizienter verwaltet werden.
Funktionsweise von CDNs
Ein Content Delivery Network besteht aus einem Zusammenschluss von CDN-Edge-Servern, verteilt an unterschiedlichen geografischen Standorten. Die drei zugrundeliegenden Prinzipien sind das Caching, die dynamische Beschleunigung und die Edge-Logikberechnungen.
Caching
Beim Caching werden mehrere Kopien einer Datei oder eines Datenpakets gespeichert, um einen schnelleren Zugriff zu ermöglichen. Beim CDN wird dieses Prinzip genutzt, indem die Dateikopien jeweils auf den verschiedenen Servern innerhalb des Netzwerks gespeichert und bereitgestellt werden. Dabei handelt es sich um statische Website-Inhalte – diese sind gleichbleibend, beispielsweise Logos oder Schriftarten, die auf der Website verwendet werden.
Dynamische Beschleunigung
Die dynamische Beschleunigung bezieht sich hingegen auf dynamische Website-Inhalte. Diese verändern sich je nach Standort, Einstellungen oder Login-Zeit des jeweiligen Nutzers – typische Beispiele sind lokale Wetterberichte, Chat-Nachrichten oder News. Die dynamische Beschleunigung reduziert die Abrufzeit dieser Website-Inhalte und ist im Gegensatz zum Caching auf eben diese dynamischen Inhalte ausgelegt. Anders als bei statischen Inhalten verbindet sich der CDN-Server bei jeder dynamischen Anfrage erneut mit dem Hauptserver.
Edge-Logikberechnungen
CDN-Edge-Server können so programmiert werden, dass sie mithilfe logischer Berechnungen die Kommunikation zwischen dem Client (beziehungsweise dem Nutzer) und dem Server optimieren. So können Inhalte auf das Nutzerverhalten angepasst, das Caching-Verhalten dementsprechend verändert und fehlerhafte Anfragen erkannt und gehandhabt werden.
Anwendungsbereiche von CDNs
Ein Content Delivery Network ist für verschiedene Anwendungsbereiche geeignet, die von der Art und Weise profitieren, wie Dateien gespeichert und bereitgestellt werden. Die folgenden drei Beispiele zeigen typische Einsatzbereiche von CDNs.
Content-Bereitstellung in hoher Geschwindigkeit
Die Bereitstellung von sowohl statischen als auch dynamischen Web-Inhalten ermöglicht es globalen Nachrichtendiensten, ihren Content weltweit an ihre Kunden in einer hohen Qualität und Geschwindigkeit zu liefern. Das global verteilte Netzwerk von CDN-Servern erfüllt die Ansprüche in Sachen Zuverlässigkeit und Geschwindigkeit und verringert zudem die Abhängigkeit von Satellitenkommunikation.
Streaming von Mediendateien
Die großen Streaming-Plattformen sind auf eine kostengünstige und zuverlässige Bereitstellung ihrer Videoinhalte durch CDNs angewiesen. Typische Herausforderungen wie die Reduzierung von Bandbreitenkosten, eine flexible Skalierung und die Minimierung von Ladezeiten können so bewältigt werden.
Skalierung einer großen Anzahl von Nutzern
CDNs ermöglichen eine Multinutzer-Skalierung, die mit herkömmlichen Website-Ressourcen nicht möglich wäre. Der Hintergrund: Normalerweise kann nur eine limitierte Zahl an Client-Verbindungen gleichzeitig verwaltet werden. Mithilfe von CDNs werden hingegen große Mengen an Client-Verbindungen skaliert und die Server somit entlastet.
Ein gutes Beispiel dafür liefern Gaming-Anbieter, die ihre Dienste auf verschiedenen Plattformen und Endgeräten zur Verfügung stellen und teilweise millionenfache Spieler pro Tag auf ihren Servern verzeichnen. Zusätzlich müssen die Daten dieser Spieler gespeichert und verwaltet werden, um ein zufriedenstellendes Spielerlebnis zu ermöglichen. Eine Aufgabe, die ohne Multinutzer-Skalierung durch CDNs unvorstellbar wäre.