Wichtige Eigenschaften die Pumox bei der Erstellung von Webseiten als High Traffic Portal berücksichtigt
Es gibt mehrere Aspekte, die bei der Entwicklung von High Traffic Webseiten zu berücksichtigen sind, um eine hohe Verfügbarkeit ohne Verschlechterung der Leistung zu erreichen. Die Schlüsselfaktoren für High Traffic Webseiten sind wie folgt:
- Skalierbarkeit
- Hochverfügbarkeit
- Leistung
Skalierbarkeit der Hardware für Ihre Webseite
Bei Skalierbarkeit geht es um Nebenläufigkeit und Erweiterbarkeit. Das bezieht sich vor allem auf Server, von denen Anwendungen geliefert werden. Mit höherer Kapazität der Server ist es möglich, mehr Traffic zu bewältigen. Es gibt zwei Arten von Skalierung und die Auswahl ihrer Kombination hängt vom erwarteten Traffic ab.
Vertikale Skalierung und Horizontale Skalierung
Vertikale Skalierung (hochskalieren):
Dieser Ansatz bezieht sich auf die Erweiterung der Leistungsfähigkeit bestehender Hardware-Ressourcen wie z.B. die Erhöhung der Anzahl der Prozessoren, des Arbeitsspeichers, des Speicherplatzes usw., um den zunehmenden Traffic zu bewältigen.
Vorteil:
- Die Einfachheit der Implementierung.
Nachteil:
- Ständiges Upgraden der Server ist teuer.
- Es gibt immer einen Server mit Upgradelimit.
- Falls der Server abstürzt, ist die Anwendung nicht verfügbar.
Horizontale Skalierung (herausskalieren):
In diesem Ansatz werden anstelle der Erweiterung von Hardwareressourcen zum vorhandenen Server, dem Pool zusätzliche Server hinzugefügt, die gemeinsam für die Verarbeitung der Anfragen verantwortlich sind.
Vorteil:
- Es ist ein günstigerer Ansatz, da Einzelserver keine High-End Konfiguration benötigen.
- Arbeitet durchgehend auch wenn ein Server abstürzt.
Nachteil:
- Es benötigt höheren administrativen Aufwand in Bezug auf Konfiguration und Überwachung der Cluster.
Hochverfügbarkeit der Hardware für Ihre Webseite
Hochverfügbare Systeme können trotz Ausfalls einer ihrer Komponenten mit einer hohen Wahrscheinlichkeit (oft 99,99 % oder besser) den Betrieb gewährleisten.
Backup Server
In dieser Konfiguration werden zwei Server für dieselbe Anwendung bereitgestellt. Der primäre Server dient der Anwendung und der sekundäre dient als Backup für den Primären. Wenn der primäre Server aus irgendeinem Grund ausfallen sollte, kümmert sich der Backup-Server um die Benutzeranforderungen. Es gibt zwei mögliche Konfigurationen:
- Active-Standby: Hier ist der Standby-Server passiv, während der primäre Server aktiv ist. Falls der primäre Server abschaltet, werden die aktuellen Benutzersitzungen nicht beibehalten, wenn der Backup-Server übernimmt.
- Active-Active: In diesem Fall werden die Benutzersitzungen gehalten und werden weiterhin vom Backup-Server bedient, wenn der primäre abschaltet.
Clustering
Der Cluster Ansatz (Horizontale Skalierung) gewährleistet eine hohe Verfügbarkeit und ist bei großem Traffic sehr effektiv. Eine Cluster-Umgebung kann so konfiguriert werden, dass die Web-Sitzungen des Benutzers beibehalten werden, falls einer der Server abschaltet. Die meisten der heutigen Anwendungsserver bieten Clustering als eingebaute Funktion. Mit den richtigen Lastverteilungsmechanismen kann man unterschiedliche Server mit unterschiedlicher Kapazität im selben Cluster haben.
So erstellen wir für Sie eine hochverfügbare Webseite!
Leistung der Hardware für Ihre Webseite
Die Leistung entscheidet darüber, wie effizient eine Website auf Browser-Anfragen nach vordefinierten KPIs und Benchmarks reagiert. Sie hängt von vielen komplexen Faktoren ab, einschließlich Anwendungsdesign und -konstruktion, Datenbankkonnektivität, Netzwerkkapazität und Bandbreite, Backoffice-Dienste wie Mail-, Proxy- und Sicherheitsdienste sowie Hardware-Serverressourcen. Nachfolgend werden nur einige Aspekte angedeutet, die bei der Erstellung von High Traffic Webseiten berücksichtigt werden.
Load Balancer
Mit Software Load Balancer können globale Regeln definiert werden, wie der Traffic von einzelnen Servern zu bedienen ist. Die einfachste Regel ist, wenn Anfragen sequentiell an alle Server übergeben werden, wodurch die Zyklen jedes Servers im Cluster genutzt werden. Software Load Balancer erlauben es jedoch, die Regeln auch für einzelne Server auf der Grundlage ihrer internen Ressourcen und Parameter zu konfigurieren. Zum Beispiel würden Server mit geringer Kapazität eine vergleichsweise geringere Anzahl von Anfragen zur Aufrechterhaltung der Performance-Benchmarks bedienen.
Traffic delegieren
Dieser Ansatz wird verwendet, während die Webseite geladen wird und ein Browser mehrere HTTP-Anfragen an den Server sendet, um zugehörige statische Inhalte wie Bilder, CSS- und JavaScript-Dateien, Videodateien herunterzuladen, die auf der Seite gerendert werden müssen. Es ist möglich die impliziten Anfragen für diesen Inhalt über verschiedene Server zu verteilen, damit der Hauptanwendungsserver den dynamischen Inhalt der Hauptseite bedienen kann. Es gibt dabei zwei Ansätze:
Proxy Web Server
Dies ist eine typischerweise verwendete Technik, bei welcher der Webserver als Proxy für den Anwendungsserver fungiert. Alle von der Website verwendeten, statischen Inhalte werden vom Webserver bereitgestellt und geliefert. Nur relevante Anfragen werden an den Applikationsserver weitergeleitet, wodurch die direkte Belastung des Applikationsservers reduziert wird. Diese Webserver können einen Cluster vor dem Anwendungsservercluster bilden.
Verwendung von CDN
Ein CDN ist eine Sammlung von Servern, die geografisch verteilt sind und die Inhalte für lokale Besucher optimieren, um die Bandbreite für den Zugriff auf die Daten über das Netzwerk zu maximieren. Ein Beispiel dafür ist das Google AMP Cache (CDN), welches bei Google AMP optimierten Webseiten genutzt wird, um die Seiteninhalte augenblicklich zu liefern. Das CDN speichert statische Dateien über mehrere Server zwischen und liefert sie von der Stelle, die jedem Besucher am nächsten liegt, um so viel Latenz wie möglich zu eliminieren. CDN bieten in der Regel 100% Verfügbarkeit, auch bei großen Hardwareausfällen.
Speicherdienste von Drittanbietern
Im Allgemeinen werden diese Dienste verwendet, um Inhalte zu speichern, die von Benutzern einer Webseite hochgeladen werden. Sie helfen bei der Reduzierung der anfänglichen Investitionen in die Infrastruktur, weil der Speicherplatz entweder dynamisch oder auf Anfrage erweitert werden kann. Dieser Ansatz ist in der Regel nützlich bei der Verringerung der Hardware-Kosten, kann aber auch zur Leistungsverbesserungen beitragen. Derzeit gibt es nur wenige Dienste, wie Amazon S3, Microsoft Azure oder Google Cloud Platform, die Hosting-Fähigkeiten bieten.