Eine Website bewältigt tausend Nutzer. Dann eine Million. Stürzt sie ab? Skalierbarkeit ist die Fähigkeit eines Systems, wachsende Arbeitslasten zu bewältigen. Sie kann durch Hinzufügen von Ressourcen (horizontale Skalierung) oder durch Leistungssteigerung bestehender Ressourcen (vertikale Skalierung) skaliert werden. Ein skalierbares System bricht nicht zusammen, wenn die Nachfrage steigt.
Vertikale Skalierung ist einfacher. Man fügt mehr RAM, eine schnellere CPU und eine größere Festplatte hinzu. Allerdings gibt es Grenzen. Der Arbeitsspeicher lässt sich nicht unbegrenzt erweitern. Horizontale Skalierung ist komplexer. Man fügt weitere Maschinen hinzu und verteilt die Last. Dafür benötigt man Load Balancer, verteilte Datenbanken und zustandslose Dienste. Sie ermöglicht jedoch nahezu unbegrenzte Skalierung.
Skalierungsstrategien
- Horizontal: Weitere Server hinzufügen
- Vertikal: Modernisierung bestehender Server
- Lastverteilung: Datenverkehr verteilen
- Caching: Reduzierung wiederholter Arbeitsschritte
- Sharding: Daten auf mehrere Maschinen verteilen
Skalierbarkeit ist nicht nur eine Frage der Hardware, sondern auch der Architektur. Ein schlecht konzipiertes System lässt sich nicht skalieren, egal wie viele Server man hinzufügt. Ein gut konzipiertes System hingegen kann von einem Startup zu einer globalen Plattform wachsen. Die frühzeitig getroffenen Designentscheidungen bestimmen, wie weit man kommen kann.
Comments
No comments yet. Be the first to share a thought.
Leave a comment