Skalierbarkeit: Definition und Kontext
Der Begriff Skalierbarkeit per Definition bezeichnet die Fähigkeit eines wie auch immer gearteten Systems oder Prozesses zur Veränderung seiner Größe. Mit Größenveränderung ist in diesem Zusammenhang fast immer Wachstum gemeint. Im IT-Bereich bezeichnet der Begriff die Möglichkeit, die Performance eines Systems durch Hinzunahme zusätzlicher Komponenten zu steigern. In Bezug auf Software ist Skalierbarkeit die Fähigkeit, mit einer performanteren Anlage zu wachsen.
In diesem Glossarbeitrag erklären wir kurz und prägnant, was im Detail mit Skalierbarkeit gemeint ist und welche Unterscheidungen gemacht werden.
Was ist Skalierbarkeit?
Wird in Bezug auf ein Netzwerk oder ein System von Skalierbarkeit gesprochen, ist damit nicht nur die Fähigkeit der Komponenten gemeint, in der skalierten — also erweiterten — Umgebung zu funktionieren, sondern deren Vorteile auch zu nutzen. Die entsprechende Steigerung der Performance im Verhältnis zu den zusätzlich aufgewendeten Ressourcen wird als Skalierungsfaktor bzw. SpeedUp bezeichnet.
Welche Arten werden unterschieden?
Im Wesentlichen wird zwischen zwei unterschiedlichen Skalierungs-Ansätzen unterschieden:
- vertikale Skalierung: Diese bezeichnet eine Verbesserung der Performance eines Systems durch das Hinzufügen zusätzlicher Komponenten zu einem Rechner. Dies kann zum Beispiel eine Vergrößerung der Speicherkapazität, oder eine verbesserte Hardware, etwa eine neue Grafikkarte, sein. Eine vertikale Skalierung ist softwareunabhängig.
- horizontale Skalierung: Hiermit ist die Steigerung der Leistung eines Netzwerks oder eines Systems durch Hinzunahme weiterer Rechner gemeint. In der Theorie ist die horizontale Skalierbarkeit per Definition grenzenlos, jedoch ist ihre Effizienz abhängig von der Fähigkeit der Software, ihre Performance linear zur Investition zu steigern.
In der Softwaremodernisierung von fecher, die mittels Web-Enabling eine auf HTML basierende Software erstellt, ist die Skalierbarkeit somit ein wichtiger Aspekt. Eine typische Geschäftssoftware stellt allerdings geringere Anforderungen an die Skalierung als eine Website, die im Consumer-Bereich eingesetzt wird. Der oft monolithische Aufbau einer Legacy-Anwendung muss für eine sehr gute Skalierbarkeit auch nicht zwingend in eine Microservices Struktur umgebaut werden. Stattdessen wählt man die vertikale Skalierung beispielsweise mittels Microsoft Azure App-Services. Darauf wird eine “stateful”-Architektur der Software implementiert, die isoliert pro Geschäftseinheit (Kunde, Abteilung etc.) eine eigene Datenbank und die Geschäftsprozesse bereithält.
Sie interessieren sich für Anwendungsentwicklung und Anwendungsmodernisierung? Neben diesem Beitrag zum Thema Skalierbarkeit finden Sie weitere Erläuterungen und Begriffsklärungen in unserem IT-Glossar! Gerne beraten wir Sie persönlich zu einer Softwaremodernisierung für Ihr Unternehmen.