© Excellent backgrounds/Shutterstock.com
Java Magazin
Teil 11: Skalierbarkeit

Wenn der Traffic steigt: Methoden für mehr Elastizität

Erfolg im Web ist ein zweischneidiges Schwert. Gehen Besucherzahlen plötzlich durch die Decke, sinkt die Performance in den Keller. Leider lässt sich aber nicht jedes System flexibel skalieren, um den wechselnden Anforderungen Rechnung zu tragen. In diesem Artikel präsentieren wir, was Skalierbarkeit für Architektur bedeutet und auf welche Punkte man achten sollte.

Nicolas Bär, Daniel Takai


Es gibt viele Gründe für die plötzliche Popularität einer Website. Der bekannteste ist wohl der so genannte Slash­dot-Effekt. Slashdot war mal ein sehr beliebter Newsservice mit hohen Besucherzahlen, der heute aber an Bedeutung verloren hat. Erschien damals ein Artikel mit einem Link auf eine weniger bekannte Seite, so verspürte diese einen rasanten Anstieg im Traffic. Sie wurde „ge­slash­dottet“, und oft endete dies mit einem totalen technischen Versagen, weil die Kapazität nicht ausreichte. Genau hier kommt die Skalierbarkeit (Abb. 1) ins Spiel: Sie bestimmt, zu welchem Grad sich die Kapazität eines Systems anpassen lässt. Im Gegensatz zu einem DOS-Angriff, ist ein Abschuss durch Slashdotting ungewollt.

Abb. 1: Konzepte rund um die Skalierbarkeit

Dank moderner Cloud-Infrastruktur haben wir heute Mittel und Wege, um dem Slashdot-Effekt wirkungsvoll begegnen zu können. Allerdings müssen wir hierfür einiges tun, denn geschenkt bekommt man die Skalierbarkeit leider nicht. Grundsätzlich unterscheidet man zwischen vertikaler und horizontaler Skalierbarkeit. Horizontale Skalierbarkeit (scaling out) bedeutet, dass mehr logische Einheiten verfügbar gemacht werden, z. B. durch das Aufschalten neuer Server. Vertikale Skalierung (scaling up) meint das Hinzufügen von mehr Ressourcen zu einer logischen Einheit, beispielsweise durch die Bereitstellung von zusätzlichem Hauptspeicher oder eine zusätzliche CPU. Hierfür musste man früher neue Mainboards installieren, heute ist es eine Konfigurationseinstellung im Hypervisor. In Cloud-Infrastrukturen heißt horizontale Skalierbarkeit Elastizität [1].

Die Elastizität ist zusammen mit der Resilience eine der beiden Hauptmerkmale einer Cloud-native-Applikation. Damit eine Anwendung also tatsächlich von den Vorzügen einer Cloud-Infrastruktur profitieren kann, muss sie vollständig horizontal skalierbar sein. Es reicht also nicht, eine bestehende Anwendung auf einer VM zu installieren. Das Anwendungsdesign und die Systemarchitektur müssen für Cloud-native ausgelegt sein. Bei bestehenden, proprietären Systemen kommt außerdem das verwendete Lizenzmodell hinzu. Oft lassen sich diese Anwendungen deswegen gar nicht dynamisch skalieren, sodass Work­arounds wie das Bridgehead-Pattern notwendig werden (mehr im Abschnitt „Dynamik dank Bridgehead-Pattern“).

In der Regel lässt sich auch nur eine Cloud-native-Anwendung dynamisch skalieren. Bei einer dynamischen Skalierung kann im laufenden Betrieb horizontal skaliert werden, das heißt, es werd...

Java Magazin
Teil 11: Skalierbarkeit

Wenn der Traffic steigt: Methoden für mehr Elastizität

Erfolg im Web ist ein zweischneidiges Schwert. Gehen Besucherzahlen plötzlich durch die Decke, sinkt die Performance in den Keller. Leider lässt sich aber nicht jedes System flexibel skalieren, um den wechselnden Anforderungen Rechnung zu tragen. In diesem Artikel präsentieren wir, was Skalierbarkeit für Architektur bedeutet und auf welche Punkte man achten sollte.

Nicolas Bär, Daniel Takai


Es gibt viele Gründe für die plötzliche Popularität einer Website. Der bekannteste ist wohl der so genannte Slash­dot-Effekt. Slashdot war mal ein sehr beliebter Newsservice mit hohen Besucherzahlen, der heute aber an Bedeutung verloren hat. Erschien damals ein Artikel mit einem Link auf eine weniger bekannte Seite, so verspürte diese einen rasanten Anstieg im Traffic. Sie wurde „ge­slash­dottet“, und oft endete dies mit einem totalen technischen Versagen, weil die Kapazität nicht ausreichte. Genau hier kommt die Skalierbarkeit (Abb. 1) ins Spiel: Sie bestimmt, zu welchem Grad sich die Kapazität eines Systems anpassen lässt. Im Gegensatz zu einem DOS-Angriff, ist ein Abschuss durch Slashdotting ungewollt.

Abb. 1: Konzepte rund um die Skalierbarkeit

Dank moderner Cloud-Infrastruktur haben wir heute Mittel und Wege, um dem Slashdot-Effekt wirkungsvoll begegnen zu können. Allerdings müssen wir hierfür einiges tun, denn geschenkt bekommt man die Skalierbarkeit leider nicht. Grundsätzlich unterscheidet man zwischen vertikaler und horizontaler Skalierbarkeit. Horizontale Skalierbarkeit (scaling out) bedeutet, dass mehr logische Einheiten verfügbar gemacht werden, z. B. durch das Aufschalten neuer Server. Vertikale Skalierung (scaling up) meint das Hinzufügen von mehr Ressourcen zu einer logischen Einheit, beispielsweise durch die Bereitstellung von zusätzlichem Hauptspeicher oder eine zusätzliche CPU. Hierfür musste man früher neue Mainboards installieren, heute ist es eine Konfigurationseinstellung im Hypervisor. In Cloud-Infrastrukturen heißt horizontale Skalierbarkeit Elastizität [1].

Die Elastizität ist zusammen mit der Resilience eine der beiden Hauptmerkmale einer Cloud-native-Applikation. Damit eine Anwendung also tatsächlich von den Vorzügen einer Cloud-Infrastruktur profitieren kann, muss sie vollständig horizontal skalierbar sein. Es reicht also nicht, eine bestehende Anwendung auf einer VM zu installieren. Das Anwendungsdesign und die Systemarchitektur müssen für Cloud-native ausgelegt sein. Bei bestehenden, proprietären Systemen kommt außerdem das verwendete Lizenzmodell hinzu. Oft lassen sich diese Anwendungen deswegen gar nicht dynamisch skalieren, sodass Work­arounds wie das Bridgehead-Pattern notwendig werden (mehr im Abschnitt „Dynamik dank Bridgehead-Pattern“).

In der Regel lässt sich auch nur eine Cloud-native-Anwendung dynamisch skalieren. Bei einer dynamischen Skalierung kann im laufenden Betrieb horizontal skaliert werden, das heißt, es werd...

Neugierig geworden?


    
Loading...

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang