Kubernetes: Schneller mit Fastly
Wenn es um Skalierung geht, ist Kubernetes für die meisten Leute die erste Wahl. Kubernetes selbst wandte sich auf der Suche nach mehr Skalierbarkeit und Effizienz aber an Fastly. Das Team benötigte eine neue und optimierte Lösung, mit der es monatlich über fünf Petabyte an heruntergeladenen Daten von seinem offiziellen Binärdateienservice an Menschen auf der ganzen Welt ausliefern konnte. In einem ersten Schritt beschleunigten und skalierten wir also die Downloads des Unternehmens und halfen ihm, ein unvorhergesehenes Problem voll und ganz zu verstehen.
Geschwindigkeit ist Silber, Echtzeit-Logging ist Gold
Ursprünglich entschied sich das Kubernetes Team für Fastly, um seine Downloads zu beschleunigen, Egress-Kosten zu sparen und Änderungen im Backend ohne Serviceunterbrechung vornehmen zu können. Letztendlich war es aber die Echtzeit-Observability, die das Unternehmen endgültig überzeugte, da es mit unseren Logging-Funktionen, dem Zugriff auf Metriken und weiteren nützlichen Features bei der Verlagerung seines Download-Traffics zu Fastly ungeahnte Einblicke erhielt. Erfahren Sie hier aus erster Hand, warum sich das Kubernetes Team für Fastly entschied.
In diesem Livemitschnitt sehen Sie auch, welch große Überraschung das Kubernetes Team beim Umstieg auf Fastly erlebte, als nur ein Bruchteil des erwarteten Traffic-Volumens bei Fastly ankam. Bis zu diesem Zeitpunkt hatte das Kubernetes Team keinen Zugang zu guten Überwachungstools oder Transparenz in Bezug auf seinen Traffic, schon gar nicht in nahezu Echtzeit. DNS und Netzwerktechnologien können unglaublich komplex und undurchsichtig sein, aber dank Fastly erhält das Team nun Einblick in seine Traffic-Muster. Schon ab dem ersten Moment war klar, dass etwas nicht stimmte. Gemeinsam stellten das Kubernetes Team und das Mission Control Team von Fastly fest, dass zahlreiche Anfragen direkt auf das Google Cloud Storage Bucket für den Download der Binärdateien verwiesen und nicht auf die neue, abstrahierte URL (cdn.dl.k8s.io), auf die sie eigentlich verweisen sollten. Wie sich zeigte, wurde der ursprüngliche Hostname in einer frühen Phase des Projekts veröffentlicht und bleiben trotz der Bemühungen, diesen im Projekt selbst und in der breiteren Community zu bereinigen, immer noch etliche hartkodierte Instanzen des Hostnamens für das GCS Bucket bestehen. Allerdings kam dieses Problem erstmals durch den Wechsel zu Fastly und die unkomplizierte, direkte Transparenz, die wir Kubernetes bieten, ans Tageslicht.
Vor diesem Hintergrund versucht das Kubernetes Team nun, Menschen auf der ganzen Welt dazu zu bewegen, beim Download ihrer Binärdateien auf die neue Domain zu verweisen. Der Erfolg dieser Bemühungen lässt sich in Echtzeit am Anstieg des Traffics über das Fastly CDN beobachten. Da die Binärdateien jetzt über Fastly ausgeliefert werden, kann das Kubernetes Team Änderungen selbst vornehmen und in Zukunft sogar auf ein neues, communityeigenes GCS Bucket migrieren – und zwar ganz ohne Serviceunterbrechungen oder die Notwendigkeit weiterer Änderungen durch jeden, der versucht, K8-Dateien herunterzuladen. Schon jetzt werden Downloads schneller ausgeliefert und das Projekt spart sich jede Menge Egress-Kosten. Werfen Sie auf unserer Developer-Seite einen Blick auf das integrierte Kubernetes Dashboard, um sich selbst ein Bild von den Echtzeit-Metriken zu machen.
Warum Fastly in Sachen Echtzeittransparenz die Nase vorn hat
Diese Echtzeittransparenz über unsere Nutzeroberfläche mag auf den ersten Blick nicht besonders spektakulär erscheinen, bei den meisten CDNs müssen Kunden allerdings mit gebündelten Log-Daten arbeiten, die nur mit erheblicher Verzögerung verfügbar sind. Sie werden weder in Dashboards angezeigt noch lassen sie sich zu anderen Tools exportieren oder streamen. (Bei Fastly hingegen ist beides mit wenigen Handgriffen möglich.)
Unsere Plattform ist vollständig softwaredefiniert. So können wir eine Vielzahl von Logging-Funktionen anbieten, die bei herkömmlichen Architekturen, die vorwiegend auf Hardware-Switches, weniger anpassungsfähigen Komponenten und generell nicht sehr modernen Technologien basieren, nicht möglich sind. Bei Fastly werden Echtzeitdaten und Observability groß geschrieben. Sie erhalten Zugriff, sobald Sie den Schalter zu unserem Netzwerk umlegen. Außerdem erleichtern wir Ihnen die Integration mit anderen gängigen Entwicklertools wie Splunk, Datadog und vielen mehr. Und wenn Sie Observability-Dashboards von Drittanbietern bevorzugen, bieten wir eine Vielzahl von Logging Endpoints und streamen die Daten in Echtzeit. Schließlich geht es um Ihre Daten, und Sie sollten sie nutzen können, wie Sie wollen.
Netzwerktechnologie und -optimierung, DNS, Inhaltsauslieferung und globale Caching-Infrastruktur sind allesamt sehr kompliziert zu verwalten. Bei Kubernetes gibt es eine tolle Special Interest Group für Infrastruktur, aber die meisten Entwicklerteams und Open-Source-Projekte haben kein internes Expertenteam, das sich mit solchen Dingen beschäftigt. Fastly bietet im Gegensatz zu anderen CDNs ein einzigartiges Maß an Daten, Schutz und Konfigurierbarkeit, das unseren Kunden hilft, ihre Konfigurationen genau auf ihre Bedürfnisse abzustimmen und hohe Kosten für Professional Services zu vermeiden. Bei Fastly können Sie sehen, was gerade los ist, die gewünschten Änderungen vornehmen und sie produktiv setzen. Wenn Sie Fragen haben, steht Ihnen unser erstklassiger Kundensupport natürlich zur Seite, aber wir machen es Ihnen leicht, vieles erfolgreich selbst in die Hand zu nehmen.
Kubernetes auf Fastly: Nächste Schritte
Projekte und Teams werden laufend über die Umstellung auf den neuen CDN-Endpoint (cdn.dl.k8s.io) informiert, und das wird auch in Zukunft so bleiben, da viele Leute Kubernetes nutzen. Parallel dazu freut sich Kubernetes darauf, sein Backend dank seines neuen CDN-Endpoints (cdn.dl.k8s.io) ohne Unterbrechung des Nutzerzugriffs auf ein anderes, communityeigenes GCS Bucket zu migrieren. Im Gegensatz zu vielen anderen Inhalten im Web ändern sich Kubernetes Binärdateien nicht häufig. Aus diesem Grund soll ihre Time to Live (TTL) im Fastly Cache maximiert werden, um die Origin-Server so weit wie möglich zu entlasten.
Außerdem plant Kubernetes, die neu gewonnene Transparenz über Nutzer und Traffic-Muster für eine innovative Implementierung von Fastlys Origin Shield zu nutzen. Sobald Nutzer Kubernetes in ihre Infrastruktur integriert haben, tendieren sie dazu, einer bestimmten Version treu zu bleiben. Die meisten Downloads von Binärdateien werden tatsächlich von Automatisierungstools, insbesondere von Skripten im Rahmen von GitHub Actions, durchgeführt. GitHub Actions werden ausschließlich in bestimmten und genau definierten Microsoft Azure Regionen betrieben, was dazu führt, dass bestimmte Versionen überdurchschnittlich oft von bestimmten geografischen Standorten aus angefordert werden. Mit Fastly kann Kubernetes seine Strategie zur Abschirmung seiner Origin-Server allmählich optimieren, um seine Nutzung der Fastly POPs darauf abzustimmen, wo GitHub Actions ausgeführt und welche Kubernetes Versionen angefordert werden.