Tipps zur Konstruktion von skalierbaren Softwaresystemen

Was du heute kannst besorgen, ...

Michael Pichler


Mithilfe verfügbarer Technologien und Frameworks ist es heute vergleichsweise leicht, sowohl kleine als auch große Softwaresysteme zu entwickeln. Das heißt jedoch nicht, dass sie auch skalierbar sind. Für all jene, die große Softwaresysteme konstruiert haben, ist das Folgende keine Überraschung: Große Softwaresysteme sind Belastungen ausgesetzt, die Verhalten erzeugen, das bei Systemen kleiner und mittlerer Größe nicht sichtbar wird. Die Symptome dieser Belastungen sind in den besten Fällen hohe Antwortzeiten. In den schlimmsten Fällen führen sie zu Systemstillständen oder gar -ausfällen. Natürlich können Systeme mithilfe von Last- und Performancetests gehärtet werden, um erst gar nicht in diese Situation zu kommen. Wurde der Grundstein zur Skalierbarkeit nicht bereits zum Zeitpunkt des Designs gelegt, können Umbauten zu einem späteren Zeitpunkt des Last- und Performancetests zeitaufwendig und teuer werden.

ArtikelserieTeil 1: Grundprinzipien zum Design skalierbarer SoftwareTeil 2: Skalierbarkeit für Fortgeschrittene: Nutzen Sie das Potenzial von Caches und AsynchronitätTeil 3: Wo selbst beim Datenzugriff und im Betrieb noch Potenzial ver­borgen liegt

Skalierbarkeit

Bei der Konstruktion von skalierbaren Systemen geht es nicht nur darum, mehr Hardware anzuschaffen, sondern auch Systeme zu schaffen, die so gestaltet sind, dass sie mit Einsatz von mehr Hardware auch tatsächlich skalierbar sind. Wie im Kasten „Skalierbarkeit und Durchsatz“ erklärt, ist ein System dann skalierbar, wenn man bei Erhöhung der Last und entsprechender Anpassung der Hardware auch eine Erhöhung des Durchsatzes erreichen kann. In der IT-Architektur-Terminologie unterscheidet man zwei Skalierungsparadigmen:

Vertikale Skalierung Horizontale Skalierung

Vertikale Skalierung

Von vertikaler Skalierung sprechen wir dann, wenn die Leistungsfähigkeit eines Knotens durch Zugabe von Ressourcen erhöht wird. Ressourcen können beispielsweise Hardwareressourcen wie CPU, Memory, leistungsfähigere Plattenspeicher und anderes sein (Abb. 1).

Skalierbarkeit und Durchsatz Skalierbarkeit [1] beschreibt „skalierbar“ als Situation, in der sich der Durchsatz (im Großen und Ganzen) proportional zur Änderung der Zahl oder der Größe der Eingaben ändert. Skalierbarkeit ist das Ausmaß, in dem ein System skalierbar ist. In anderen Worten: Ein System ist dann skalierbar, wenn man bei Steigerung der Eingaben, durch Zugabe von (beispielsweise Hardware-)Ressourcen eine proportionale Steigerung des Durchsatzes erre...

Tipps zur Konstruktion von skalierbaren Softwaresystemen

Was du heute kannst besorgen, ...

Michael Pichler


Mithilfe verfügbarer Technologien und Frameworks ist es heute vergleichsweise leicht, sowohl kleine als auch große Softwaresysteme zu entwickeln. Das heißt jedoch nicht, dass sie auch skalierbar sind. Für all jene, die große Softwaresysteme konstruiert haben, ist das Folgende keine Überraschung: Große Softwaresysteme sind Belastungen ausgesetzt, die Verhalten erzeugen, das bei Systemen kleiner und mittlerer Größe nicht sichtbar wird. Die Symptome dieser Belastungen sind in den besten Fällen hohe Antwortzeiten. In den schlimmsten Fällen führen sie zu Systemstillständen oder gar -ausfällen. Natürlich können Systeme mithilfe von Last- und Performancetests gehärtet werden, um erst gar nicht in diese Situation zu kommen. Wurde der Grundstein zur Skalierbarkeit nicht bereits zum Zeitpunkt des Designs gelegt, können Umbauten zu einem späteren Zeitpunkt des Last- und Performancetests zeitaufwendig und teuer werden.

ArtikelserieTeil 1: Grundprinzipien zum Design skalierbarer SoftwareTeil 2: Skalierbarkeit für Fortgeschrittene: Nutzen Sie das Potenzial von Caches und AsynchronitätTeil 3: Wo selbst beim Datenzugriff und im Betrieb noch Potenzial ver­borgen liegt

Skalierbarkeit

Bei der Konstruktion von skalierbaren Systemen geht es nicht nur darum, mehr Hardware anzuschaffen, sondern auch Systeme zu schaffen, die so gestaltet sind, dass sie mit Einsatz von mehr Hardware auch tatsächlich skalierbar sind. Wie im Kasten „Skalierbarkeit und Durchsatz“ erklärt, ist ein System dann skalierbar, wenn man bei Erhöhung der Last und entsprechender Anpassung der Hardware auch eine Erhöhung des Durchsatzes erreichen kann. In der IT-Architektur-Terminologie unterscheidet man zwei Skalierungsparadigmen:

Vertikale Skalierung Horizontale Skalierung

Vertikale Skalierung

Von vertikaler Skalierung sprechen wir dann, wenn die Leistungsfähigkeit eines Knotens durch Zugabe von Ressourcen erhöht wird. Ressourcen können beispielsweise Hardwareressourcen wie CPU, Memory, leistungsfähigere Plattenspeicher und anderes sein (Abb. 1).

Skalierbarkeit und Durchsatz Skalierbarkeit [1] beschreibt „skalierbar“ als Situation, in der sich der Durchsatz (im Großen und Ganzen) proportional zur Änderung der Zahl oder der Größe der Eingaben ändert. Skalierbarkeit ist das Ausmaß, in dem ein System skalierbar ist. In anderen Worten: Ein System ist dann skalierbar, wenn man bei Steigerung der Eingaben, durch Zugabe von (beispielsweise Hardware-)Ressourcen eine proportionale Steigerung des Durchsatzes erre...

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