Dieser Blogbeitrag bildet den Auftakt einer neuen Blogreihe über konkrete Probleme, mit denen Unternehmen konfrontiert sind, und beschreibt, wie das App Delivery Network (ADN) von Volterra die dargestellten Probleme löst. Dieser Beitrag befasst sich ausführlich mit einer zentralen Herausforderung bei der Performance von Webanwendungen, der sich Online-Unternehmen weltweit täglich stellen müssen. Da die meisten Verbraucher von zu Hause aus arbeiten, verschärft sich diese Herausforderung zusätzlich. Ich beschreibe, wie Volterra Unternehmen dabei unterstützen kann, die Distanz zu ihrer Webanwendung zu überwinden und deren Performance um 77 % zu steigern, ohne dass die Anwendung dafür neu geschrieben werden muss.
Was ist Web-App-Performance?
Die Performance einer Web-App wird üblicherweise daran gemessen, wie lange es aus Sicht der Endnutzer dauert, bis die Inhalte der Seite sichtbar sind. Webentwickler verwenden verschiedene Kennzahlen, um die Performance ihrer Web-Apps zu messen, beispielsweise First Contentful Paint, Largest Contentful Paint oder Document Complete. In diesem Blog verwende ich die Kennzahl „Document Complete“, um die Performance meiner Web-App zu bewerten. Webentwickler messen diese Kennzahlen mit Tools wie Web Page Test, Google Lighthouse oder Rigor.
Warum ist die Performance von Web-Apps wichtig?
Eine geringfügige Verschlechterung der Performance einer Web-App hat enorme Auswirkungen auf die Benutzererfahrung und damit auf die Umsätze über das Online-Portal. Der E-Commerce-Riese Amazon berichtete, dass eine Verschlechterung der Anwendungsperformance um eine Sekunde zu Umsatzeinbußen von 1,6 Milliarden US-Dollar führt. Ähnliche wirtschaftliche Auswirkungen beobachten Online-Unternehmen in verschiedenen Branchen, wie Akamai in diesem etwas älteren Bericht darlegt. Auch Google und Microsoft berichten von vergleichbaren wirtschaftlichen Auswirkungen.

Diese Datenpunkte bestätigen eindeutig, dass die Performance von Webanwendungen für Online-Unternehmen höchste Priorität hat.
Worin besteht die Herausforderung?
Betrachten wir ein konkretes Beispiel für ein Online-Unternehmen im E-Commerce-Bereich. Viele E-Commerce-Unternehmen betreiben ihre Webanwendung in einem oder wenigen Rechenzentren, die sich jedoch nicht in allen Ländern befinden, in denen ihre Nutzer leben. Befindet sich ein Nutzer in einem anderen Land oder einer anderen Region als das Rechenzentrum, führt die hohe Netzwerklatenz zwischen dem Nutzer und dem Rechenzentrum zu langen Seitenladezeiten von etwa 6 bis 12 Sekunden. Wie bereits erwähnt, steigt die Absprungrate auf 90 %, wenn die Seitenladezeit mehr als 5 Sekunden beträgt.
Analysieren wir den Ladevorgang einer Web-App-Seite, wie in Abbildung 2 dargestellt.

