Skalierungsmöglichkeiten von Webanwendungen – So steigern Sie die Kompensationsfähigkeit

Skalierungsmöglichkeiten von Webanwendungen

Skalierungsmöglichkeiten von Webanwendungen – So steigern Sie die Kompensationsfähigkeit

Sobald eine Webanwendung an Beliebtheit zunimmt, steigt auch die Anzahl der Anfragen, die diese beantworten muss. Je nach dem, welche Funktion die Webanwendung hat, sollte diese auch bei Tausenden von Anfragen pro Sekunde immer noch schnell antworten und schon gar nicht ausfallen. Diese erhöhte Kompensationsfähigkeit der Anwendung bzw. des Servers lässt sich durch verschiedenste Skalierungsmethoden erreichen. Die gängigsten Methoden stellen wir Ihnen im Folgenden vor – ohne dabei zu technisch zu werden.

Gepostet: 22. August 2019

Autor: Alexander Herold

Kategorie:  IT & Software

Lesezeit: 3 Minuten

Webanwendungen werden von einem Server bereitgestellt. Ein Server ist ein Computer, auf dem eine Software läuft, die in der Lage ist, mit Ihrem Browser zu kommunizieren. Dadurch können Sie beispielswese gerade diesen Beitrag über Skalierungsmöglichkeiten von Webanwendungen lesen.

#1 Skalierungsmöglichkeiten von Webanwendungen: Mehr Power!

Eine Möglichkeit, eine bessere Skalierbarkeit zu erreichen, ist durch mehr Serverleistung. Unser Server erhält mehr Ressourcen in Form von Prozessorleistung, Arbeitsspeicher und schnelleren Speichermedien. Vergleichbar ist das mit der Landwirtschaft. Diese wurde auch mit mehr Power skaliert. Erst Mensch, dann Pferd, dann die Maschine. Jeder Schritt eine Leistungssteigerung.

Diese Art der Skalierung nennt man auch „vertical scaling“.

Irgendwann kommen wir aber zu dem Punkt, ab dem mehr Leistung nicht mehr möglich ist, weil die verfügbaren Mittel an ihre Grenzen gestoßen sind. In diesem Fall müssen weitere Maßnahmen her.

Skalierungsmöglichkeiten von Webanwendungen_Internet-Server

#2 Skalierungsmöglichkeiten von Webanwendungen: Mehr Server!

Sobald ein Server nicht mehr ausreicht, braucht man eben mehr als einen. Die Hausarbeiten sind auch schneller erledigt, wenn alle mithelfen.

Sobald allerdings viele Server, oder um bei der Analogie zu bleiben, Hände im Spiel sind, müssen diese zwangsläufig koordiniert werden, um ein effizientes Arbeiten zu gewährleisten. In der Welt der Webanwendungen koordiniert ein sogenannter Load-Balancer die Server. Das macht er, indem er den Servern die einkommenden Anfragen zuteilt. Dabei achtet er auf die aktuelle Auslastung des jeweiligen Servers und dessen Geschwindigkeit. Die Antworten der Server werden auch wieder über den „Load-Balancer“ weitergegeben. „Horizontal scaling“ nennt man diese Form der Skalierung.

Mehrere Server bringen einen weiteren Vorteil mit sich. Sollte einer dieser Server einen Ausfall haben, bemerkt der Besucher davon nichts, da die anderen den Ausfall kompensieren.

Wir haben nun mehr Server mit mehr Power. Das hat den unschönen Nebeneffekt, dass sich die Wartungsarbeiten nicht mehr nur auf einen, sondern gleich auf mehrere Server erstrecken. Glücklicherweise sind wir Menschen zwar faul, uns aber nicht zu schade, Arbeit in etwas zu investieren, von dem wir hoffen, dass es uns künftig Arbeit erspart.

#3 Skalierungsmöglichkeiten von Webanwendungen: Kubernetes

Ursprünglich von Google entwickelt und dann an die Cloud Native Computing Foundation gespendet, automatisiert Kubernetes die Bereitstellung und Skalierung von Container-Anwendungen.

Mit Hilfe dieser Software wird uns viel Verwaltungsaufwand abgenommen.

Dafür verwendet Kubernetes unsere bestehenden Server.

Sie fragen sich vermutlich was eine Container-Anwendung ist. Ein kleiner Exkurs:

Software muss in der Regel installiert und konfiguriert werden. Das reicht von ein paar kurzen Eingaben bis hin zum Verstehen und Umsetzen von Dokumentationen, die Angst und Schrecken sowie milde Panik verursachen. Um uns also Nerven und Zeit zu sparen, wurden die Container entwickelt.

Ein Container beinhaltet schon alles, was die Software braucht und benötigt nur geringfügige Konfiguration. In unserem Fall ist in dem Container schon ein konfigurierter Webserver inklusive unserer Webanwendung vorhanden.

Vergleichbar ist das mit Frachthäfen. Vor den ISO-Containern war das Be- und Entladen von Schiffen von Schiff zu Schiff und Ware zu Ware unterschiedlich. Nun muss nur ein großer Container mit einem Kran bewegt werden. Der Inhalt ist irrelevant. Das gleiche Prinzip ist durch Container-Anwendungen auch in der IT eingezogen.

#4 Skalierungsmöglichkeiten von Webanwendungen: Speichern von häufigen Anfragen

Wir haben nun mehrere Server mit mehr Power und sparen uns sogar den Großteil des Verwaltungsaufwands, können aber immer noch Verbesserungen vornehmen, um noch mehr Anfragen abarbeiten zu können. Wurde Ihnen schon mal so häufig die gleiche Frage gestellt, dass Sie die Antwort darauf gespeichert haben und nun immer diese weitergeben?

In der Welt der Webserver nennt man das „caching“, also das Zwischenspeichern von häufigen Anfragen, um den Aufwand zu reduzieren.

Fazit: Wann ist welche Variante am geeignetsten?

Doch wann greife ich nun auf welche Skalierungsmöglichkeit zurück? Dies hängt von vielen Faktoren ab und kann nicht allgemeingültig beantwortet werden. Wir finden: Wenn es für Sie nicht relevant ist, wie ausfallsicher die Anwendung ist, genügt die Vertikale Skalierung #1. Wenn der Dienst die 99,9% Verfügbarkeit erfüllen muss, dann sind die #2 horizontale Skalierung und #3 Kubernetes, die bessere Wahl. #4 kann als zusätzliche Entlastung verwendet werden, wenn viele statische Inhalte bereitgestellt werden.

Am Ende ist alles eine Frage der Kosten und Nutzen.

Welche Erfahrungen habe Sie mit den verschiedenen Skalierungsmöglichkeiten gemacht?

Bildquelle: Alfred

Sie wollen keinen Blogbeitrag mehr verpassen?

Zur Newsletteranmeldung
Whitepaper-Titel - EuGH-Urteil zur Zeiterfassung - Hintergründe, Auswirkungen, Chancen

EuGH-Urteil: Das müssen Sie jetzt wissen – Hintergründe, Auswirkungen & Chancen

Wir haben alle wichtigen Informationen rund um das aktuelle EuGH-Urteil für Sie in einem übersichtlichen Whitepaper gesammelt. Angefangen von den Hintergründen des Urteils, über die Auswirkungen sowie die Vor- und Nachteile einer Zeiterfassungspflicht bis hin zu verschiedenen Arten der Zeiterfassung. Sichern Sie sich jetzt Ihre Zusammenfassung des EuGH-Urteils!

Zum Whitepaper
2019-08-22T14:34:40+02:00

Möchten Sie uns dazu etwas sagen?