Warum bei Youtube Werbung schneller lädt als die Videos

Advanced: CDN – Content Delivery Networks

Thorben Wengert  / pixelio.de

Foto: Thorben Wengert / pixelio.de

Es nervt wie die Hölle: Youtube-Werbung lädt in Nullkommanix und läuft ruckelfrei, das gewünschte Video lässt auf sich warten und muss mal erst 2 Minuten pausiert werden, bevor irgendetwas passiert. Hinter dem Nerveffekt steckt eine ausgefuchste Technik, die im Normalfall das Surfen im Internet beschleunigt. Und dahinter steckt meistens Akamai, einer der fast unbekannten geheimen Internetriesen, der eBay, Facebook, Apple und Microsoft in sich vereint.

Die Zeiten der klassischen Serverfarmen sind längst vorbei, es sind keine einzelnen Rechenzentren mehr, die uns mit Internetseiten und Downloads versorgen, sondern CDNs, die mit Techniken wie MirrorBrain oder Hadoop die Daten näher zum Benutzer bringen. Wir wagen einen Blick unter die Motorhaube des Internets.

Welche Idee steckt hinter CDNs?

Der ungekrönte CDN König

Der ungekrönte Youtube König hat Googles CDN auf die Feuerprobe gestellt – Foto: youtube

Die Geschwindigkeit mit der eine Internetseite geladen wird, hängt massiv von der Entfernung zwischen dem Server und dem Betrachter des Inhalts ab. Einige werden sich noch an „die gute alte Zeit“ erinnern, in der man vor größeren Downloads immer auswählen musste, von wo der Download durchgeführt werden soll. Die Betreiber der Server kümmerten sich in Handarbeit darum, dass die Daten auf den Servern rund um den Globus verteilt wurden und der Benutzer musste raten und hoffen, dass der Server, der am nächsten dran ist, auch der schnellste ist. Das übernimmt nun das Content Delivery Network. Es nimmt die Benutzeranfrage entgegen und entscheidet dann anhand zahlreicher Kriterien, von welchem Server ein Download gestartet wird. Viel wichtiger und komplexer ist allerdings die Logik für Webseitenbetreiber. Verfallen unvorhersehbar und unerklärlich auf einmal Millionen Europäer dem Hüftschwung eines süd-koreanischen Pop-Barden, steuert das CDN automatisch gegen und sorgt dafür, dass von dem Video, das ursprünglich in Asien hochgeladen wurde, möglichst schnell, möglichst viele Kopien auf europäischen Servern verteilt wird, damit diese den Inhalt ortsnah weiter verteilen können und die Kabel zwischen Europa und Asien nicht den Gangnam-Style-Kollaps sterben.

Wie arbeiten CDNs?

Wenn ein Benutzer eine Internetverbindung aufbaut, hängt er nicht physikalisch direkt am Internet, sondern ist mal erst mit der Infrastruktur seines Dienstanbieters verbunden. Der teilt dem Benutzer dann eine IP Adresse zu. Die zugeteilten IP Adressen, sind auf geographische Punkte beschränkt, an denen der Internetanbieter die Daten in „das Internet“ übergibt. Der Netzanbieter wird dabei immer einen Übergabepunkt wählen, der geographisch möglichst nah am Kunden ist, um seine eigene Infrastruktur zu entlasten. Beginnt deine IP-Adresse mit 92.50.96. kann man zum Beispiel sicher sagen, dass du ein Unitymedia-Kunde aus dem Großraum Düsseldorf bist. Rufst du jetzt zum Beispiel Facebook auf, öffnet sich nur die rudimentäre Startseite von Facebook und Facebook übergibt deine Anfrage an Akamai. Die analysieren an Hand deiner IP deinen Standort und alles was so an größeren Daten kommt (Bilder, Videos) wird dir nicht mehr von Facebook, sondern von einem Akamai-Netzwerk in deiner Nähe geschickt. Wählst du z.B. mal irgendein Bild aus und wählst „Bild in neuem Tab öffnen“, siehst du, dass sich die URL verändert und so beginnt:

https://fbcdn-profile-a.akamaihd.net/hprofile-ak-xpa1