- Zunächst wird eine sichere SSL-Sitzung aufgebaut, wofür sechs Nachrichten zwischen dem Browser des Benutzers und der Web-App ausgetauscht werden müssen.
- Anschließend verwendet die Web-App in der Regel die Cookies im Browser des Benutzers, um festzustellen, ob dieser ein Konto beim E-Commerce-Anbieter hat.
- Anhand des Cookies wird dem Benutzer, sofern er ein Konto besitzt, eine Anmeldeseite angezeigt. Andernfalls wird ihm eine Seite zum Bezahlen als Gast angezeigt.
Allein die sechs Nachrichten, die zum Aufbau der sicheren SSL-Sitzung über Verbindungen mit hoher Latenz (möglicherweise transatlantische oder transpazifische Verbindungen) übertragen werden müssen, wirken sich zweifellos auf die Ladezeiten der Seite aus und führen somit zu einer schlechten Benutzererfahrung.
Wie kann Volterra ADN die App-Performance verbessern?
Es gibt viele Möglichkeiten, die Performance von Web-Apps durch eine Optimierung der Anwendung zu verbessern, beispielsweise durch das Komprimieren von Bildern oder das Optimieren von Abhängigkeiten, um die Ladezeiten von Seiten zu verkürzen. Häufig sind solche Optimierungen aufgrund der geschäftlichen Anforderungen, die das Anwendungsdesign bestimmen, jedoch nicht möglich. Selbst wenn sie möglich sind, stellen sie unter Umständen keine praktikable Option dar, weil die Entwickler, die die App erstellt haben, nicht mehr im Unternehmen tätig oder mit der Entwicklung neuer Services beschäftigt sind. Daher schätzen DevOps-Teams in E-Commerce-Unternehmen Lösungen, die die App-Performance verbessern, ohne Änderungen an der Anwendung zu erfordern.
Volterra bietet mit VoltMesh und VoltStack zwei Produkte an, die in Kombination mit Volterras ADN die Anwendungsleistung um bis zu 75 % steigern können (siehe die Demonstration im nächsten Abschnitt). Volterras Produkt VoltMesh ist eine global verteilte Netzwerk- und Sicherheitslösung, die bei der Konfiguration auf Volterras ADN auch Funktionen zur Anwendungsbeschleunigung bereitstellt. Volterras Produkt VoltStack ermöglicht die verteilte Bereitstellung und Lebenszyklusverwaltung von Anwendungen. Dadurch können Benutzer Teile ihrer Anwendungen auf Volterras ADN auslagern, um die Anwendungsleistung weiter zu steigern.
VoltMesh und VoltStack verbessern die Performance von Webanwendungen im E-Commerce auf die folgenden drei Arten
Lösung 1: SSL-Terminierung (auch bekannt als TLS-Offloading) auf Volterra ADN
Die einfachste Lösung zur Verbesserung der Performance von Webanwendungen besteht darin, die SSL-Sitzung im globalen ADN von Volterra zu terminieren. Die sechs Nachrichten zum Aufbau der SSL-Sitzung werden lokal an den im jeweiligen Land befindlichen Rand des globalen Netzwerks gesendet und nicht über transatlantische oder transpazifische Verbindungen übertragen. Zwischen dem entfernten Standort des globalen Volterra-Netzwerks und dem Ursprungsserver wird eine dauerhafte SSL-Sitzung aufrechterhalten, wodurch sich die Performance weiter verbessert. Dies ist in Abbildung 3 veranschaulicht.

Lösung 2: Latenzempfindliche Verarbeitung wie die Cookie-Verarbeitung auf Volterra ADN verlagern
Um die Performance weiter zu verbessern, können Unternehmen latenzkritische Teile ihrer Anwendungen im ADN bereitstellen. Beispiele für latenzkritische Komponenten einer Webanwendung sind die Cookie-Verarbeitung, GraphQL oder ein Backend-for-Frontend. Im E-Commerce werden Cookies üblicherweise verarbeitet, um zu bestimmen, welche Seite dem Benutzer angezeigt werden soll: Verfügt der Benutzer beispielsweise über ein Konto, wird die Anmeldeseite angezeigt, andernfalls eine Gastseite. Die Verarbeitung von Cookies in unserem ADN verbessert die Performance im Vergleich zur Verarbeitung in zentralisierten Rechenzentren oder einer Cloud am anderen Ende der Welt erheblich. Dies ist in Abbildung 4 veranschaulicht.

