Was ist ein CDN?
Ein Content Delivery Network (CDN) ist ein Netzwerk von Servern, die an verschiedenen rund um den Erdball verteilten Punkten stehen. Diese Standorte werden auch als PoP (Point of Presence) bezeichnet. Zweck dieses globalen Netzwerks ist es, Websites und Inhalte wie Stylesheets, HTML– und Javascript-Dateien, Bilder und Videos möglichst nah am Standort des Nutzers auszuliefern und so deren Performance zu steigern. Denn je geringer die geografische Distanz zwischen Nutzer und Server ist, desto kürzer sind dessen Antwortzeiten und umso schneller können die Inhalte geladen werden. Zum Einsatz kommen Content Delivery Networks vor allem bei Websites mit großer Reichweite, die ein internationales Publikum ansprechen. Sie profitieren neben kürzeren Ladezeiten von weiteren Vorteilen wie einer geringeren Serverauslastung und höherer Sicherheit. [1]
Wie funktioniert ein Content Delivery Network?
Ein CDN setzt sich aus mehreren Komponenten zusammen. Die Basis bildet der Ursprungsserver, auf dem die Website gehostet wird. Über ein Distributionssystem werden die Inhalte des Ursprungsservers auf die Replica-Server (auch Edge-Server genannt) des Content Delivery Networks verteilt. Diese sind in aller Welt verteilt, meist an strategisch wertvollen Punkten wie den Internet-Knotenpunkten (Internet Exchange Points, IXP), an denen sich die verschiedenen Internet-Provider miteinander verbinden. Die Nähe zu diesen wichtigen Knotenpunkten hat den Vorteil, dass Anfragen keine unnötig langen Wege zurücklegen müssen, was sich in sehr kurzen Antwortzeiten widerspiegelt. Die zweite Aufgabe des Distributionssystems ist es, die Inhalte im Netzwerk auf dem neusten Stand zu halten. Je nach Konfiguration kann das System die Inhalte vom Ursprungsserver proaktiv auf die Replica-Server verteilen oder diese informieren, dass bei Bedarf aktuelle Daten abgerufen werden können.
Eine weitere wichtige Komponente des CDN ist das Request-Routing-System. Dieses hat die Aufgabe, eingehende Anfragen von Nutzern an den am ehesten für die Auslieferung der Inhalte geeigneten Replica-Server weiterzuleiten. Bei der Auswahl des besten Servers spielen verschiedene Kennzahlen wie die geografische Distanz und die Übertragungsrate zwischen Nutzer und Server, aber auch die Auslastung oder die Anzahl der aktiven Verbindungen eine Rolle. Diese Kennzahlen stellt das sogenannte Accounting-System zur Verfügung. Die Gewichtung der einzelnen Werte kann sich je nach konkretem Einsatzzweck des CDN unterscheiden. Ist der passende Replica-Server gefunden, wird der Nutzer via Request-Redirection an diesen weitergeleitet und erhält Zugriff auf die gewünschten Inhalte. Für den Nutzer ist dieser gesamte Vorgang nicht sichtbar. [2]
Praxisbeispiel für den Einsatz eines CDN
Ein Nutzer aus Boston greift über seinen Browser auf eine in Deutschland gehostete Website zu. Ohne CDN muss die Anfrage den Atlantik und verschiedene Netzwerke durchqueren, bis sie schließlich den Server erreicht und dieser eine Antwort senden kann. Die Zeit, bis die Website im Browser lädt, ist entsprechend lang. Dies kann dazu führen, dass der Nutzer abspringt.
Mit einem CDN wird die Anfrage des Nutzers auf Basis seines Standorts an den nächstgelegenen Replica-Server (z. B. in New York) weitergeleitet. Statt mehrere Tausend Kilometer und viele Hops muss die Anfrage des Nutzers so nur eine vergleichsweise kurze physische Strecke zurücklegen, wodurch sich die Antwortzeit verkürzt, Jitter minimiert wird und die User-Experience verbessert. [3]
Geschichte des CDN
Das erste Content Delivery Network wurde 1999 von Akamai Technologies in Betrieb genommen. Damals steckte das Internet noch in den Kinderschuhen und das Abrufen von Inhalten wie Bildern und Videos dauerte aufgrund der langsamen Internetanschlüsse lange. Um Inhalte schneller und effizienter zum Nutzer zu transportieren, entwickelten die beiden Forscher und späteren Akamai-Gründer Dr. Tom Leighton und Daniel Lewin (beide vom MIT) einen mathematischen Algorithmus, der ein intelligentes Routing und das Replizieren von Inhalten über ein großes Netzwerk aus Servern ermöglicht. Den Anstoß dazu gab Tim Berners-Leer. Der „Vater des Web“ forderte seine Kollegen am MIT auf, neue und bessere Wege zu finden, Webinhalte auszuliefern.
Die Content Delivery Networks der ersten Generation ist für die Bereiche E-Commerce, Streaming und Downloads konzipiert. Erst mit dem Boom von Cloud- und Mobile-Computing kam es zur Entwicklung der zweiten Generation Content Delivery Networks, die das Bereitstellen von verschiedenen Web- und Multimedia-Inhalten auf unterschiedlichsten Endgeräten ermöglicht. Mittlerweile haben sich neben Akamai zahlreiche weitere CDN-Anbieter auf dem Markt etabliert. Zu den größten Anbietern zählen: [4]
- Fastly
- Cloudflare
- Amazon CloudFront
- Google Cloud CDN
- Microsoft Azure CDN
Welche Vorteile hat die Nutzung eines Content Delivery Networks?
Für Websitebetreiber kann das Verwenden eines CDN eine Reihe von Vorteilen mitbringen. Die wichtigsten davon sind:
1. Kürzere Ladezeiten: Durch das Bereitstellen von Inhalten über einen geografisch näher am Nutzer gelegenen CDN-Server lässt sich die Ladedauer von Websites beschleunigen. Dies wirkt sich positiv auf die Verweildauer der Besucher und die sogenannte Bounce-Rate aus. Denn Nutzer neigen dazu, Websites mit langen Ladezeiten rasch wieder zu verlassen und zum Beispiel über den Zurück-Button ihres Browsers zur Google-Suche zurückzukehren. Für die Suchmaschine ist diese schnelle Rückkehr zu den Suchergebnissen ein negatives Signal, das sich auf Dauer nachteilig auf das Ranking der Website auswirken kann.
2. Höhere Sicherheit: Mithilfe eines CDN können sich Websites wirksam vor sogenannten DoS- (Denial of Service) und DDoS-Angriffen (Distributed-Denial-of-Service) schützen. Bei dieser Angriffsmethode überhäufen Hacker einen Server mit einer großen Menge unbrauchbarer Anfragen. Dies sorgt dafür, dass der Webserver schwer oder gar nicht erreichbar ist. Ein globales Netz aus CDN-Servern ist in der Lage, diesen Traffic zu absorbieren und kann verhindern, dass er überhaupt den Ursprungsserver erreicht. Auch andere Bedrohungen wie Cross-Site-Scripting (XSS) und SQL-Injections lassen sich durch Nutzung eines CDN ausschalten.
3. Bessere Verfügbarkeit: Ist der Ursprungsserver aufgrund eines technischen Fehlers oder eines Problems mit dem Routing für den Nutzer nicht erreichbar, kann ein Content Delivery Network die zuletzt im Cache gespeicherte Version der Website von einem der nächstgelegenen Replica-Server ausliefern. Durch diese Redundanz lässt sich vermeiden, dass der Nutzer beim Aufruf einer Website eine Fehlerseite zu Gesicht bekommt und dem Websitebetreiber verloren geht.
4. Geringere Kosten: Mit steigendem Traffic benötigen Websites in der Regel immer leistungsfähigere Server-Hardware und höhere Bandbreiten. Durch das Nutzen eines Content Delivery Networks ist kein Upgrade des Hosting-Plans nötig, da Nutzer Inhalte direkt von den Servern des CDN-Netzwerks abrufen und der Ursprungsserver kaum belastet wird. [4]
Welche Nachteile hat die Nutzung eines Content Delivery Networks?
Das Verwenden eines Content Delivery Networks kann auch Nachteile mit sich bringen. Dazu gehören:
1. Höherer Aufwand: Das Einrichten und der fortlaufende Betrieb eines Content Delivery Networks erfordert einen gewissen Aufwand, da Inhalte nicht mehr nur auf einem einzelnen Server gespeichert, sondern über ein Netzwerk aus Servern verteilt sind. Zudem ist technisches Know-how nötig, um eine reibungslose Funktion zu gewährleisten.
2. Kontrollverlust: Durch das Verteilen von Daten auf rund um den Erdball verstreute Replica-Server geben Websitebetreiber ein Stück weit die Kontrolle über diese auf. Problematisch kann beispielsweise das Nutzen eines CDNs von einem US-Anbieter sein. Denn in den USA sind die Anbieter dazu verpflichtet, auf ein Herausgabeersuchen durch Strafverfolgungsbehörden sämtliche Daten an diese auszuhändigen. Und das auch dann, wenn diese in anderen Ländern gespeichert sind.
3. Grenzen bei dynamischen Inhalten: Individuell an Nutzer angepasste Inhalte wie zum Beispiel Warenkörbe von Onlineshops lassen sich nicht von einem Replica-Server speichern. Einige Anbieter bieten für diesen Zweck sogenannte Workarounds an, die durch eine beschleunigte Übertragung und spezielle Routing-Pfade dennoch eine Übertragung dynamischer Inhalte ermöglichen.
4. SEO-Probleme: Falsch eingerichtet kann ein CDN zu Duplicate Content führen. Diese doppelten Inhalte (wenn die identische Version einer Website auf unterschiedlichen Servern verfügbar ist) werden von Suchmaschinen wie Google als negatives Signal gewertet und können das Ranking einer Website beeinträchtigen. Durch Setzen eines Canonical Headers, der Google signalisiert, dass es sich bei den Inhalten auf den CDN-Servern nur um Kopien handelt, lässt sich dieses Problem jedoch umgehen. [5]