Skalierbarkeit

Alltags-Analogie

Skalierbarkeit beschreibt die Fähigkeit eines Systems, mit wachsender Auslastung – mehr Nutzer, mehr Daten, mehr gleichzeitige Anfragen – umzugehen, ohne dabei langsamer zu werden oder gar komplett...

Was steckt dahinter?

Skalierbarkeit beschreibt die Fähigkeit eines Systems, mit wachsender Auslastung – mehr Nutzer, mehr Daten, mehr gleichzeitige Anfragen – umzugehen, ohne dabei langsamer zu werden oder gar komplett auszufallen. Man kann sich das wie ein Restaurant vorstellen, das bei plötzlichem Kundenansturm einfach zusätzliche Tische und Kellner aufstellen kann, statt die Türen schließen zu müssen, weil die Küche überfordert ist. In der Praxis unterscheidet man zwei grundsätzliche Strategien: vertikale Skalierung bedeutet, einem einzelnen Server mehr Leistung zu geben (stärkerer Prozessor, mehr Arbeitsspeicher), was einfach umzusetzen ist, aber irgendwann an physische Grenzen stößt. Horizontale Skalierung bedeutet hingegen, mehrere Server parallel zu betreiben und die Last über einen Load Balancer zu verteilen – aufwendiger in der Umsetzung, aber praktisch unbegrenzt erweiterbar. Skalierbarkeit muss von Anfang an mitgedacht werden, denn nachträgliche Anpassungen an einer Anwendung, die nie für mehrere Server ausgelegt war, sind oft sehr aufwendig. Werkzeuge wie Kubernetes und Architekturentscheidungen wie die konsequente Zustandslosigkeit einer REST-API erleichtern horizontale Skalierung erheblich, weil sie es erlauben, jede Anfrage unabhängig von vorherigen Anfragen auf einem beliebigen verfügbaren Server zu verarbeiten.