Eine simple Einführung in Edge Computing
Sie fragen sich, was es mit Edge Computing auf sich hat? Der Einstieg in Edge Computing ist einfacher, als Sie vielleicht vermuten. In dieser Reihe stellen wir Ihnen die Konzepte und Praktiken vor, mit denen Sie die Edge (über Glitch und Fastly) zur Verbesserung Ihrer Websites nutzen können.
Doch zunächst wollen wir einen Blick hinter die Kulissen werfen …
Webhosting
Wenn ich eine Website besuche, lädt mein Browser den Inhalt der Website auf mein Gerät herunter, darunter Text, Bilder, andere Medieninhalte und Code, der festlegt, wie der Browser die Seiten, mit denen ich auf meinem Gerät interagiere, darstellen soll.
Der Inhalt der Website stammt oft von Servern, die weit von meinem Standort entfernt sind. Ich befinde mich zum Beispiel im Vereinigten Königreich, doch viele der von mir besuchten Websites sind in den USA gehostet. Die Inhalte müssen einen langen Weg zurücklegen, was zu Latenzen führen und mein Onlineerlebnis verlangsamen kann. 🐢
Caching
Nehmen wir an, es gibt eine Website, die ich jeden Tag aufrufe. Jedes Mal alles neu herunterladen zu müssen wäre ziemlich aufwendig, vor allem wenn die Website Bilddateien wie Logos enthält, die sich nicht oft ändern. Glücklicherweise kann mein Browser diese Informationen zwischenspeichern, d. h. Kopien davon lokal auf meinem Gerät ablegen.
Der Websitebetreiber kann Cachingregeln festlegen, die dem Browser vorgeben, wie lange er diese Informationen speichern soll, ehe er sie erneut vom Server abruft.
🤔 Die Zwischenspeicherung im Browser erspart eine Menge Traffic und macht das Web schneller für uns, aber was, wenn mein Nachbar dieselbe Website auch oft besucht? Laden wir beide dieselben Inhalte quer über den Planeten herunter?!
CDNs
CDNs (Content Delivery Networks) speichern Kopien von Inhalten auf ihren Servern und fügen dem Web auf diese Weise eine Zwischenspeicherebene hinzu. Die CDN-Server befinden sich an Standorten rund um den ganzen Globus. 🌍
Wenn die Website, die ich und mein Nachbar jeden Tag besuchen, ein CDN nutzt, können wir beide die Inhalte von einem Server abrufen, der sich in größerer Nähe zu uns befindet als der Server, der die Website hostet. Das bedeutet, dass ich die Website abrufen und zumindest einen Teil der Antwort von einem CDN-Server im Vereinigten Königreich erhalten kann, anstatt meine Anfrage den ganzen Weg in die USA senden zu müssen.
Wenn ich eine Anfrage an eine Website stelle, die ein CDN nutzt, geschieht also Folgendes:
Wenn der von mir angefragte Inhalt im CDN-Cache gespeichert ist, erhalte ich eine Antwort direkt von diesem Cache. Meine Anfrage muss gar nicht erst bis zum Origin-Server, auf dem die Website gehostet wird, gesendet werden.
Wenn der von mir angefragte Inhalt nicht im CDN-Cache gespeichert ist, stellt das CDN die Anfrage an den Origin und liefert mir den Inhalt aus.
Sofern dieser Inhalt cachefähig ist, speichert das CDN ihn, damit Nutzer, die die Website nach mir besuchen, die Antwort direkt vom CDN abrufen können.
Wenn der Websitebetreiber den Inhalt aktualisiert, z. B. das Design der Website ändert, und er nicht möchte, dass Nutzern die im Cache gespeicherte Version angezeigt wird, kann er den Cache bereinigen, so dass neu eingehende Anfragen gezwungen sind, den aktualisierten Inhalt vom Origin-Server abzurufen. Ist der neue Inhalt einmal im CDN-Cache gespeichert, wird er den nachfolgenden Websitebesuchern von einem CDN-Server in ihrer Nähe zur Verfügung gestellt, was wiederum zu einem schnelleren Nutzererlebnis führt.
Die Edge
Netzwerke von sich in der Nähe der Endnutzer befindlichen Servern – sogenannte Edge-Netzwerke – sorgen dafür, dass die Website-Performance beim Caching verbessert wird. Allerdings können diese Server mehr als nur Informationen übermitteln – sie können auch Code ausführen. Das bedeutet, dass wir in unsere Websites Verarbeitungsprozesse einbauen können, die dann in der Nähe der Endnutzer ablaufen. Das ist Edge Computing.
Mit Edge Computing können wir Anwendungen entwickeln, die den Nutzer in den Mittelpunkt stellen, indem wir Code ausführen, der sich an relevanten Nutzerinformationen orientiert und so die Nutzerfreundlichkeit verbessert. Viele IoT-Anwendungen machen sich die Edge zunutze, um Verarbeitungsprozesse näher an den Nutzergeräten auszuführen.
Edge-Anwendungen sitzen zwischen dem Nutzer und dem Origin und können vieles leisten:
🚧 Die Anfrage des Nutzers und/oder die Antwort des Origin-Servers so modifizieren, dass Geolokalisierungsdaten eingeschlossen oder die Darstellung personalisiert werden.
🧪 Nutzern verschiedene Versionen der Website zum Zwecke von A/B-Tests ausliefern.
🏭 Mit vollständig auf der Edge generiertem Inhalt auf die Anfrage eines Nutzers antworten.
⛑️ Ein zuverlässiges Nutzererlebnis selbst dann gewährleisten, wenn Probleme am Origin, also dem Website-Host, auftauchen.
🔐 Gewisse Website-Funktionalität wie Authentifizierung auf der Edge ausführen.
💌 Sofortige Echtzeitkommunikation mit Nutzern auf der ganzen Welt ermöglichen.
Das Internet der Zukunft bauen
Die meisten großen Websites von heute arbeiten mit Cloudhosting, bei dem die Website auf von einem Anbieter verwalteten Servern läuft. Der Anbieter weist Ressourcen nach Bedarf zu. Derartige Webanwendungen sind häufig serverlos, wobei der Cloudanbieter auch die Bereitstellung der Serverinfrastruktur, sprich der Plattform, auf der die Website läuft, übernimmt. Diese serverlosen Cloudtechnologien machen Serverressourcen über Softwareschnittstellen zugänglich, schließlich müssen wir die Vorgänge auf dem Server anhand von Code steuern können.
Die programmierbare Edge überträgt dieses Muster auf die Edge-Netzwerke: Entwickler können alles, was zwischen dem Nutzer und dem Hostserver passiert, per Code steuern. Dies ebnet den Weg für ungeahnte neue Möglichkeiten und erstklassige Nutzererlebnisse.
🎏🚀 Technologien wie Edge Computing wurden bisher vor allem von großen Unternehmen in Anspruch genommen. Wir arbeiten daran, diese Möglichkeiten für alle leichter zugänglich zu machen, damit Sie mit Fastly und Glitch das Web der Zukunft gestalten können. Halten Sie nach Schritt-für-Schritt-Anleitungen Ausschau, die Ihnen dabei helfen!
Eine interaktive Version dieser Einführung finden Sie unter ~fastly-compute-intro im Glitch Editor.