Anzeige
Anzeige
Anzeige
Anzeige
Lesedauer 4 Min.

Vertikale und horizontale Skalierung im Vergleich

Wie lässt sich die Kapazität eines Clusters erhöhen? Weitere Knoten hinzufügen oder die Kapazität der Knoten vergrößern? Eine Hilfestellung.
Es gibt verschiedene Gründe, ein Cluster neu zu skalieren. Die zwei häufigsten sind eine unzureichende Festplattenkapazität und eine zu geringe Verarbeitungskapazität. Die gängigen Varianten sind die vertikale und horizontale Skalierung.Vertikale Skalierung bedeutet, dass die Größe der Knoten im Cluster erhöht wird, um die Verarbeitungskapazität oder die Festplattengröße zu steigern. Bei der horizontalen Skalierung oder dem Scaling-Out werden einem Cluster weitere Knoten derselben Größe hinzugefügt. Je nach Anwendungsfall ist die vertikale beziehungsweise die horizontale Skalierung die bessere Variante.Die vertikale Skalierung ist die ideale Lösung, wenn ein Unternehmen die Kapazität eines Clusters schnell erhöhen muss. In der Regel ist eine solche Skalierung in etwa 15 Minuten pro Knoten durchführbar. Wenn nur die Größe der Instanz ohne Modifizierung des zugrunde liegenden Speichers angepasst wird, besteht auch die Möglichkeit, die Cluster-Größe schnell wieder zu reduzieren. Die vertikale Skalierung empfiehlt sich deshalb für kurzfristige oder saisonale Spitzen bei den Anforderungen an die Verarbeitungskapazität. Anschließend kann ein Nutzer unmittelbar eine Verringerung der Cluster-Größe vornehmen. Darüber hinaus ist auch auf kleineren Instanzen – in der Regel bei der Instanzgröße m5.large von AWS oder geringer – zunächst immer eine vertikale Skalierung einer horizontalen vorzuziehen. Das heißt, bei geringen Instanzgrößen sollte erst eine vertikale Skalierung erfolgen, bevor eine horizontale in Angriff genommen wird.Zu beachten ist dabei, dass Knoten mit zu großem Speicherplatz während der Wartungszeiträume Betriebsprobleme verursachen können, da beim Ausfall einer Instanz eine große Datenmenge neu gestreamt werden muss. Wenn ein Unternehmen über wenige Knoten verfügt, ist die Wahrscheinlichkeit groß, dass alle anderen Replikate im Cluster mit dem Streaming der Daten stark belastet werden.

Langfristige Kapazitätserhöhungen

Die horizontale Skalierung hingegen eignet sich hervorragend für langfristige Kapazitätserhöhungen, bei denen es unwahrscheinlich ist, dass die Größe des Clusters wieder verringert werden muss. Gründe dafür können eine verstärkte Nutzung der Anwendung oder eine veränderte Arbeitslast sein. Wenn ein Unternehmen mehr Instanzen mit kleinerem Speicherplatz nutzt, reduziert es die Datenmenge, die im Falle eines Instanzfehlers neu gestreamt werden muss. Demzufolge kann bei einem Instanzausfall eine Anwendung sehr schnell wieder online gehen, da das Streaming von einer größeren Zahl von Replikaten erfolgt.Die horizontale Skalierung erfordert allerdings ein Re-Streaming von Daten. Das heißt, bevor die neuen Knoten mit der Request-Bearbeitung beginnen können, müssen zunächst die relevanten Datenpartitionen auf ihre Festplatte übertragen werden. Je nach der Datenmenge im Cluster und der Größe der Knoten kann dieser Vorgang Stunden oder Tage in Anspruch nehmen. In diesem Kontext muss ein Unternehmen berücksichtigen, dass trotz der Erweiterung um zusätzliche Knoten die Verarbeitungskapazität zunächst abnimmt. Die ursprünglichen Knoten bedienen schließlich noch alle Requests und zugleich die Streaming-Anfragen der neuen Knoten. Aus diesem Grund empfiehlt sich eine horizontale Skalierung eines Clusters eher nicht, wenn er einer hohen Verarbeitungslast ausgesetzt ist.Darüber hinaus müssen Unternehmen beachten, dass bei der horizontalen Skalierung im Falle einer Reduzierung der Kapazität durch das Entfernen von Knoten ein Dekommissionierungsprozess erforderlich ist. Dabei werden Kopien der Daten, die sich auf den zu entfernenden Knoten befinden, auf die verbleibenden Knoten verlagert. Abhängig von der Größe des Clusters und der Datenmenge kann auch dieser Prozess Stunden oder Tage dauern.Unabhängig davon, welche Skalierungsmethode verwendet wird, sollte ein Unternehmen die Kapazität seines Clusters schon dann erhöhen, bevor der eigentliche Bedarf eintritt. Der Grund dafür ist, dass jede Skalierungsmethode die Verarbeitungskapazität des Clusters zunächst verringert, sodass ein bereits überlasteter Cluster schnell an seine Grenzen stößt.
© Ralph Völter
 Ralph Völter ist Manager District Sales EMEA bei Instaclustr

Neueste Beiträge

Generative AI und Python - Python und AI, Teil 4
Generative KI mit Python nutzen und so die Basis für eigene Anwendungen schaffen.
7 Minuten
DDC hakt nach: Hör auf, Dich über Verbindungsstrings zu ärgern
Die App läuft lokal wie geschmiert, aber sobald Backend-Services ins Spiel kommen, stottert die Maschine. Connection Strings, die nicht wollen. Emulator-Konfigurationen, die nerven. Johan Smarius erklärt im Interview und auf der .NET Developer Conference 2025, wie es anders - und viel besser geht.
4 Minuten
10. Nov 2025
Hierarchische Testdata-Builder - Testdata-Builder, Teil 1
Lesbare Tests bei tiefen Objekthierarchien mit dem Collection-Builder-Pattern.
4 Minuten
Miscellaneous

Das könnte Dich auch interessieren

Wexflow: .NET Open Source Workflow-Engine - CodeProject
Wexflow ist eine quelloffene und plattformübergreifende Workflow-Engine und Automatisierungsplattform, die darauf abzielt, wiederkehrende Aufgaben zu automatisieren.
2 Minuten
C#-.NET-Apps mit WinUI 3 - Komponentenbasierte Apps mit Fluent/FAST, Teil 3
Microsoft macht mit WinUI 3 ein natives User-Experience-Framework für Windows verfügbar, dessen Komponenten auf dem Microsoft-eigenen Design-System Fluent 2 basieren.
23 Minuten
13. Mai 2024
Das Model Context Protocol (MCP) mit C# verwenden - Kommunikation mit der KI
Mit dem neuen MCP C# SDK können Entwickler die Kommunikation zwischen KI-Modellen und Anwendungen effizient gestalten. Ein Blogpost bietet eine Schritt-für-Schritt-Anleitung zur Implementierung eines MCP-Servers.
3 Minuten
10. Apr 2025
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige