Willkommen zur Speed Week! Jeden Tag in dieser Woche sprechen wir über etwas, das Cloudflare unternimmt, um das Internet für alle sinnvoll zu beschleunigen.
Cloudflare hat ein riesiges Netzwerk von Rechenzentren in 180 Städten in 75 Ländern aufgebaut. Eine Möglichkeit, Cloudflare zu sehen, ist als ein globales System zum sicheren, schnellen und zuverlässigen Transport von Bit von jedem Punkt A zu jedem anderen Punkt B auf dem Planeten.
Damit das Wirklichkeit wird, haben wir Argo entwickelt. Argo verwendet globale Netzwerkinformationen in Echtzeit, um Stromausfälle, Kabelschnitte, Paketverluste und andere Probleme im Internet zu umgehen. Argo macht das Netzwerk, auf das Cloudflare vertraut, – das Internet – auf jeder Etappe in der ganzen Welt schneller, zuverlässiger und sicherer.
Wir haben Argo vor zwei Jahren gestartet und es trägt jetzt mehr als 22 % des Traffics von Cloudflare. An einem durchschnittlichen Tag verkürzt Argo die Zeit, die Internetnutzer damit verbringen, auf Inhalte zu warten, um 112 Jahre!
Da Cloudflare und unser Datenverkehrsvolumen gewachsen sind, ist es jetzt sinnvoll, unser eigenes privates Backbone aufzubauen, um wichtige Verbindungen zwischen Cloudflare-Standorten noch sicherer, zuverlässiger und schneller zu gestalten.
Heute stellen wir das globale private Backbone von Cloudflare vor. Es ist seit einiger Zeit in Betrieb und verbindet Cloudflare-Standorte über private Glasfaserleitungen.
Dieses private Backbone kommt allen Kunden von Cloudflare zugute und glänzt in Kombination mit Argo. Argo kann die beste verfügbare Verbindung über das Internet auf Basis von Rechenzentren auswählen und nutzt automatisch die Vorteile von Cloudflares globalem privatem Backbone.
Lassen Sie uns das Geheimnis um Argo lüften und erklären, wie unser Backbone-Netzwerk die Leistung für unsere Kunden weiter verbessert.
Was ist Argo?
Argo ist wie das Navigationssystem Waze für das Internet. Cloudflare befördert täglich Hunderte Milliarden von Anfragen über unser Netzwerk und das Internet. Da unser Netzwerk, unsere Kunden und deren Endnutzer weltweit gut verteilt sind, zeichnen all diese Anfragen, die über unsere Infrastruktur fließen, ein großartiges Bild davon, wie verschiedene Teile des Internets zu einem bestimmten Zeitpunkt funktionieren.
Genau wie Waze reale Daten von echten Fahrern ermittelt, um Ihnen genaue, staufreie (und manchmal unorthodoxe) Routen durch die Stadt zu zeigen, verwendet Argo Smart Routing die Timing-Daten, die Cloudflare bei jeder Anfrage erfasst, um schnellere, effizientere Routen durch das Internet zu finden.
In der Praxis ist das Netzwerk von Cloudflare in seiner Reichweite sehr umfangreich. Einige der Internetverbindungen in einer bestimmten Region sind möglicherweise überlastet und führen zu einer schlechten Leistung (gewissermaßen ein Stau). Durch das Verständnis dessen, was geschieht, und die Verwendung alternativer Netzwerkstandorte und -anbieter kann Argo den Datenverkehr auf einer weniger direkten, aber schnelleren Route vom Ursprung bis zum Ziel bringen.
Diese Vorteile sind nicht theoretisch: Durch die Aktivierung von Argo Smart Routing wird die HTTP Time to First Byte (TTFB) durchschnittlich um 33 % reduziert.
Und noch etwas, worauf wir stolz sind: Wir haben uns stark darauf konzentriert, dass es einfach zu benutzen ist. Ein Klick im Dashboard ermöglicht ein besseres, intelligenteres Routing und nutzt das gesamte Gewicht des Netzwerk-, Daten- und Engineering-Knowhows von Cloudflare, um Ihren Datenverkehr zu beschleunigen. Erweiterte Analysen ermöglichen es Ihnen, genau zu verstehen, wie Argo für Sie auf der ganzen Welt funktioniert.
In unserem ursprünglichen Blog-Beitrag zum Start können Sie mehr über die Funktionsweise von Argo lesen.
Bisher haben wir über Argo auf funktionaler Ebene gesprochen: Sie schalten es ein und es macht Anfragen, die das Internet zu Ihrem Ursprung durchqueren, schneller. Aber was steckt eigentlich dahinter? Argo ist auf ein paar Dinge angewiesen, um seine Magie zu entfalten: das Cloudflare-Netzwerk, beinahe sekundengenaue Leistungsdaten über die Verkehrsentwicklung im Internet und Routing-Algorithmen auf Basis von Machine-Learning-Techniken.
Das globale Netzwerk von Cloudflare
Cloudflare unterhält ein Netzwerk von Rechenzentren auf der ganzen Welt, und unser Netzwerk wächst ständig weiter. Heute verfügen wir über mehr als 180 Rechenzentren in 75 Ländern. Das sind 69 zusätzliche Rechenzentren seit der Einführung von Argo im Mai 2017.
Neben dem Hinzufügen neuer Standorte arbeitet Cloudflare ständig mit Netzwerkpartnern zusammen, um unseren Netzwerkstandorten Konnektivitätsoptionen hinzuzufügen. Ein einzelnes Cloudflare-Rechenzentrum kann mit einem Dutzend Netzwerken verbunden werden, die mit mehreren Internet-Knoten (Internet eXchanges – IXs), mehreren Transitanbietern (z. B. Telia, GTT usw.) und jetzt auch mit unserem eigenen physischen Backbone verbunden sind. Ein bestimmtes Ziel kann über mehrere verschiedene Verbindungen vom gleichen Standort aus erreichbar sein. Jede dieser Verbindungen hat unterschiedliche Leistungs- und Zuverlässigkeitscharakteristiken.
Dieser vergrößerte Netzwerk-Fußabdruck ist wichtig, um Argo schneller zu machen. Zusätzliche Netzwerkstandorte und -anbieter bedeuten, dass Argo über mehr Möglichkeiten verfügt, um Netzwerkunterbrechungen und Staus zu umgehen. Jedes Mal, wenn wir einen neuen Netzwerkstandort hinzufügen, erhöhen wir exponentiell die Anzahl der Routing-Optionen, die für eine bestimmte Anfrage zur Verfügung stehen.
Besseres Routing für verbesserte Leistung
Argo benötigt das riesige globale Netzwerk, das wir aufgebaut haben, um seine Aufgabe zu erfüllen. Aber es würde nicht viel nützen, wenn es nicht die Intelligenz hätte, alle unsere Rechenzentren und Kabel zwischen ihnen zu nutzen, um den Datenverkehr schneller zu machen.
Argo kombiniert mehrere Machine-Learning-Techniken, um Routen zu erstellen und zu testen sowie zu disqualifizieren, wenn sie nicht erwartungsgemäß funktionieren.
Die Routen werden aufgrund von Daten mit „Offline“-Optimierungstechniken generiert: Argos Konstruktionsalgorithmen für Routen nehmen einen Eingangsdatensatz (Timing-Daten) und ein festgelegtes Optimierungsziel („TTFB-Minimierung“) und geben Routen aus, von denen sie glauben, dass sie diese Auflage erfüllen.
Die Disqualifikation von Routen erfolgt durch eine separate Pipeline, die keine Kenntnisse über die Konstruktionsalgorithmen für die Routen hat. Diese beiden Systeme sind bewusst so konzipiert, dass sie gegensätzlich sind, damit Argo sowohl aggressiv bei der Suche nach besseren Routen über das Internet als auch anpassungsfähig an sich schnell ändernde Netzwerkbedingungen sein kann.
Ein konkretes Beispiel für die Intelligenz von Argo ist die Fähigkeit, zwischen mehreren potenziellen Verbindungsoptionen zu unterscheiden, wenn es ein bestimmtes Rechenzentrum verlässt. Wir nennen dies „Transitauswahl“.
Wie bereits erwähnt, verfügen einige unserer Rechenzentren mitunter über ein Dutzend verschiedene praktikable Optionen, um eine bestimmte Ziel-IP-Adresse zu erreichen. Es ist, als ob Sie einen Vertrag mit jedem für Ihr Haus verfügbaren Internetanbieter hätten und bei jeder Website, die Sie besuchen wollen, entscheiden könnten, welchen Sie nutzen wollen.. Durch die Transitauswahl kann Cloudflare bei jeder Etappe in Echtzeit den schnellsten verfügbaren Pfad auswählen, um das Ziel zu erreichen.
Mit der Transitauswahl kann Argo zwei Dinge spezifizieren:
Netzwerkstandort-Wegpunkte auf dem Weg zum Ursprung.
Den spezifischen Transitanbieter oder Verbindung an jedem Wegpunkt der Reise des Pakets von seinem Ursprung bis zum Ziel.
Um dies wieder mit Waze zu vergleichen: Ohne Transitauswahl ist es so, als würde Argo jemandem sagen, er solle zu einem Wegpunkt fahren (von San Francisco nach New York, über Salt Lake City), ohne die Straßen anzugeben, die er tatsächlich nach Salt Lake City oder New York nehmen soll. Mit Transitauswahl können wir vollständige, detaillierte Wegbeschreibungen geben – nehmen Sie die die I-80 ab San Francisco, biegen Sie hier links ab, fahren Sie auf der SR-201 nach Salt Lake City hinein (weil die I-80 um die Stadt überlastet ist) usw. Das ermöglicht es uns, Probleme im Internet mit viel größerer Präzision zu umgehen.
Die Transitauswahl erfordert Logik auf Datenebene zwischen unseren Rechenzentren (den Komponenten, die die Daten tatsächlich durch unser Netzwerk bewegen), um eine Differenzierung zwischen verschiedenen Anbietern und Verbindungen zu ermöglichen, die an jedem Standort verfügbar sind. Einige interessante Netzwerkautomatisierungs- und Werbetechniken ermöglichen es uns, viel genauer zu erkennen, welche Verbindung tatsächlich ausgewählt werden soll, um den Datenverkehr zu bewältigen.
Ohne Änderungen auf der Argo-Datenebene würden diese Optionen von unseren Edge-Routern abstrahiert, wobei die Wahl des Transits dem BGP überlassen bliebe. Wir planen, in nicht allzu ferner Zukunft mehr Informationen über die verwendeten Routing-Techniken anzubieten.
Wir sind in der Lage, die Auswirkungen der Transitauswahl auf den Kunden-Traffic bei Argo direkt zu messen. Im Hinblick auf die globale durchschnittliche Verbesserung bringt die Transitauswahl den Kunden einen zusätzlichen TTFB-Latenzvorteil von 16 % gegenüber der Nutzung von Standardrouten aus dem BGP. Das ist enorm!
Eine Sache, über die wir nachdenken: Argo kann die Netzwerkbedingungen selbst ändern, wenn der Datenverkehr von einem Standort oder Anbieter zu einem anderen verlagert wird, indem es Nachfrage induziert (zusätzliches Datenvolumen aufgrund verbesserter Leistung) und Datenverkehrsprofile ändert. Mit großer Macht kommt große Komplexität.
Hinzufügen des globalen privaten Backbones von Cloudflare
Warum haben wir angesichts der vielfältigen Transit- und Konnektivitätsoptionen in jedem unserer Rechenzentren und der Intelligenz, die es uns ermöglicht, zwischen ihnen zu wählen, die Zeit und Mühe aufgewendet, ein eigenes Backbone aufzubauen? Die kurze Antwort: Der Betrieb unseres eigenen privaten Backbones gibt uns viel mehr Kontrolle über die End-to-End-Performance und das Kapazitätsmanagement.
Wenn wir Transit kaufen oder einen Partner für die Verbindung nutzen, verlassen wir uns darauf, dass dieser Anbieter den Zustand der Verbindung verwaltet und sicherstellt, dass sie frei von Hindernissen und verfügbar bleibt. Einige Netzwerke sind besser als andere, und die Bedingungen ändern ständig.
Als Beispiel ist hier eine Messung des Jitters (Varianz der Roundtrip-Zeit) zwischen zwei unserer Rechenzentren, Chicago und Newark, über das Netzwerk eines Transitanbieters:
Der durchschnittliche Jitter über die abgebildeten 6 Stunden beträgt 4 ms, mit einer durchschnittlichen Roundtrip-Latenz von 27 ms. Ein gewisses Maß an Latenz ist etwas, mit dem wir leben müssen, die Lichtgeschwindigkeit ist eine harte physikalische Konstante, die schwer zu bekämpfen ist, und Netzwerkprotokolle sind so aufgebaut, dass sie über Verbindungen mit hoher oder niedriger Latenz funktionieren.
Jitter hingegen ist „schlecht“, weil er unvorhersehbar ist und Netzwerkprotokolle und darauf basierende Anwendungen oft schnell abbauen, wenn der Jitter steigt. Der Jitter auf einer Verbindung wird in der Regel durch stärkere Pufferung, Warteschlangen und den allgemeinen Wettbewerb um Ressourcen in der Routing-Hardware auf beiden Seiten einer Verbindung verursacht. Zur Veranschaulichung: Ein VoIP-Gespräch über ein Netzwerk mit hoher Latenz zu führen, ist ärgerlich, aber machbar. Jeder Teilnehmer des Gesprächs bemerkt die „Verzögerung“, aber die Sprachqualität leidet nicht. Jitter verursacht eine Verstümmelung des Gesprächs, wobei die Pakete übereinander ankommen und unvorhersehbare Störungen die Konversation unverständlich machen.
Hier ist das gleiche Jitter-Diagramm zwischen Chicago und Newark, aber diesmal über das globale private Backbone von Cloudflare:
Viel besser! Hier sehen wir eine Jitter-Messung von 536 μs (Mikrosekunden). Das ist fast achtmal besser als die Messung über einen Transitanbieter zwischen den beiden Standorten.
Die Kombination aus Glasfaser, über die wir durchgehend verfügen, und Argo Smart Routing ermöglicht es uns, das volle Potenzial des Cloudflare-Backbone-Netzwerks zu erschließen. Das Routing-System von Argo weiß genau, über welche Kapazität das Backbone verfügt, und kann steuern, wie viele zusätzliche Daten es versucht, durch das Backbone zu transportieren. Durch die Kontrolle beider Enden der Leitung sowie der Leitung selbst können wir bestimmte Leistungsmerkmale garantieren und diese Erwartungen in unsere Routing-Modelle einbauen. Die gleichen Prinzipien gelten nicht für Transitanbieter und Netzwerke, die wir nicht kontrollieren.
Latenz, verschwinde!
Unser privates Backbone ist ein weiteres Tool, das uns zur Verbesserung der Leistung im Internet zur Verfügung steht. Die Kombination von Argos innovativem maschinellem Lernen und direkter Glasfaserverbindung zwischen den Punkten in unserem großen Netzwerk ermöglicht es uns, den Kunden-Traffic mit vorhersehbarer, ausgezeichneter Leistung zu routen.
Wir freuen uns, dass das Backbone und sein Einfluss weiter wachsen.
Aus meiner persönlichen Sicht als Produktmanager kann ich sagen, dass die Arbeit mit Argo wirklich Spaß macht. Wir machen Kunden glücklicher, indem wir ihre Webseiten, APIs und Netzwerke schneller machen. Die Kunden können Argo mit einem Klick aktivieren und den unmittelbaren Nutzen sehen. Unter dem Dach von Argo beginnen riesige Investitionen in physische und virtuelle Infrastrukturen, den Verkehr von der Quelle bis zum Ziel zu beschleunigen.
Aus technischer Sicht sind unsere wöchentlichen Ziele und Vorgaben direkt messbar – haben wir unsere Kunden durch zusätzliche Engineering-Arbeiten schneller gemacht? Wenn wir eine neue Optimierung von Argo ausliefern und sofort sehen, wie sich unsere Diagramme nach oben und rechts bewegen, wissen wir, dass wir unsere Arbeit getan haben.
Der Aufbau unseres physischen privaten Backbones ist das Neueste, was wir in unserem Drang nach Geschwindigkeit getan haben.
Willkommen zur Speed Week!
Aktivieren Sie Argo jetzt oder kontaktieren Sie den Vertrieb, um mehr zu erfahren!