Veröffentlicht am 14. Oktober 2021

Eine schrittweise Anleitung zum Aufbau einer skalierbaren Web-Architektur

Moderne Webanwendungen müssen den Datenverkehr effektiv verwalten, ohne die Kosten zu erhöhen. Hier erfahren Sie, wie Sie mit einem DXP eine skalierbare Web-Architektur einrichten können.

a group of people on a tower

Wenn Sie es bauen, werden sie kommen - so lautet das Sprichwort. Für die Unternehmen von heute stellt sich die Frage, wie viele "sie" Sie zu einem bestimmten Zeitpunkt bewältigen können. Eine skalierbare Web-Architektur ermöglicht es, eine beliebige Anzahl von Besuchern (oder Anfragen) zu bewältigen, ohne dass das Risiko besteht, dass die Backend-Ressourcen erschöpft sind.

Bei modernen Webanwendungen kann jeder unerwartete Anstieg des Datenverkehrs die Server und Dienste unter Druck setzen und zu einem kaskadenartigen Ausfall führen, wenn sie nicht richtig konzipiert sind. Wenn Ihre digitalen Dienste nicht in der Lage sind, mit einem Nachfrageschub zu skalieren, werden Sie Gewinneinbußen erleiden und mit frustrierten Kunden konfrontiert werden. In einem solchen Fall suchen Ihre treuen Kunden nach einer anderen Site oder Anwendung, die einen ähnlichen Service bietet, und kehren oft nicht mehr zurück.

Sie wissen, dass sich jeder digitale Berührungspunkt im Erlebnis Ihrer Benutzer auf Ihr Endergebnis auswirkt. Deshalb müssen Sie wissen, wie Sie zu einer skalierbaren Web-Architektur kommen und warum sich Unternehmen heute nicht mehr auf traditionelle, monolithische Systemdesigns verlassen können.

Das Wichtigste in Kürze:

  • Eine skalierbare Web-Architektur ermöglicht die nahtlose Skalierung Ihrer App bei steigendem Datenverkehr

  • Im Vergleich zum monolithischen App-Design kann eine skalierbare Architektur die Kosten senken und gleichzeitig die erforderliche Leistung und Funktionalität in Wachstumszyklen aufrechterhalten.

  • Eine Plattform für digitale Erlebnisse ermöglicht es Ihnen, eine skalierbare Web-Architektur einzusetzen und mit verschiedenen Designs für Front-End- und Back-End-Dienste und -Komponenten zu experimentieren.

Was ist eine skalierbare Web-Architektur?

Eine skalierbare Architektur bezieht sich auf die Fähigkeit einer Webanwendung, Ressourcen entsprechend der aktuellen Nachfrage bereitzustellen oder zurückzuziehen. Unabhängig davon, ob die Nachfrage allmählich oder abrupt ansteigt, kann eine skalierbare Web-Architektur jede Last bewältigen, ohne die Integrität der Anwendung zu gefährden. Durch den Einsatz von Techniken wie Microservices, progressive Web Apps (PWA), Cloud Storage und Caching können Sie eine skalierbare Webanwendung erstellen.

Um dies zu erreichen, verwenden die meisten skalierbaren Webarchitekturen die folgenden Prinzipien:

  • Verfügbarkeit - Beschreibt die Erreichbarkeit von Ressourcen auf Anfrage über jede Anwendungsschicht hinweg und wird in der Regel durch"die Anzahl der 9" gemessen.

  • Zuverlässigkeit - Während die Verfügbarkeit die Zugänglichkeit zu Ressourcen beschreibt, ist die Zuverlässigkeit die Perspektive des Benutzers und hängt von einem Verfügbarkeitsdesign ab, das jegliche Redundanzen eliminiert.

  • Verwaltbarkeit - Beinhaltet das Design der Infrastrukturbereitstellung, um alle funktionalen Anforderungen mit dem einfachsten Design zu erfüllen.

  • Anpassungsfähigkeit - Um skalierbar zu sein, müssen Architekturen in der Lage sein, sich entsprechend den Anforderungen der Benutzer, des Unternehmens oder der Technik zu ändern.

  • Sicherheit - Die Richtlinien, die das Verhalten von Komponenten, Benutzern und Daten unter Verwendung geeigneter Authentifizierungssysteme in der gesamten Anwendung vorschreiben

  • Leistung - Das Maß für die Funktion des Systems, die erwarteten Designanforderungen gemäß den anderen Prinzipien zu erfüllen

diagram

Bildquelle: https: //www.codemotion.com/magazine/dev-hub/cloud-manager/how-to-monitor-cloud-metrics-for-scaling/

Schritte zum Aufbau einer skalierbaren Web-Architektur

Denken Sie daran, dass sich eine skalierbare Web-Architektur auf die Entscheidungen bezieht, die Sie während des Entwurfs einer Anwendung treffen. Das bedeutet, dass der Aufbau einer skalierbaren Web-Architektur ein Prozess ist, den Sie nutzen, um Ihre Geschäftsanforderungen zu erfüllen, indem Sie im Vorfeld Designentscheidungen für die Anwendung treffen.

