Skalierbarkeit bezeichnet die Fähigkeit eines IT-Systems, einer Anwendung oder einer Infrastruktur, bei wachsender oder sinkender Last, Nutzerzahl oder Datenmenge effizient mitzuwachsen oder zu schrumpfen, ohne dass es zu wesentlichen Leistungseinbußen kommt.
Ein System gilt als skalierbar, wenn es nicht nur für eine feste Anzahl von Nutzerinnen und Nutzern oder eine feste Datenmenge ausgelegt ist, sondern sich an veränderte Anforderungen anpassen lässt. Steigt die Nachfrage, lässt sich ein skalierbares System erweitern, ohne dass es langsamer wird oder ausfällt; sinkt die Nachfrage, lässt es sich wieder verkleinern, ohne dass unnötig Ressourcen und Kosten gebunden bleiben.
Dabei unterscheidet man grundsätzlich zwei Wege: Bei der vertikalen Skalierung, auch Scale-up genannt, erhält ein einzelnes System zusätzliche Ressourcen, etwa mehr Rechenleistung oder Arbeitsspeicher. Bei der horizontalen Skalierung, auch Scale-out genannt, kommen stattdessen zusätzliche, parallel arbeitende Systeme hinzu, auf die sich die Last verteilt. Horizontale Skalierung stößt dabei seltener an feste Hardware-Grenzen, erfordert aber eine Software-Architektur, die sich tatsächlich auf mehrere Systeme verteilen lässt. In Cloud-Umgebungen kommt häufig automatische Skalierung zum Einsatz, bei der Ressourcen dynamisch anhand der tatsächlichen Last angepasst werden, ohne dass dafür manuell eingegriffen werden muss.
Ein Online-Shop erhält an einem Aktionstag ein Vielfaches des üblichen Besucheraufkommens. Eine skalierbare Cloud-Infrastruktur stellt für diesen Zeitraum automatisch zusätzliche Serverkapazität bereit und reduziert sie danach wieder, sodass die Seite auch unter hoher Last erreichbar bleibt, ohne dass dauerhaft überdimensionierte Hardware vorgehalten werden muss.
Skalierbarkeit ist ein zentrales Qualitätsmerkmal moderner IT-Architekturen: Sie ermöglicht es Unternehmen, auf schwankende oder wachsende Anforderungen zu reagieren, Investitionen bedarfsgerecht zu planen und Dienste auch bei plötzlichen Lastspitzen zuverlässig verfügbar zu halten.
Skalierbarkeit ist keine automatische Eigenschaft, die sich allein durch den Umzug in die Cloud ergibt; sie muss durch eine entsprechende Software-Architektur, etwa durch zustandslos gestaltete Anwendungen, erst ermöglicht werden. Häufig wird außerdem übersehen, dass horizontale Skalierung die Leistung nicht beliebig steigert, da nicht jede Software sich gleich gut parallelisieren lässt und zusätzliche Systeme auch Koordinationsaufwand erzeugen.
Nicht zu verwechseln mit Cloud Computing: Cloud Computing ist das Bereitstellungsmodell für IT-Ressourcen über das Internet, das Skalierbarkeit technisch erleichtert, Skalierbarkeit selbst ist jedoch die Systemeigenschaft an sich und lässt sich grundsätzlich auch außerhalb der Cloud umsetzen. Ebenfalls abzugrenzen ist Virtualisierung: Virtualisierung ist eine Technik zur Ressourcenabstraktion, die Skalierung erleichtert, aber nicht mit ihr identisch ist.