Lösung 3: Das Frontend der Web-App (z. B. den Produktkatalog) direkt an den Edge-Standort, d. h. in das Ladengeschäft, verlagern
Viele Handelsunternehmen wie Macy’s, Home Depot und Target betreiben auch Ladengeschäfte, in denen Kunden den Online-Produktkatalog aufrufen, um den Standort eines Artikels zu ermitteln und auf Angebote bzw. Gutscheine zuzugreifen. Um das Benutzererlebnis zu verbessern, könnten sie lediglich das Front-End ihrer Web-App auf die Recheninfrastruktur im Ladengeschäft verlagern. Alle übrigen Komponenten ihrer Anwendung, beispielsweise Datenbanken, könnten im Backend-Rechenzentrum verbleiben, da auf sie nicht so häufig zugegriffen wird wie auf den Produktkatalog im Front-End. Dies ist in Abbildung 5 veranschaulicht.

Wichtige Architekturprinzipien, die bei jeder Lösung zu berücksichtigen sind
Bei diesem Problem handelt es sich im Kern um ein Problem des verteilten Rechnens über mehrere heterogene Clouds hinweg. DevOps-Teams können entweder selbst eine Lösung aus Einzellösungen verschiedener Anbieter wie Public-Cloud-, CDN- oder Edge-Anbietern zusammenstellen oder eine Komplettlösung von Anbietern verteilter Cloud-Service-Plattformen erwerben. Die Herausforderungen sind in Abbildung 6 dargestellt.

Im Folgenden finden Sie die wichtigsten Architekturprinzipien, die DevOps-Teams bei der Bewertung einer Lösung berücksichtigen sollten.
- Konsistente Anwendungslaufzeitumgebung über mehrere Clouds hinweg: Die Anwendung der DevOps-Teams wird über ihre Backend-Cloud – bei der es sich um ein privates Rechenzentrum oder eine Public Cloud handeln kann – sowie ihre Edge- und physischen Filialstandorte verteilt sein. Dabei kann es sich jeweils um völlig unterschiedliche Anwendungslaufzeitumgebungen handeln. DevOps-Teams sollten unbedingt Lösungen in Betracht ziehen, die Kubernetes nutzen, um über all diese verteilten Clouds hinweg eine konsistente Anwendungslaufzeitumgebung bereitzustellen. Kubernetes vereinheitlicht die Clouds und erleichtert es, Teile der Anwendungen zwischen ihnen zu verschieben.
- Geografisch optimierte Datenverkehrssteuerung: Da das Frontend der Anwendung an verschiedenen Standorten bereitgestellt werden kann – in der Cloud, am Edge oder am Edge-Standort einer Filiale –, sollte jede Lösung sicherstellen, dass der Datenverkehr der Benutzer zum nächstgelegenen Standort geleitet wird, an dem der Frontend-Dienst bereitgestellt ist. Zudem sollte keine der in Betracht gezogenen Lösungen von DevOps-Teams verlangen, die Internet-Routing-Richtlinien zu ändern.
- Globaler Lastenausgleich: Jede in Betracht gezogene Lösung sollte einen globalen Lastenausgleich bieten, da sich die Backend-Dienste an mehreren Standorten weltweit befinden können.
- Einheitliche Anwendungs- und Netzwerksicherheitsrichtlinien über mehrere Clouds hinweg: Auch wenn der Standort der Anwendungskomponenten je nach Region variieren kann, sollte jede in Betracht gezogene Lösung die Möglichkeit bieten, eine einheitliche Anwendungs- und Netzwerksicherheitsrichtlinie unabhängig davon anzuwenden, in welcher Cloud der Front-End-Dienst bereitgestellt wird.
- Zentrale Übersicht über mehrere Clouds sowie über Anwendungs- und Netzwerkkonnektivität hinweg: In einer verteilten Cloud-Umgebung ist es äußerst schwierig, Probleme bei Anwendungen und Verbindungen über mehrere Clouds hinweg zu beheben. Jede in Betracht gezogene Lösung sollte eine zentrale Übersicht über Konnektivität, Sicherheit und Anwendungsbereitstellungen in mehreren Clouds bieten.
Mit den Lösungen von Volterra erzielte Ergebnisse
Testaufbau
Der im Folgenden beschriebene Testaufbau wurde verwendet, um die Leistungsverbesserungen zu demonstrieren, die jede der im vorherigen Abschnitt beschriebenen Volterra-Lösungen bietet:
- Als Web-App wurde Online Boutique verwendet, eine cloudnative Demoanwendung von Google auf Basis von Microservices. Die Web-App besteht aus 11 Microservices, wie in Abbildung 7 dargestellt.

