Die meisten von uns haben schon einmal davon geträumt, fliegen zu können. Und wie sich herausstellt, gilt dies auch für die Evolution. Es wurde wiederholt nachgewiesen, dass die Fähigkeit zu fliegen für eine Vielzahl von Tieren von großem Nutzen ist – sei es, um Raubtieren auszuweichen, effizienter nach Nahrung zu suchen oder weite Entfernungen zu überwinden. Tatsächlich so sehr und so häufig, dass die Evolution immer wieder zu einem Weg kommt, das Ziel des Fliegens zu erreichen. Heute kennen wir drei unterschiedliche Tiergruppen, die unabhängig voneinander die Fähigkeit zum Fliegen entwickelt haben: Insekten, Vögel und Säugetiere (Fledermäuse). Jede dieser drei Gruppen ist einem anderen Entwicklungsweg gefolgt, der zum Fliegen geführt hat. Die aktuelle Form des Fliegens ist ein Spiegelbild der ursprünglichen Formen, die sie vor dem Fliegen besaßen. Denken Sie an Insekten: Die Vorfahren der Insekten hatten äußere Exoskelette, die die Eigenschaft hatten, eine geringe Dichte aufzuweisen und laminiert zu sein, was zu unterschiedlichen Zugfestigkeiten entlang verschiedener Dimensionen führte. Die Evolution der Insekten hin zum Fliegen erfolgte daher mithilfe verformbarer Flügel – ein Ansatz, der sich die Tatsache zunutze machte, dass Bausteine mit geringer Dichte und variabler Zugfestigkeit zur Verfügung standen. Bei Vögeln hingegen war die Entwicklung der Federn die entscheidende „Technologie“ auf dem Weg zum Fliegen. In diesem Fall waren die Federn ein glücklicher Zufall, der durch die Bedürfnisse einer Gruppe warmblütiger Dinosaurier bedingt war, die ein fellartiges Material zur Wärmespeicherung brauchten. Erst später stellte sich heraus, dass die Federn eine glückliche Fügung für die Fähigkeit zum Fliegen waren. Fledermäuse schließlich sind die jüngste Gruppe, die die Flugfähigkeit entwickelt hat. Sie verwenden einen Ansatz, der auf der inkrementellen Evolution aus gleitenden Säugetieren beruht, profitieren aber noch nicht von den Vorteilen äonenalter evolutionärer Anpassung.
Eine interessante und bemerkenswerte Ergänzung zu dieser Geschichte ist die Beobachtung, dass der Mensch, als er schließlich mithilfe von Maschinen das Fliegen in der Praxis ermöglichte, eine Reihe völlig anderer Ansätze anwandte – entweder leichtere als Lufttransportmittel oder schnell bewegliche Tragflächenprofile, die von Benzinmotoren angetrieben wurden.
Aus evolutionärer Sicht sind die Wege, die die Anwendungsbereitstellung in den letzten 20 Jahren eingeschlagen hat, auch eine Geschichte konvergenter Evolution. Genauer gesagt wurden in diesen Jahren zahlreiche Bereitstellungstechnologien entwickelt, die - im Nachhinein betrachtet - allesamt die ersten, ersten Evolutionsschritte in Richtung dessen waren, was heute zum Anwendungsvorsprung wird.
Der Vorläufer vieler dieser ursprünglichen Technologien waren die Content Delivery Networks (CDNs). Der Grund für diese Technologie - ihre „evolutionäre Nische“ sozusagen - war die Notwendigkeit, einer beträchtlichen Zahl von Verbraucherkunden große Mengen relativ statischer Daten, typischerweise große Bilder sowie Audio- und Video-Streams, zu übermitteln. Die Lösung bestand darin, zwischengespeicherte Kopien der großen Datendateien an mehreren geografisch verteilten Standorten näher an den Client-Geräten zu platzieren. Durch diesen Ansatz konnte die Arbeitslast bei der Bereitstellung sowohl hinsichtlich der Rechenleistung als auch der Bandbreite von einem einzigen zentralen Rechenzentrum weg verteilt werden, während gleichzeitig eine geringere und besser vorhersehbare Latenz erreicht wurde.
Heutzutage haben sich Anwendungen weiterentwickelt und sind fest in unseren Alltag integriert. Um das Anwendungserlebnis der Kunden zu verbessern, ist es weiterhin erforderlich, die Latenz zu reduzieren und zusätzliche Bandbreite bereitzustellen. Die Grundregeln haben sich jedoch geändert und weiterentwickelt. So wie Klima und Geographie in der Natur eine kontinuierliche Anpassung vorantreiben, führen auch die Veränderungen der Anforderungen an die Anwendungsbereitstellung zu Veränderungen der erforderlichen Lösungen. Die Anforderungen modernerer Anwendungsbereitstellung gehen weit über das grundlegende CDN-Szenario hinaus. Die anspruchsvolleren Anwendungsfälle von heute müssen mehr können, als nur einfache statische Inhalte bereitzustellen; sie stellen auch Anforderungen an die Datenverarbeitung und Interaktivität. Beispiele für Anwendungen mit höheren Anforderungen sind Videokonferenzen und elektronischer Handel. Im weiteren Sinne erfordert der allgemeine Trend zum Single Page Application (SPA)-Paradigma, bei dem eine Anwendung aus der Zusammenführung einer Reihe unterschiedlicher Webdienste besteht, einen robusteren Satz verteilter Ressourcen als bloßen statischen Speicher, um ein umfassendes Benutzererlebnis aufrechtzuerhalten. Im Zuge der „Entwicklung“ der Umgebung hin zu diesen neuen Anwendungsfällen beobachten wir eine entsprechende Konvergenz mehrerer etablierter Marktlösungen, die sich anpassen, um besser in diese neue und lukrative „evolutionäre Nische“ zu passen – das technologische Gegenstück zum Konzept der „konvergenten Evolution“.
Die erste dieser bereits vorhandenen Lösungen sind die bereits erwähnten CDNs. Ihre evolutionäre „Stärke“ liegt in ihrer umfangreichen, vorhandenen Infrastruktur mit einer großen Anzahl vorhandener CDN-Knoten. Ihr „evolutionärer“ Weg besteht darin, die vorhandenen Knoten von einer reinen Konzentration auf cacheähnlichen Speicher hin zu einer ausgewogeneren Mischung mehrerer Speichertechnologien (Dateien, Datenbanken, Objektspeicher) zu erweitern, die mit Rechenressourcen gekoppelt sind, die auf diesem Speicher arbeiten können.
Die zweite etablierte Marktlösung sind die öffentlichen Cloud-Anbieter. Ihre „Stärke“ liegt im robusten Ökosystem aus Rechen-, Speicher- und Bandbreitenressourcen sowie den entsprechenden flexiblen Verbrauchsmodellen für diese Ressourcen. AWS bietet beispielsweise Datenbanktechnologien in mehreren Formen an, stellt Rechenleistung entweder über ein serverbasiertes oder ein serverloses Modell zur Verfügung, verfügt über eine Vielzahl von Technologien für die Handhabung von Identitäten und die Authentifizierung und stellt eine Reihe unterschiedlicher Zusatzdienste bereit, z. B. Protokollierung/Berichterstellung, Visualisierung, Datenmodellierung und so weiter. Ihre „evolutionäre Lücke“ besteht jedoch darin, dass sie nicht über so viele Präsenzpunkte wie die etablierten CDN-Anbieter verfügen und daher nicht über die gleiche Verbreitungsbreite verfügen.
Am anderen Ende der Präsenzpunktskala stehen die Mobilfunkanbieter (Mobile Service Provider, MSPs), insbesondere bei der Einführung ihrer 5G-Infrastrukturen. Die großen MSPs planen Zehntausende mobile Zugangspunkte, von denen jeder einen Einstiegspunkt in das Kernnetz darstellt. Zusätzlich zur „Stärke“ der Verteilung und Skalierung verfügen sie an diesen Zugriffspunkten über Rechenkapazität und eine gewisse begrenzte Speicherkapazität. Bis vor Kurzem war der Umfang der Rechen- und Speicherkapazität jedoch begrenzt, um sich auf die Infrastrukturanforderungen der MSPs selbst konzentrieren zu können. Die „Lücke“, die sie schließen müssen, besteht daher in der Migration zu einem Computing-Paradigma, das die Computing-Infrastruktur für externe Anwendungen zugänglich macht und diese durch zusätzliche Speicherkapazitäten erweitert.
Die Reise wurde lediglich als ein natürlicher, schrittweiser Evolutionsprozess skizziert. Manchmal kommt es jedoch zu evolutionären „Game Changern “ [1] – Ereignissen, die die Evolution unterbrechen und eine Neubewertung des linearen Verlaufs erfordern. Für den Menschen war die Entwicklung des Fliegens eine große Hilfe. Die Entwicklung von Systemen, die schnell große Energiemengen liefern können (z. B. benzinbetriebene Motoren), gepaart mit Materialien und Technologien zur Herstellung von starken, leichten Legierungen, ermöglichte es uns Menschen, uns neu vorzustellen, wie die Herausforderung des Fliegens angegangen werden könnte. Wir konnten damit die Spielregeln in Bezug auf die Entwicklung des Fliegens in der Natur ändern.
Wenn man diese Geschichte auf das Edge-Konzept bezieht, hat sich die Anwendungsbereitstellungserzählung bisher auf die Auslagerung von Arbeit auf der „Serverseite“ konzentriert, d. h. des Teils der Bereitstellungskette, der mit dem Server beginnt, der eine Anforderung empfängt. Insbesondere aufgrund der „evolutionären Prädisposition“ der bereits vorhandenen Lösungen (bei denen der Wert in der Entlastung des Anwendungsservers lag) lag der Schwerpunkt implizit auf der Auslagerung und Verteilung der Berechnung und Inhaltsbereitstellung als Reaktion auf die Anfrage eines „Client“-Kunden.
Bedenken wir jedoch, was passiert, wenn wir diese geografisch verteilten Präsenzpunkte nicht nur als Rechenknoten und Caches zur Entlastung des Servers – „Anwendungs-Proxys“ – betrachten, sondern zusätzlich als Kontrollpunkte, die den eingehenden Clientanforderungen die gleiche Aufmerksamkeit schenken und diese Anforderungen auf die für die Anwendungsanforderungen geeignete Infrastruktur und Rechen-/Cache-Knoten abbilden. Beispielsweise kann eine latenztolerante, aber bandbreitenintensive Anwendung wie die Cloud-Dateisicherung anders geroutet werden als eine latenzempfindliche Anwendung mit geringer Bandbreite wie Online-Gaming. Bankanwendungen, die eine zentrale Datenclearingstelle benötigen, können an ein zentrales Rechenzentrum weitergeleitet werden. Dieses Konzept, das ich als „Anwendungs-Orchestrator“ betrachte, ergibt sich von selbst, wenn man sich den Edge nicht als etwas vorstellt, das den Server lediglich entlastet, sondern als ein Element, dessen Rolle darin besteht, als Auffahrt zur allgemeinen Server-/Zugriffsknotenumgebung zu dienen.
So wie der Mensch es nicht durch einen mechanisierten, vogelähnlichen Ansatz (da Vincis berühmter „Ornithopter“) geschafft hat, sondern indem er darüber nachdachte, wie er die am besten geeigneten verfügbaren Technologien – Tragflächen in Verbindung mit Benzinmotoren – besser nutzen kann, so sollten wir auch darüber nachdenken, wie die Anwendungsinfrastruktur mit dem Aufkommen eines allgegenwärtigen, verteilten und servicereichen Edge neu konzipiert werden kann. Wenn die Leistungsfähigkeit dieser neuen Fähigkeit immer deutlicher und besser nutzbar wird, werden Anwendungseigentümer und -betreiber den nächsten Schritt in der Anwendungsentwicklung unternehmen. Das daraus resultierende „bahnbrechende“ Ereignis – die disruptive Entwicklung des Edge von einem bloßen Proxy für den Anwendungsserver oder einem Anwendungscache auf Steroiden zu einem vollwertigen Anwendungsorchestrator – wird dem Anwendungsökosystem eine Explosion neuer Möglichkeiten eröffnen, die Thema zukünftiger Artikel sein werden.
Ich möchte einen Ausblick auf diesen Weg geben und eine Vision davon vermitteln, wie die Nutzung der Rolle des Edge als Anwendungsorchestrator eine stärker deklarative und absichtsgesteuerte Spezifikation des beabsichtigten Verhaltens jeder Anwendung ermöglicht und so sowohl die Infrastruktur der Anwendung als auch das Kundenerlebnis optimiert. Beispielsweise kann eine Anwendung, die möglicherweise Augmented-Reality-Technologie verwendet, eine Richtlinie festlegen, die Latenz und Bandbreite priorisiert, während eine Finanz-Anwendung Zuverlässigkeit oder Zentralisierung priorisiert und eine andere IoT-Anwendung für Verbraucher sich auf das OpEx-Management konzentriert. Im weiteren Sinne: Wenn man eine Denkweise übernimmt, die die Rolle des Edge erweitert und ihn als Anwendungsorchestrator nutzt, wird der Edge auch zum logischen Ort für die Implementierung von Sicherheitsrichtlinien und Transparenz. Damit erfüllt sich ein weiterer Traum vieler Anwendungsbesitzer: das Ziel infrastrukturagnostischer Anwendungskontrollen.
[1] Die Entwicklung des sauerstoffbasierten Stoffwechsels ist ein gutes Beispiel, aber diese Geschichte muss ich mir für ein anderes Mal aufheben.