Was ist ein CDN?
Ein Content Delivery Network (CDN) ist ein Netzwerk aus miteinander verbundenen Servern, das das Laden einer Website für datenintensive Anwendungen beschleunigt. CDN kann für Content Delivery Network oder Content Distribution Network stehen. Wenn ein Nutzer eine Webseite besucht, müssen sich die Daten vom Server der Webseite durch das Internet bewegen, um zum Computer des Nutzers zu gelangen. Wenn der Nutzer weit vom Server entfernt ist, dauert es lange Zeit, eine große Datei zu laden, z. B. ein Video oder Webseitenbilder. Auf CDN-Servern wird der Website-Inhalt dagegen geografisch näher bei den Nutzern gespeichert und gelangt schneller zu deren Computern.
Warum ist ein CDN wichtig?
Der Hauptzweck eines Content Delivery Network (CDN) liegt darin, die Latenz zu reduzieren oder die durch das Netzwerkdesign entstehende Verzögerung bei der Kommunikation zu verringern. Aufgrund der globalen und komplexen Eigenschaft des Internets muss sich der Kommunikationsverkehr zwischen Webseiten (Servern) und deren Nutzern (Clients) über große physikalische Entfernungen bewegen. Die Kommunikation ist außerdem wechselseitig, mit Anfragen vom Client zum Server und Antworten, die zurückkommen.
Ein CDN verbessert die Effizienz durch Zwischenserver zwischen dem Client und dem Webseitenserver. Diese CDN-Server verwalten einen Teil der Client-Server-Kommunikation. Sie verringern den Web-Verkehr zum Webserver, reduzieren den Bandbreitenverbrauch und verbessern die Nutzererfahrung Ihrer Anwendungen.
Welche Vorteile bieten CDNs?
Content Delivery Networks (CDNs) bieten viele Vorteile, die die Webseitenleistung verbessern und die Kernnetzwerk-Infrastruktur unterstützen. Ein CDN kann zum Beispiel die folgenden Aufgaben erledigen:
Seitenladezeit reduzieren
Webseiten-Verkehr kann nachlassen, wenn Ihre Seitenladezeiten zu langsam sind. Ein CDN kann Absprungraten reduzieren und die Zeit erhöhen, die Nutzer auf Ihrer Seite verbringen.
Bandbreitenkosten reduzieren
Bandbreitenkosten sind eine erhebliche Ausgabe, da jede eingehende Webseitenanfrage Netzwerkbandbreite verbraucht. Durch Caching und andere Optimierungen können CDNs die Datenmenge reduzieren, die ein Ursprungsserver bereitstellen muss, was die Hostingkosten für Webseiten-Eigentümer reduziert.
Content-Verfügbarkeit erhöhen
Zu viele Besucher auf einmal oder Ausfälle von Netzwerk-Hardware können zum Ausfall einer Webseite führen. CDN-Services können mehr Web-Verkehr handhaben und die Last auf Webservern reduzieren. Wenn einer oder mehrere CDN-Server offline gehen, können außerdem andere einsatzfähige Server diese ersetzen, um einen unterbrechungsfreien Service sicherzustellen.
Webseitensicherheit verbessern
Distributed Denial-of-Service (DDoS)-Attacken versuchen eine Anwendung lahmzulegen, indem eine große Menge Fake-Traffic an die Webseite gesendet wird. CDNs können solche Datenverkehrsspitzen bewältigen, indem sie die Last auf mehrere Zwischenserver verteilen und so die Auswirkungen auf den Ursprungsserver reduzieren.
Was ist die Geschichte der CDN-Technologie?
Die Content Delivery Network (CDN)-Technologie kam in den späten 1990er-Jahren mit dem Fokus auf schnellerer Content-Bereitstellung über das Internet auf:
Erste Generation
CDN-Services der ersten Generation konzentrierten sich auf Netzwerkprinzipien des intelligenten Netzwerkverkehrsmanagements und Rechenzentren für die Replikation.
Zweite Generation
CDNs der zweiten Generation entstanden als Reaktion auf den Anstieg von Audio- und Video-Streaming-Diensten, insbesondere Video-on-Demand und News on Demand. Die Technologie wurde auch weiterentwickelt, um neue Herausforderungen bei der Bereitstellung von Inhalten auf Mobilgeräten zu lösen. Unternehmen nutzten Cloud-Computing-Techniken und Peer-to-Peer-Netzwerke, um die Bereitstellung von Inhalten zu beschleunigen.
Dritte Generation
CDNs der dritten Generation entwickeln sich kontinuierlich. AWS treibt als einer der weltweit führenden CDN-Serviceanbieter die Innovation an. Da die meisten Webservices in der Cloud zentralisiert sind, liegt der Fokus nun auf Edge-Computing – Verwaltung des Bandbreitenverbrauchs mithilfe intelligenter Geräte, die intelligent kommunizieren. Autonome und selbstverwaltete Edge-Netzwerke könnten der nächste Schritt der CDN-Technologie sein.
Welchen Internetinhalt kann ein CDN bereitstellen?
Ein Content Delivery Network (CDN) kann zwei Arten von Inhalt bereitstellen: statischen Inhalt und dynamischen Inhalt.
Statischer Inhalt
Statischer Inhalt sind Webseitendaten, die sich nicht von Nutzer zu Nutzer ändern. Kopfzeilenbilder, Logos und Schriftarten der Webseite bleiben bei allen Nutzern gleich und das Unternehmen wechselt sie nicht regelmäßig. Statische Daten müssen nicht geändert, verarbeitet oder erstellt werden und eignen sich ideal für die Speicherung auf einem CDN.
Dynamischer Inhalt
Dynamischer Inhalt, z. B. Social-Media-News-Feeds, Wetterberichte, Login-Status und Chat-Nachrichten, ist bei den Webseitennutzern unterschiedlich. Diese Daten verändern sich je nach Standort des Nutzers, Loginzeit oder Nutzereinstellungen, und die Webseite muss die Daten für jeden Nutzer und jede Nutzerinteraktion generieren.
Wie funktioniert ein CDN?
Content Delivery Networks (CDNs) funktionieren durch Herstellung eines Point of Presence (POP) oder eine Gruppe von CDN-Edge-Servern an verschiedenen geografischen Standorten. Dieses geografisch verteilte Netzwerk basiert auf den Prinzipien von Caching, dynamischer Beschleunigung und Edge-Logikberechnungen.
Caching
Caching ist der Prozess der Speicherung mehrerer Kopien derselben Daten für schnelleren Datenzugriff. Beim Computing gilt das Prinzip des Caching für alle Arten der Speicherverwaltung. Bei der CDN-Technologie bezieht sich der Begriff auf den Prozess der Speicherung von statischem Webseiten-Inhalt auf verschiedenen Servern im Netzwerk. Caching beim CDN funktioniert folgendermaßen:
- Ein geografisch entfernter Webseitenbesucher fordert erstmals statischen Webseiteninhalt von Ihrer Seite an.
- Die Anfrage erreicht Ihren Webanwendungsserver oder Ursprungsserver. Der Ursprungsserver sendet die Antwort an den entfernten Besucher. Gleichzeitig sendet er auch eine Kopie der Antwort an den CDN-POP, der dem Besucher geografisch am nächsten ist.
- Der CDN-POP-Server speichert die Kopie als gecachte Datei.
- Wenn dieser Besucher oder ein anderer Besucher an diesem Standort das nächste Mal dieselbe Anfrage stellt, sendet der Caching-Server – nicht der Ursprungsserver – die Antwort.
Dynamische Beschleunigung
Dynamische Beschleunigung ist die Reduzierung der Server-Antwortzeit für dynamische Webinhaltsanfragen durch einen Zwischen-CDN-Server zwischen der Webanwendung und dem Client. Caching funktioniert mit dynamischem Webinhalt nicht gut, da der Inhalt sich bei jeder Nutzeranfrage ändern kann. CDN-Server müssen sich für jede dynamische Anfrage erneut mit dem Ursprungsserver verbinden, aber sie beschleunigen den Prozess, indem sie die Verbindung zwischen sich und dem Ursprungsserver optimieren.
Wenn der Client eine dynamische Anfrage über das Internet direkt an den Webserver sendet, könnte die Anfrage aufgrund der Netzwerk-Latenz verloren gehen oder verzögert werden. Es könnte auch Zeit erfordern, die Verbindung zur Sicherheitsüberprüfung zu öffnen und zu schließen. Wenn dagegen ein nahegelegener CDN-Server die Anfrage an den Ursprungsserver weiterleitet, ist bereits eine laufende, vertrauenswürdige Verbindung aufgebaut. Zum Beispiel könnten die folgenden Funktionen die Verbindung zwischen ihnen weiter optimieren:
- Intelligente Routing-Algorithmen
- Geografische Nähe zum Ursprung
- Die Fähigkeit, die Client-Anfrage zu verarbeiten, was ihre Größe reduziert
Edge-Logikberechnungen
Sie können den CDN-Edge-Server so programmieren, dass er logische Berechnungen durchführt, die die Kommunikation zwischen dem Client und dem Server vereinfachen. Dieser Server kann zum Beispiel die folgenden Aufgaben erledigen:
- Nutzeranfragen untersuchen und Caching-Verhalten verändern.
- Fehlerhafte Nutzeranfragen validieren und handhaben.
- Inhalt vor der Antwort verändern oder optimieren.
Mithilfe der Verteilung der Anwendungslogik zwischen den Webservern und dem Netzwerk-Edge können Entwickler die Computing-Anforderungen des Ursprungsservers entlasten und die Webseiten-Leistung verbessern.
Wofür wird ein CDN verwendet?
Ein Content Delivery Network (CDN) verbessert normale Webseitenfunktionen und erhöht die Kundenzufriedenheit. Im Folgenden finden Sie einige Beispielanwendungsfälle.
Bereitstellung von Inhalten mit hoher Geschwindigkeit
Durch Kombination von statischer und dynamischer Internet-Inhaltsbereitstellung können Sie Ihren Kunden mithilfe von CDNs eine globale, hochleistungsfähige, vollständige Seitenerfahrung bieten. Reuters ist z. B. der weltweite größte Nachrichten-Großhändler für Top-Kanäle wie BBC, CNN, die New York Times und die Washington Post. Die Herausforderung der Nachrichtenmedien für Reuters besteht darin, Nachrichteninhalte unverzüglich an Kunden weltweit auszuliefern. Reuters setzt den CDN-Service von Amazon, Amazon CloudFront, zusammen mit dem Amazon Simple Storage Service (Amazon S3) ein, um die Abhängigkeit von der Satellitenkommunikation zu verringern und eine günstigere, hochverfügbare und sichere global verteilte Netzwerkplattform zu schaffen.
Streamen in Echtzeit
Mithilfe von CDNs lassen sich reichhaltige und hochwertige Mediendateien zuverlässig und kostengünstig bereitstellen. Unternehmen, die Video und Audio streamen, nutzen CDNs, um drei Herausforderungen zu bewältigen: Bandbreitenkosten reduzieren, Skalierung erhöhen und Lieferzeit verringern. Hulu ist z. B. eine Onlinevideo-Streamingplattform im Besitz der Walt Disney Company. Sie setzt Amazon CloudFront ein, um dauerhaft mehr als 20 GBps Daten an seine wachsende Kundenbasis zu streamen.
Multinutzer-Skalierung
Mithilfe von CDNs lässt sich eine große Anzahl gleichzeitiger Benutzer unterstützen. Webseiten-Ressourcen können nur eine begrenzte Anzahl von Client-Verbindungen gleichzeitig verwalten. CDNs können diese Anzahl schnell skalieren, indem sie dem Anwendungsserver einen Teil der Last abnehmen. King ist beispielsweise ein Gaming-Unternehmen, das sozial vernetzte Cross-Plattform-Spiele entwickelt, die jederzeit, überall und von jedem Gerät aus gespielt werden können. King hat zu jeder Zeit über 350 Millionen Spieler, die 10,6 Milliarden Spiele pro Tag auf der Plattform spielen.
Spieleanwendungen von King speichern die Spieledaten von Nutzern in zentralen Rechenzentren, wodurch sie Spiele auf verschiedenen Geräten spielen können, ohne ihren Fortschritt zu verlieren. Die Rechenzentren sollen den Nutzern eine gleichbleibende Erfahrung bieten, selbst wenn Spieler mit alten Geräten und begrenzter Bandbreite am Spiel teilnehmen.
King nutzt Amazon CloudFront, um hunderte Terabyte Inhalt täglich bereitzustellen, mit Spitzen bis zu einem halben Petabyte oder mehr, wenn ein neues Spiel herauskommt oder ein großangelegtes Marketingprogramm gestartet wird.
Was ist Amazon CloudFront?
Amazon CloudFront ist ein Service für Content Delivery Network (CDN), der auf hohe Leistung, Sicherheit und Entwicklerkomfort ausgelegt ist. Amazon CloudFront kann für die folgenden Aufgaben eingesetzt werden:
- Bereitstellung von Daten über mehr als 450 global verteilte Points of Presence (POPs) mit automatischem Netzwerk-Mapping und intelligentem Routing.
- Verbesserung der Sicherheit mit Datenverkehrsverschlüsselung und Zugriffskontrollen und Verwendung von AWS Shield Standard zum Schutz vor Distributed Denial-of-Service (DDoS)-Angriffen ohne zusätzliche Kosten.
- Anpassung des Codes, den Sie am Edge des AWS-Netzwerks zur Bereitstellung von Inhalten ausführen, mithilfe von Serverless-Computing-Funktionen, um Kosten, Leistung und Sicherheit aufeinander abzustimmen.
- Automatische Skalierung zur Bereitstellung von Software, Spiel-Patches und IoT-Updates mit hohen Übertragungsraten.
Beginnen Sie mit der Entwicklung auf AWS CloudFront mit 50 GB kostenloser ausgehender Datenübertragung für 12 Monate. Erstellen Sie noch heute ein kostenloses AWS-Konto.
Nächste Schritte auf AWS
Sie erhalten sofort Zugriff auf das kostenlose Kontingent von AWS.
Starten Sie mit der Entwicklung in der AWS-Managementkonsole.