- Die Leistung der Web-App wurde mit webpagetest.org gemessen
- Die zur Bestimmung der Web-App-Performance in webpagetest.org verwendete Metrik war „Document Complete“
- Das Unternehmen ist ein europäisches E-Commerce-Unternehmen mit Rechenzentren in Paris
- Der Benutzer (oder Client) befindet sich immer in San Francisco.
Testszenario und Ergebnisse
Die folgenden vier Szenarien wurden getestet. Die Leistungsverbesserungen werden für jedes Szenario beschrieben.
Baseline-Szenario: Zunächst ermittle ich die Ausgangsleistung der Web-App, wobei sich der Benutzer in San Francisco befindet und die Web-App vollständig im Pariser Rechenzentrum ausgeführt wird, wie in Abbildung 8 dargestellt. Die Leistung der Web-App im Baseline-Szenario wurde mit 3,5 Sekunden gemessen.

Testszenario für Lösung 1: Beim Test von Lösung 1 befindet sich der Benutzer weiterhin in San Francisco und die Web-App wird nach wie vor im Pariser Rechenzentrum ausgeführt. Die SSL-Sitzung wird jedoch auf dem VoltMesh-Reverse-Proxy beendet, der auf Volterra ADN in San Jose ausgeführt wird. Dieses Szenario ist in Abbildung 9 dargestellt.

VoltMesh erstellt automatisch eine persistente SSL-Sitzung zwischen dem Reverse-Proxy, der im PoP in San Jose ausgeführt wird, und der Web-App, die im Rechenzentrum in Paris ausgeführt wird. Die Leistung der Web-App verbesserte sich auf 2,9 Sekunden, was einer Verbesserung von ~18 % entspricht.
Testszenario für Lösung 2: Beim Test von Lösung 2 werden das Frontend und der Währungs-Microservice im ADN in San Jose bereitgestellt. Die übrigen Microservices und Datenbanken werden weiterhin im Rechenzentrum in Paris ausgeführt. Dieses Szenario ist in Abbildung 10 dargestellt.

Der Grund dafür, nur die Frontend- und Währungs-Microservices zu verlagern, besteht darin, dass nur diese Microservices am gelegentlichen Surfen der Benutzer beteiligt sind. Die Leistung der Web-App verbessert sich auf 2 Sekunden, was einer Verbesserung von 31 % gegenüber den Ergebnissen von Lösung 1 entspricht.
Testszenario für Lösung 3: Im Test für Lösung 3 wurden das Frontend und der Währungs-Microservice auf einem handelsüblichen Intel NUC (4 virtuelle Kerne) am Edge-Standort eines Ladengeschäfts bereitgestellt.

