Skalierbarkeit

Skalierbarkeit in der Elektronischen Datenverarbeitung bezeichnet die Fähigkeit eines Hard- oder Softwaresystems auf veränderte Anforderungen zu reagieren. In der Praxis geht man dabei von Wachstum aus. Skalierbarkeit kann jedoch auch bedeuten, sich auf schrumpfende Anforderungen anpassen zu können. Die Anpassung geschieht dabei durch das hinzufügen/entfernen weiterer Komponenten, wie zum Beispiel das Hinzufügen von mehr Speicher oder das Erhöhen der Netzwerk-Bandbreite.

Auf zwei Arten kann die Leistung eines Systems geändert werden.

  • Vertikale Skalierung (scale up): Werden in einem bestehenden System (Rechner/Knoten) Ressourcen vergrößert oder verkleinert, spricht man von einer vertikalen Skalierung. Beispiele für das hinzufügen weiterer Ressourcen sind: Verwendung einer stärkeren CPU, Erweiterung des vorhandenen Arbeitsspeichers oder der Einbau einer leistungsstärkeren Grafikkarte.

  • Horizontale Skalierung (scale out): Bei der Horizontalen Skalierung erfolgt die Anpassung der Leistung nicht durch das Hinzufügen/Verbessern einzelner Komponenten. Vielmehr werden dem bereits bestehenden System weitere (meist gleichwertige) Rechner/Knoten hinzugefügt. Hardwareseitig sind der Horizontalen Skalierung damit im Grunde keine Grenzen gesetzt.

Als kleines Beispiel für die Vertikale und Horizontale Skalierung kann man sich am besten ein Fahrzeug vorstellen. Bei der Vertikalen Skalierung hängt man bei Bedarf einen Anhänger an das Fahrzeug da die Nachfrage steigt, oder man nimmt den Anhänger wieder ab, wenn die Nachfrage zurückgeht. Bei der Horizontalen Skalierung hat man zur selben Zeit mehrere Fahrzeuge auf die die gesamte Last/Nachfrage verteilt wird und nutzt diese entsprechend der benötigten Ressourcen.

Der Vorteil der Vertikalen Skalierung liegt dabei in einer besseren Abstimmung da nur ein System verwendet wird. Das bedeutet, dass die verwendete Software in der Regel nicht angepasst werden muss. Jedoch lässt sich dieses eine System nicht beliebig erweitern/verbessern, wenn zum Zeitpunkt der Anpassung bereits die besten Komponenten verwendet werden. Diese Form der Skalierung eignet sich somit am besten für kleine, überschaubare Anwendungen.

Der Vorteil bei der Horizontalen Skalierung ist, dass man mit dieser Form flexibler und schneller auf die benötigten Anforderungen reagieren kann. Jedoch steigt bei mehr als einem Fahrzeug/System auch der Abstimmungsbedarf untereinander und die Effizienz hängt hier sehr stark von der Implementierung der verwendeten Software ab. Nicht jede Software lässt sich gleich gut parallelisieren. Eignet sich daher am besten für größere Anwendungen wo bereits absehbar ist, dass in der Zukunft eine weitere Skalierung stattfinden muss.

Wir von Engity haben uns für die Horizontale Skalierung entschieden und bieten unseren Kunden somit eine zukunftssichere Lösung, durch unbegrenzte Skalierbarkeit.