Facebook kommt also gar nicht von Facebook, sondern vom vertrauenswürdigen Akamai-Server in deiner Nachbarschaft.
Die geographische Nähe ist dabei aber nur begrenzt entscheidend. Selten abgerufene Inhalte hält Akamai nur auf Servern vor, die in der Nähe der häufigsten Abrufer sind. Wird ein bestimmter Inhalt, der bisher immer nur aus Deutschland abgerufen wurde, plötzlich auch sehr oft in Indien abgerufen, erhalten die ersten vereinzelten Inder die Daten noch direkt von Akamai Deutschland, bis der Trend erkannt wurde. Danach legen die Server automatisch eine Kopie der Daten auf Servern in Indien ab, um das lokale Publikum schneller bedienen zu können. Und so entsteht der Youtube Effekt: während die deutsche Youtube Werbung natürlich auch vornehmlich auf deutschen Servern liegt, liegt der Vlog von GeekBeat, den in Deutschland kaum einer kennt, in den USA. Die Werbung kommt schnell aus dem Rechenzentrum um die Ecke, während das eigentliche Video den langen und beschwerlichen Weg durch die Unterseekabel des Atlantik nehmen muss. Und neben den ganzen Häufigkeiten und Verfügbarkeiten wird natürlich noch die Auslastung des jeweiligen Servers/Rechenzentrums berücksichtigt. Ist in Kalifornien tiefste Nacht, versorgen die auch schon mal Europa mit, weil dort zur Nachmittagszeit die Verzögerung durch ausgelastete Rechenzentren größer ist, als die Verzögerung durch das Transatlantikkabel.

Wer ist Akamai?

Auch Diablo wohnt im Dungeon von Akamai - Foto: Blizzard

Auch Diablo wohnt im Dungeon von Akamai – Foto: Blizzard

Akamai ist der Topanbieter für CDNs. Größere Konkurrenz besteht sonst nur noch durch den Amazon Dienst A9 (Jepp, Amazon verkauft nicht nur allenmöglichen Kram, sie sind auch einer der größten Rechenzentren-Betreiber der Welt) und das Google-CDN, das Google aber aktuell nur für eigene Zwecke (Youtube, Google-Suche, etc.) betreibt. Nur um einen mal die Größen vor Augen zu führen: Akamai betreibt (Stand 03/2014) über 150.000 Server in 92 Ländern. Auf der Basis von diesem Netzwerk laufen nicht nur Facebook und eBay, sondern auch der Microsoft Update Dienst, der Apple AppStore und Blizzards BattleNet.
Zum Vergleich: Facebook gibt an, über 180.000 Server zu verfügen, scheint dabei aber die Server von Akamai mitzuzählen. 5/6 aller Inhalte die ihr euch auf Facebook gebt, kommen also gar nicht von Facebook.
Und zum Abschluss des Thema Akamai ein not-so-funny FunFact: der Erfinder der Technologie, die das Surfen mit so gigantischen Datenmengen überhaupt erst ermöglicht, Danny M. Lewin, starb während der Terroranschläge vom 11. September. Er saß an Bord von American-Airlines-Flug 11, der in den Nordturm des World Trade Centers einschlug.

Kann ich das selber bauen?

Nun, grundsätzlich ja. Sicher wird niemand auf Grund dieses Blogposts ein Weltumspannendes CDN aufbauen, aber möglich wäre es: alle zentralen Komponenten sind als OpenSource verfügbar. Grundlage für solche Netzwerke ist Hadoop. Dies ist ein Filesystem der Apache Foundation, das Schreib- und Leseoperationen auf Daten über verschiedene Server verteilt. Darauf aufbauend kann sich die Software MirrorBrain darum kümmern, dass die Daten auch geographisch korrekt verteilt werden. Abschließend braucht ihr dann, für eine geographisch verteilte Datenbank, noch Hive, eine spezielle Datenbanksoftware, die auf Hadoop basiert. Hive wurde übrigens von Facebook entwickel. Im Jahre 2008 schenkte Facebook dann den Source-Code einer OpenSource Community.

Advertisements

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden /  Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden /  Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden /  Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden /  Ändern )

Verbinde mit %s