Der Grund dafür, nur die Frontend- und Währungs-Microservices zu verlagern, besteht darin, dass nur diese Microservices am gelegentlichen Browsen der Benutzer am Edge-Standort des Ladengeschäfts beteiligt sind. Die Leistung der Web-App verbessert sich auf 0,8 Sekunden, was einer Verbesserung um 60 % gegenüber den Ergebnissen von Lösung 2 entspricht.
Zusammenfassung der Ergebnisse und des wirtschaftlichen Nutzens
Eine Zusammenfassung der Testergebnisse und des daraus resultierenden wirtschaftlichen Nutzens ist in Abbildung 12 dargestellt. Der wirtschaftliche Nutzen lässt sich ermitteln, indem die Verbesserungen in Sekunden mit dem Wert hochgerechnet werden, den jede Sekunde Verbesserung für das Unternehmen hat. Amazon beispielsweise beziffert den wirtschaftlichen Nutzen jeder Verbesserung um eine Sekunde auf 1,6 Mrd. US-Dollar; somit bietet Lösung 3 gegenüber dem Ausgangswert einen wirtschaftlichen Nutzen von 4,3 Mrd. US-Dollar.

Wie diese Ergebnisse zeigen, können DevOps-Teams mit den drei in diesem Blog vorgestellten Optionen erhebliche Leistungsverbesserungen erzielen, ohne die Anwendung neu schreiben zu müssen und ohne Abstriche beim Sicherheitsniveau ihrer Anwendung zu machen. Wenn Sie mehr über konkrete Kundenanwendungsfälle erfahren möchten, die sich mit einer verteilten Cloud-Plattform lösen lassen, oder mir eigene Kundenanwendungsfälle vorstellen möchten, können Sie mich gerne über LinkedIn oder Twitter kontaktieren.
Über den Autor

Ähnliche Blogbeiträge
F5 und Equinix bündeln ihre Kräfte, um die sichere Anwendungsbereitstellung in Multicloud-Umgebungen zu vereinfachen
F5 und Equinix ermöglichen es Unternehmen, sich weltweit sicher und zuverlässig mit ihren Partnern zu vernetzen.

API-Sicherheitsrisiken und -herausforderungen
Erfahren Sie, warum APIs für die moderne App-Entwicklung unverzichtbar sind und wie Sie sie vor den häufigsten Sicherheitslücken schützen. Profitieren Sie von Expertentipps und direkt umsetzbaren Strategien.
Ein Meilenstein für die Community Impact Grants von F5
F5 feiert das fünfjährige Bestehen seines innovativen Community Impact Grant-Programms, das gemeinnützige Organisationen, bei denen sich F5-Mitarbeitende ehrenamtlich engagieren, mit Fördermitteln in Höhe von 5.000 US-Dollar unterstützt.
Mit moderner, anpassungsfähiger und sicherer Gesundheits-IT Leben retten
Die IT-Investitionen im Gesundheitswesen tragen dazu bei, die schnellsten Wege zu einer besseren Versorgung zu finden, indem sie die medizinische Betreuung näher an die Patientinnen und Patienten bringen. Viele Gesundheitsunternehmen nutzen riesige Mengen an klinischen und anderen Gesundheitsdaten, um Entwicklungen zu verfolgen und übergreifende Trends in der gesamten Gesundheitslandschaft zu erkennen. Gleichzeitig nähern sie sich einer möglichst präzisen, individuell zugeschnittenen Versorgung an.
Verbesserung der Benutzer- und Administrationserfahrung durch sicheren hybriden Zugriff
Diese Kombination aus BIG-IP Access Policy Manager und Azure Active Directory ermöglicht Identitätsföderation, zentralisierten Benutzerzugriff (über Single Sign-on) und erhöhte Anwendungssicherheit (durch Multi-Faktor-Authentifizierung) für geschäftskritische Anwendungen sowie cloudbasierte und SaaS-Anwendungen. Dieser Ansatz vereinfacht die Einrichtung und Bereitstellung, reduziert den Verwaltungsaufwand und verbessert die gesamte Administration.
Das Internet der Sicherheitsdinge
Nein, das ist keine Tirade über die Sicherheit des IoT. Es ist eine Geschichte über Veränderung – genauer gesagt über Veränderung und ihre Auswirkungen auf die Sicherheit. Veränderung ist allgegenwärtig. Es gibt unzählige Axiome und Sprichwörter über Veränderung, also ist es ...