Die Notwendigkeit, Rechenleistung und Latenz miteinander in Einklang zu bringen, hat Edge Computing zu einem hochaktuellen Thema gemacht, das teilweise durch die Entstehung der 5G Edge angeheizt wird, die eine extrem niedrige Latenz verspricht. Die Latenz des 5G Edge von <10 ms ist die Grundlage für die Aktivierung von Virtual Reality, dem Internet der Dinge (IoT) und autonomen Fahrzeugen. Ohne Edge Computing wären diese Funktionen stark eingeschränkt.
5G Edge macht zwar rasante Fortschritte, doch Content Delivery Networks (CDN) ermöglichen bereits seit vielen Jahren Edge-Computing-Anwendungsfälle und bieten praktisch jedem angeschlossenen Gerät und Internetnutzer weltweit eine enorme Netzwerkkapazität und Latenzzeit von nur Millisekunden. CDNs sind gut etabliert und haben sich bei der Bereitstellung großer Datenströme in großem Umfang als äußerst effektiv erwiesen. Die Verizon Media, jetzt Edgio, Plattform, bietet beispielsweise eine Ausgangskapazität von mehr als 250 Tbit/s und ist mit mehr als 7.000 Last-Mile-Netzwerken ausgestattet, was globale Skalierbarkeit, Leistung und Sicherheit bietet.
Dadurch ist der CDN Edge eine äußerst kostengünstige Möglichkeit, Anwendungen und Workloads aus der Cloud und näher an die Endnutzer zu verschieben. Lange hin- und Rückflüge zu den Kernservern können zu schleppenden Benutzererlebnissen führen und letztendlich die Art der entwickelten Anwendungen einschränken. Durch die Übertragung der Anwendungsverarbeitung auf den CDN-Edge eröffnen sich neue Möglichkeiten, Funktionen hinzuzufügen und eine bessere Benutzererfahrung zu schaffen.
Der Aufstieg von Edge-Anwendungen
Aber wie kann man am besten Anwendungen am Edge entwickeln? Trotz des unerbittlichen Summens befindet sich Edge-Computing immer noch in der Anfangsphase der Entwicklung. Daher wird die Zukunft des „Mainstream“-Edge-Computing wahrscheinlich wesentlich anders aussehen als heute. Eine wesentliche Veränderung, die wir erwarten, ist die Entstehung von „Edge-Anwendungen“. Dabei handelt es sich um hochoptimierte, vollständig getestete, vordefinierte Funktionen, die in das CDN integriert sind und schnell und einfach aktiviert werden können. Diese arbeiten mit unserer Funktion Functions@Edge zusammen, die es Entwicklern ermöglicht, ihren Code im CDN Edge zu schreiben und auszuführen, wodurch Kunden ein breites Spektrum möglicher Rechenfunktionen erhalten.
Edgio Applications wurde entwickelt, um gängige Anwendungsfälle zu lösen, wie z. B.:
- Dynamische Umleitungen
- Bildoptimierung
- Edge Side enthält (ESI)
- Priorisierung Von Besuchern
Edgio Applications verringert die Hürde für Edge Computing, indem Kunden Zugriff auf Edge Computing-Tools erhalten, ohne Code entwickeln und unterstützen zu müssen.
Auch wenn bestimmte Edge-Computing-Anwendungen in Bezug auf die Gesamtfunktionalität oder die Zielbranche erheblich voneinander abweichen können, sind viele zugrunde liegende Anforderungen von App zu App nahezu identisch. Diese Ähnlichkeiten erstrecken sich über standardisierte Protokolle und Workflows. Edgio Applications nutzt diese Tatsache, um die Bereitstellung zu vereinfachen und die Einführung von Edge-Computing-Funktionen zu beschleunigen.
Wie links in der Abbildung unten gezeigt, können CDN-Kunden über eine einfache Konfiguration mit unseren Anwendungen interagieren. Sie verwenden unsere Rules Engine-API, um eine bestimmte Anwendung zu aktivieren oder zu deaktivieren. Die rechte Seite der Abbildung unten zeigt, wie Anwendungen über unsere CI/CD-Pipeline erstellt und aktualisiert werden. Nach der ersten Entwicklung werden über eine robuste Rückkopplungsschleife kontinuierlich neue Funktionen und Funktionen hinzugefügt. In diesem Modell können wir sehen, wie alle im gesamten Netzwerk die Anwendung verwenden. Wir können diese Eingabe verwenden, um Fehler zu beheben, wichtige Funktionen hinzuzufügen und Sicherheitsbedenken zu beheben. Kunden geben eine gewisse Kontrolle auf, erhalten aber ein vereinfachtes Bereitstellungsmodell und sind nicht mit dem Aufbau und der Wartung von CI/CD-Pipelines für jede Funktion belastet. Dies ist besonders nützlich für Funktionen, die nicht sehr differenziert sind, aber in verschiedenen Anwendungsfällen benötigt werden.
Abbildung 1. Das ursprüngliche Entwicklungsmodell von Verizon Media Edge Applications.
Dies steht im Gegensatz zum unten dargestellten Functions@Edge-Modell, bei dem jeder Kunde für seine Entwicklung verantwortlich ist. Wenn neue Funktionen entwickelt werden, werden sie über die Functions@Edge-API auf dem CDN-Edge bereitgestellt. Dies bietet zwar mehr Kontrolle, aber die Entwicklungslast wird auf den Benutzer verlagert. Jeder Entwickler/jede Organisation muss Fehlerberichte verfolgen, Funktionsanfragen sammeln und neue Versionen und Patches für die jeweilige Edge-Funktion bereitstellen. Unternehmen, die benutzerdefinierte oder einmalige Funktionen benötigen, die nicht für mehrere Kunden gelten oder hoch spezialisiert sind, sollten Functions@Edge verwenden, um die benötigten Funktionen zu entwickeln. Für gängige Anwendungsfälle im Edge-Computing-Bereich kann Edgio Applications diese jedoch intern bereitstellen und als verwaltete Services anbieten.
Abbildung 2. Functions@Edge-Entwicklungsmodell.
Edgio Applications Beispiel: Bildoptimierung
Der Prozess, mit dem wir bestimmen, welche Edge-Anwendungen entwickelt werden sollen, beginnt mit dem Feedback unserer Kunden. Mehrere Kundenanfragen für dieselbe Funktion sind ein guter Indikator für ihre Beliebtheit und ihren Wert für einen breiten Querschnitt von Unternehmen. Ein häufig vorkommendes Beispiel ist die Bildoptimierung, eine Anwendung, die Bilder im Auftrag von CDN-Kunden für ihre Kunden (Internetbenutzer) skalieren und optimieren kann.
Die Bildoptimierung ist zu einer wichtigen Anwendung geworden, um die Ladezeiten von Webseiten mit Bildern zu verkürzen. Anstatt Imageversionen in der Anwendung oder im Ursprungsspeicher zu speichern, lässt sich eine Edge-Anwendung zur Bildoptimierung in die Anforderungsbearbeitung des CDN integrieren, um Bilder nahtlos zu transformieren, während sie bereitgestellt werden. Dadurch entfallen die Speicherkosten und die Ladezeiten des Clients. Kunden verwenden die Verizon Media Platform Rules Engine, um Übereinstimmungskriterien wie URL-Erweiterung (z. B. JPG), Host oder URL-Pfad für den Zugriff auf eine Edge-Anwendung zur Bildoptimierung anzugeben.
Auf den ersten Blick mag ein Bildoptimierer wie eine einfache Entwicklungsarbeit erscheinen, aber wenn Sie unter der Oberfläche graben, werden Sie eine beträchtliche Komplexität entdecken. Ein Server zur Optimierung von Edge-Bildern muss grundlegende Bildgrößenänderungen und verschiedene andere Optionen ausführen, die bei der dynamischen Bildformatierung hilfreich sind. Unterstützte Funktionen in einer Anwendung zur Optimierung von Kantenbildern sollten idealerweise eine breite Palette von Funktionen umfassen, wie z. B.:
- Grundlegende Größenänderung von Breite und Höhe
- Formatkonvertierungen
- Qualitätsminderung
- Handhabung von DPR (Device Pixel Ratio)
- Automatische Größenanpassung über eine Gerätedatenbank
- Trimmen und Polstern
- Anpassen des Bildes an einen Bereich oder innerhalb der Arbeitsfläche mit optionaler Hintergrundfarbe
- Drehen und Unschärfen von Bildern
- Lineare oder logarithmische Quantifizierung von Bildgrößen zur Reduzierung von Abweichungen im Cache
- Automatisches Metadaten-Stripping
Die Anwendung zur Bildoptimierung sollte Clienthints für responsive Seiten verarbeiten, wenn sie über die Rules Engine aktiviert und für mehrstufiges Caching optimiert wird. Die Anwendung sollte auch die CDN-Cache-Funktionalität nutzen, wie z. B. ein Ursprungsschild, das Inhalte zwischenspeichert, um Anforderungen an den Ursprungsserver zu minimieren. Wie in der Abbildung unten gezeigt, können Transformationsergebnisse in einem Shield-Pop zwischengespeichert und dann in Edge-Pops bereitgestellt und zwischengespeichert werden, um die Latenz und die Anzahl der Aufrufe der Anwendung zu reduzieren.
Abbildung 3. Ein optimierter Anforderungsfluss minimiert Anforderungen an den Ursprungsserver.
Anforderungen zur Bildoptimierung sind so konzipiert, dass CDN-Caching genutzt wird. Eingehende Anforderungen werden mit konsistentem Hashing an den richtigen Cache-Knoten weitergeleitet, um die Cache-Lokalisierung zu optimieren. Der erste CDN-Cache-Knoten, der eine Anforderung empfängt, wendet die Logik in zwei Phasen an. In der ersten Phase berechnet der Cacheknoten den Cacheschlüssel und sucht ihn im Cache. Wenn die Datei nicht im Cache vorhanden ist, würde sie das Basisbild bei der Bildoptimierung abrufen. Das in der Antwort zurückgegebene Basis-Image würde dann während der Verarbeitung optimiert, wenn es zwischengespeichert und an den Client zurückgesendet wird.
Wie hier beschrieben, ist es für Entwickler schwierig, diese Funktionen bei der Entwicklung ihrer Edge-Funktionen vollständig zu optimieren. Dies bietet ein überzeugendes Beispiel dafür, warum wir von Edge-Anwendungen erwarten, dass sie in Zukunft eine so wichtige Rolle beim Edge-Computing spielen.
Schlussfolgerung
Die Einführung von 5G hat das Edge-Computing und die Erkenntnis hervorgebracht, dass das Verschieben von Verarbeitungslasten an die Peripherie die Latenz im Vergleich zur Cloud reduzieren, die Kundenerfahrung verbessern und neue Anwendungskategorien eröffnen kann. Mit einer Latenz von weniger als 10 ms ist der 5G Edge ein muss für virtuelle Realität oder autonome Fahrzeuge. Für die meisten anderen Anwendungen sind CDNs etablierter als 5G und sind für jeden Benutzer und jedes Gerät auf der Welt nur wenige Millisekunden langsamer als die 5G Edge. Da Unternehmen und Softwareentwickler mehr Computing-Workloads an die Peripherie bringen, gewinnt das CDN über seine traditionelle Rolle bei der Bereitstellung von Inhalten hinaus eine zusätzliche Bedeutung. Dies eröffnet neue Anwendungen und Services, die allein in der Cloud aufgrund der Latenz beim Cloud-Computing nicht praktikabel wären.
Eine Möglichkeit, die Hindernisse für die Einführung von Edge-Computing zu verringern, ist Edgio Applications. Dieser Ansatz ermöglicht Unternehmen den Zugriff auf eine bestimmte Anwendung, wie z. B. Bildoptimierung, durch einfache Regelkonfiguration statt einer umfassenden Entwicklung. Edgio Applications profitiert von einer umfassenden Feedbackschleife, da immer mehr Unternehmen weltweit den Service nutzen, der unserer Meinung nach eine wichtige Rolle bei der Einführung von Edge-Computing spielen wird.
Ob es sich um eine schrittweise Verbesserung der Kundenerfahrung oder die Einführung bahnbrechender Anwendungen handelt, eines ist klar: Wenn Sie mehr Rechenfunktionen an die Peripherie bringen, wird sich die Entwicklung und Bereitstellung von Anwendungen grundlegend verändern.