Was ist Skalierbarkeit?

Skalierbarkeit, im informationstechnischen Sinne, ist zunächst einmal eine Fähigkeit. Nämlich die Fähigkeit eines Programmes, einer Webseite, einer Webapp, einer Datenbank, eines Netzwerkes, etc. seine Größe zu verändern. Mit Größe kann in diesem Fall die Anzahl an Prozessoren oder Servern, die verfügbare Bandbreite, der mögliche Traffic, etc. gemeint sein.

Eine generelle Definition fällt allerdings schwierig, den der genaue Anwendungszweck und Bereich ist dafür wichtig. Sollten Sie beispielsweise einen E-Commerce Shop betreiben, ist der Begriff der Skalierbarkeit weit zu fassen.

Der Shop muss mit einem plötzlichen Ansturm von Nutzern klar kommen, das bedeutet also mehr Bandbreite, mehr Traffic, mehr Anfragen an Ihr DBMS (Datenbankmanagementsystem) oder Ihren Cache und sicherlich auch mehr Rechenleistung. Doch mehr Anfragen, mehr Bestellungen, fordern auch eine skalierbare Logistik und eventuell Produktion im Herzen des Shops.

Das Thema der variablen Größen wird oft mit einem von zwei Methoden behandelt. Entweder wird das Thema komplett vergessen beziehungsweise ignoriert oder es werden unverhältnismäßig viele Ressourcen investiert. Das oberste Ziel eines Produktes ist nun einmal fast immer die Fertigstellung und solange ein möglicher zukünftiger rapider Wachstum im Hinterkopf bei der Entwicklung und Planung gehalten wird, ist das eine gute Balance.

Doch warum ist die Skalierbarkeit vor allem im Bereich der Softwareentwicklung so ein großes und prominentes Thema? Das liegt daran, dass es für digitale Produkte überhaupt nicht unüblich ist exponentielles oder zumindest sehr schnelles Wachstum geradezu über Nacht zu erfahren. Manchmal kann es nur ein Hinweis auf das Produkt an richtiger Stelle oder eine besonders erfolgreiche Marketingkampagne zu Beispiel in Zusammenarbeit mit einem populären Influencer sein, die die Nachfrage besonders eines digitalen Produktes extremst steigert.

Einige Seiten vorher haben Sie bereits etwas über AWS, das Cloud Computing Angebot von Amazon, gehört. Einer der Hauptvorteile von Cloud Computing ist das oft verwendete “pay only what you use” Bezahlmodell. Dieses Modell ist perfekt vereinbar mit Ihrer skalierbaren Anwendung, da Sie zu Off-Peak Zeiten kaum etwas bezahlen müssen, keine Ressourcen verschwenden und zu Peak Zeiten Ihre Anwendungskapazitäten ohne weiteres verzehnfachen können.

Doch vor allem bei speziellen Ideen und Projekten oder bei besonders sensiblen Daten, können Sie sich nicht immer auf die Infrastruktur eines Dritten verlassen. In diesem Fall sollten Sie, zusammen mit Ihrem IT-Dienstleister, von Anfang an robust und flexibel planen.