Skalieren in der Dunkel Cloud

Wenn die Vorteile der Cloud angepriesen werden, steht für gewöhnlich Flexibilität ganz oben auf der Liste: Man mietet heute die Ressourcen, die man braucht, ändert die Menge, wenn sich der Bedarf ändert und muss nicht länger für etwas zahlen, das nicht mehr benötigt wird.

Vertikales und horizontales Skalieren

Vertikales und horizontales Skalieren

Vertikales und horizontales Skalieren

Wenn es darum geht, einer Anwendung je nach Bedarf mehr oder weniger Leistung in Form von Hardware-Ressourcen zur Verfügung zu stellen, sprechen wir vom Skalieren. Mehr Leistung bekommt man auf zwei Wegen: entweder vertikal, auch als scale-up bezeichnet oder horizontal, dem sogenannten scale-out. Beim vertikalen Skalieren wird der vorhandenen Maschine mehr Leistung in Form von zusätzlichen CPU-Kernen und/oder RAM zugewiesen. Beim horizontalen Skalieren erhöht sich die Anzahl der Maschinen, d.h. die Anwendungsanfragen werden auf mehr virtuelle Server innerhalb eines Clusters verteilt (siehe Grafik). Das Ergebnis ist in beiden Fällen gleich: trotz steigender Last (Anzahl Anfragen) bleibt die Performance der Anwendung konstant, da ihr mehr Serverleistung zur Verfügung steht.  Während die meisten modernen Betriebssysteme und Anwendungen heute parallelisierbar sind, also problemlos die Leistung von mehreren CPU-Kernen gleichzeitig nutzen können, stellt das horizontale Skalieren erhöhte Anforderungen an beide – die Anwendungen und die Administratoren.

Nun ist Skalieren nichts, das für die Cloud erfunden wurde. Wenn in der physischen Welt eine Anwendung nur noch im Schneckentempo läuft, wird ein neuer Server mit mehr CPU und RAM gekauft. Um diesen Vorgang nicht alle paar Wochen wiederholen zu müssen, wird großzügig dimensioniert, mit dem Ergebnis, dass die neue Hardware die nächsten zwölf Monate kaum ausgelastet ist und man für mehr Leistung bezahlt hat, als man eigentlich braucht. Mit horizontalem Skalieren erreicht man den gewünschten Leistungszuwachs zwar etwas kosteneffizienter, aber wenn die Benutzeranfragen wieder weniger werden, hat man auch hier in Hardware investiert, die nicht wirklich benötigt wird.

Live Scaling in der Cloud – horizontal und vertikal

Vertikales Skalieren ohne Betriebsunterbrechung

Vertikales Skalieren ohne Betriebsunterbrechung

Beim Skalieren zeigen sich die Stärken der Cloud besonders deutlich: Erstens, geht das Skalieren viel schneller, weil zusätzliche Kapazitäten in der Regel nach nur wenigen Mausklicks betriebsbereit sind. Zweitens,  ist das Skalieren viel effizienter, weil  man die Leistung schrittweise und dem jeweiligen Bedarf entsprechend erhöhen und nicht mehr benötigte Ressourcen genauso einfach wieder freigeben kann.  Während vertikales Skalieren mit physischen Servern mit einer längeren Downtime verbunden ist (so lange, bis die Anwendungen auf der neuen Hardware installiert und diese im Netzwerk konfiguriert wurde),  muss eine virtuelle Maschine nur kurz angehalten und anschließend mit den zusätzlichen Ressourcen neu gestartet werden. In der Dunkel Cloud geht es noch schneller: die Ressourcen können ohne Betriebsunterbrechung erhöht werden. Diese „Hot-Add“-Funktion unterstützen bestimmte Versionen von Microsoft Windows Servern sowie mehrere Linux Distributionen. Einige davon werden von uns auch als Template im Katalog bereitgestellt. Mit Hilfe der vCloud API lässt sich das vertikale Skalieren in unseren virtuellen Data Center auch automatisieren, indem zusätzliche Ressourcen skriptgesteuert aktiviert werden. Das Down Scaling funktioniert noch nicht ganz so unterbrechungsfrei. Erst nach einem Neustart der Maschinen werden die nicht mehr benötigten Ressourcen vollständig wieder freigegeben.

Wer braucht vertikale Skalierung? Nicht alle Anwendungen und Datenbanken kommen mit einer horizontalen Skalierung und dem parallelen Betrieb mit mehreren Maschinen zurecht. Kunden mit solchen Anwendungen sind darauf angewiesen, die Leistung der vorhandenen Maschine schrittweise erhöhen zu können. Andere Kunden wollen damit vielleicht nur kurzzeitige Lastspitzen abfangen. Wer allerdings Web Applikationen mit hohen oder stark wachsenden Zugriffszahlen betreibt, benötigt nicht nur eine gleichbleibend gute Performance, sondern auch eine hohe Verfügbarkeit. Hier ist das horizontale Skalieren eindeutig die bessere Wahl und sollte schon bei der Entwicklung bzw. Auswahl der Software berücksichtigt werden. Durch Verteilung der Last auf mehrere virtuelle Server bleiben die Anwendungen erreichbar, auch wenn einzelne Maschinen ausfallen oder gewartet werden. Und selbstverständlich funktioniert das horizontale Skalieren auch in der Cloud live, das heißt es können virtuelle Maschinen bei laufendem Betrieb einem Cluster hinzugefügt oder aus diesem entfernt werden.

Aktivierung der Hot-Add Funktion

Aktivierung der Hot-Add Funktion