Wenn Sie bereits über eine Anwendung verfügen, müssen Sie Ihre aktuellen geschäftlichen Anforderungen mit Ihren skalierbaren Funktionen abgleichen. Anschließend können Sie Ihr Anwendungsdesign anhand der folgenden vier Schritte optimieren.

1. Erwartungen der Stakeholder festlegen und Anforderungen sammeln

Der Aufbau einer skalierbaren Web-Architektur ist mit Kosten verbunden, und Sie müssen die Erwartungen im gesamten Unternehmen steuern, bevor Sie beginnen. Apps, die ausreichend skaliert werden, brauchen kein Redesign, und Sie werden den Preis des Projekts nicht rechtfertigen können.

Sammeln Sie Daten aus Ihren aktuellen Analysen und stellen Sie sicher, dass ein Bedarf für die Skalierung der Anwendung besteht, anstatt dies nur zu tun, weil alle anderen es tun.

2. Identifizieren Sie die spezifischen Probleme mit der Skalierbarkeit in Ihrer Webanwendung

Sobald Sie die spezifischen Probleme mit der Skalierbarkeit Ihrer Webanwendung identifiziert haben, müssen Sie Leistungskennzahlen sammeln und die spezifischen Bereiche identifizieren, in denen Sie sich verbessern können. Obwohl die Tendenz besteht, die Metriken nur auf Durchschnittswerten zu basieren, sollten Sie Ihre Leistungsdaten genauer untersuchen, um zu verstehen, wo Ihre aktuellen Probleme liegen.

Einige der Daten, die Sie sammeln sollten, sind:

  • Apdex-Score - Ein offener Standard, der die Anwendungsleistung anhand der erwarteten Dauer einer Benutzeranfrage im Vergleich zur tatsächlichen Dauer verfolgt und sie in schnell (überdurchschnittliche Leistung), tolerierbar (entspricht der Leistung) und langsam (nicht erfolgreich) einteilt.

  • Fehlerraten - Ermitteln Sie, wie viele Fehler durch HTTP-Anfragen, protokollierte Ausnahmen und ausgelöste Ausnahmen in Ihrer Anwendung auftreten und was die Hauptursache dafür ist, einschließlich derer, die den Benutzern verborgen bleiben.

  • Anfrageraten - Verwenden Sie Anfrageraten, um Ihre Leistung zu korrelieren und die Ausfallraten der Anwendung und die CPU-Auslastung zu verschiedenen Zeiten (Spitzen- und Nicht-Spitzenzeiten) zu messen.

  • Skalierbarkeitsmetriken - Verfolgen Sie die gesamte Speichernutzung, CPU-Auslastung, Festplatten- und Netzwerk-E/A über einen typischen Zeitraum, um Ihre übliche Leistung in Bezug auf die anderen oben genannten Metriken zu ermitteln.

Setzen Sie die Tools ein, die Sie zur Messung Ihrer Webanwendung benötigen, und legen Sie die erforderlichen Basiswerte für die Bereiche fest, die Sie verbessern möchten.

3. Setzen Sie eine PaaS-Lösung ein, um die Leistung Ihrer App zu verbessern.

Da die Leistung hauptsächlich von der Bereitstellung Ihrer Infrastruktur abhängt, kann eine Platform-as-a-Service (PaaS)-Lösung Ihnen helfen, die Leistung und Skalierbarkeit Ihrer Anwendung schnell zu verbessern. Einige Plattformen ermöglichen auch zusätzliche Funktionen wie das Experimentieren sowohl beim Erlebnis als auch beim Architekturdesign. Mit einer Plattform für digitale Erlebnisse (DXP) können Sie alles analysieren, vom Benutzererlebnis über die Bereitstellung von Funktionen bis hin zu den messbaren Auswirkungen auf Ihren Technik-Stack.

Bei einer PaaS-Lösung müssen Sie nur den Anwendungscode und die vorhandenen Daten einbringen und gleichzeitig ein SLA für Verfügbarkeit und Zuverlässigkeit einrichten, einschließlich automatischer Skalierung.

4. Stellen Sie Ihre skalierbare Webanwendung mit Vertrauen bereit

Unabhängig davon, für welches Framework Sie sich entscheiden, können Sie eine DXP nutzen, um Ihre skalierbare Web-Architektur sicher zu iterieren. Sie können Ihre Leistung weiterhin in Echtzeit überwachen und Ihre Baselines anpassen, während Sie mit verschiedenen Implementierungen, Infrastrukturkonfigurationen und Customer Journey-Designs experimentieren.

Stellen Sie eine skalierbare Web-Architektur mit Optimizely sicher bereit

Zuverlässigkeit und Verfügbarkeit sind heute genauso wichtig wie das Design Ihres Benutzererlebnisses. Mit einem DXP wie Optimizely können Sie Ihre Entwürfe iterieren, während Sie Änderungen an Ihrer skalierbaren Webanwendung sicher implementieren können.