Wenn wir mit Unternehmen über eine Private Cloud sprechen, kommt früher oder später derselbe Einwand: Skalieren könne man doch nur in der Public Cloud. Dahinter steht ein Bild aus der Zeit, als „privat“ ein paar fest gekaufte Server im eigenen Keller bedeutete. Mit einer gemanagten Private Cloud hat das wenig zu tun. Trotzdem steckt in dem Einwand eine berechtigte Frage, nämlich wie viel Last eine Anwendung wann braucht und wie schnell sich das ändern kann.
Unsere Antwort fällt deshalb nicht pauschal aus. Wir betreiben die Adacor Private Cloud und zugleich große Umgebungen auf Azure. In beiden Welten sehen wir, welche Art der Skalierung eine Anwendung tatsächlich braucht. In den meisten Projekten wächst der Bedarf stetig und planbar. Die eigentliche Frage ist dann nicht, ob skaliert werden kann, sondern in welche Richtung.
Was ist der Unterschied zwischen horizontaler und vertikaler Skalierung?
Vertikale Skalierung gibt einem bestehenden System mehr Leistung, horizontale Skalierung verteilt die Last auf zusätzliche Systeme. Im Englischen heißt das Scale-up und Scale-out. Dazu kommt eine dritte Möglichkeit, die oft vergessen wird: die Last selbst zu verringern, bevor man Ressourcen ergänzt.
| Art | Prinzip | Grenze | Voraussetzung |
|---|---|---|---|
| Vertikal (Scale-up) | Eine virtuelle Maschine erhält mehr CPU, RAM oder Speicher. | Die Grenze ist die Größe des physischen Hosts. | Die Anwendung muss nichts dafür können. |
| Horizontal (Scale-out) | Weitere Instanzen der Anwendung übernehmen einen Teil der Last. | Eine harte Grenze gibt es kaum, solange Kapazität im Pool ist. | Die Anwendung muss sich auf mehrere Instanzen verteilen lassen. |
| Logisch | Caching, CDN und optimierte Datenbanken senken die Last. | Die Grenze liegt dort, wo Inhalte nicht zwischengespeichert werden können. | Die Inhalte müssen sich zwischenspeichern oder ausliefern lassen. |
In der Praxis kombinieren die meisten Plattformen alle drei. Welche Mischung passt, hängt weniger von der Infrastruktur ab als von der Architektur der Anwendung.
Wann reicht vertikale Skalierung?
Vertikale Skalierung reicht, solange eine Anwendung auf einem System läuft und ihr Bedarf in die Größe eines Hosts passt. Das gilt für viele Fachanwendungen und für die meisten Datenbanken, die sich nicht ohne Weiteres auf mehrere Server verteilen lassen. Der Vorteil: An der Anwendung muss nichts geändert werden.
In unserer Private Cloud lassen sich CPU, RAM und Speicher einer virtuellen Maschine granular erweitern, ohne sie neu zu starten. Eine Datenbank, die zum Quartalsende mehr Arbeitsspeicher braucht, bekommt ihn also im laufenden Betrieb. Die Grenze ist erreicht, wenn eine einzelne Maschine größer werden müsste als der Host, auf dem sie läuft. Dann führt kein Weg an einer verteilten Architektur vorbei.
Wann braucht man horizontale Skalierung?
Horizontale Skalierung braucht man, wenn die Last für ein einzelnes System zu groß wird oder stark schwankt. Ein Kundenportal mit Lastspitzen am Monatsanfang oder eine Plattform, die in mehreren Ländern genutzt wird, verteilt die Anfragen über einen Loadbalancer auf mehrere Instanzen. Fällt eine davon aus, übernehmen die anderen. Horizontale Skalierung erhöht also nicht nur die Leistung, sondern auch die Ausfallsicherheit.
Voraussetzung ist eine Anwendung, die keinen Zustand auf dem einzelnen Server ablegt, zum Beispiel keine Sitzungsdaten im lokalen Speicher. Container-Plattformen machen das zur Regel. Kubernetes startet über den Horizontal Pod Autoscaler automatisch weitere Instanzen, wenn die Auslastung steigt. Sinkt sie, baut er sie wieder ab. Bei unserem Managed Kubernetes skalieren wir zusätzlich den Cluster selbst, damit für neue Instanzen genug Knoten bereitstehen.
Was bringt logische Skalierung?
Logische Skalierung senkt die Last, statt mehr Ressourcen bereitzustellen. Statische Inhalte wie Bilder, Skripte und Downloads liefert ein Content Delivery Network aus, häufige Datenbankabfragen beantwortet ein Cache. Die Server bekommen dadurch nur noch die Anfragen, die sie wirklich berechnen müssen.
Gerade bei Lastspitzen ist das oft der wirksamste und günstigste Hebel. Ein CDN fängt den Ansturm am Rand des Netzes ab, bevor er die Plattform erreicht. Als Partner von Akamai setzen wir das für unsere Kunden um, beschrieben auf unserer Seite zu CDN und DDoS-Schutz mit Akamai.
Wie wirkt sich die Private Cloud auf die Skalierbarkeit aus?
In einer Private Cloud skaliert eine Anwendung schnell, solange die Ressourcen des gemeinsamen Pools reichen. Wächst der Bedarf darüber hinaus, muss Hardware ergänzt werden. Das dauert Tage bis Wochen, nicht Minuten. Die Skalierbarkeit einer Private Cloud ist deshalb vor allem eine Frage der Kapazitätsplanung.
Genau hier liegt der Unterschied zwischen einer selbst betriebenen und einer gemanagten Private Cloud. Wer ein paar eigene Server betreibt, hat keine Reserve. Unsere Plattform läuft auf Proxmox und NetApp im NTT-Rechenzentrum in Frankfurt, wird rund um die Uhr überwacht und stellt neue Umgebungen schnell bereit. Wer absehbar stark wächst, sollte das trotzdem früh mit seinem Anbieter besprechen. Für die typischen Lasten im Mittelstand, also Fachanwendungen, Kundenportale, Test- und Build-Umgebungen oder KI-Piloten, reicht das in aller Regel.
Wann ist die Public Cloud die bessere Wahl?
Die Public Cloud ist die bessere Wahl, wenn die Last stark und unvorhersehbar schwankt, wenn eine Anwendung weltweit nah am Nutzer laufen muss oder wenn sie native Dienste eines Hyperscalers nutzt. Dort lassen sich in Minuten Ressourcen in einer Größenordnung hinzunehmen, die keine Private Cloud vorhält, abgerechnet nach Nutzung.
Diese Flexibilität hat ihren Preis, wenn die Last eigentlich gleichmäßig ist: Dann zahlt man dauerhaft für eine Elastizität, die man nicht braucht. Viele Plattformen teilen sich deshalb auf. Die stabile Grundlast und regulierte Daten liegen in der Private Cloud, Lastspitzen und globale Dienste in der Public Cloud. Wann sich diese Aufteilung lohnt, beschreibt unser Beitrag zur Hybrid Cloud. Für die Public-Cloud-Seite übernehmen wir den Betrieb mit unserer Managed Public Cloud ebenso.
Fazit: Skalierung ist eine Architekturfrage, keine Glaubensfrage
Private Cloud und Skalierung schließen sich nicht aus. Vertikal lässt sich eine virtuelle Maschine im laufenden Betrieb vergrößern, horizontal verteilen Container-Plattformen die Last automatisch. Ein CDN nimmt Spitzen ab, bevor sie die Server erreichen. Die Grenze der Private Cloud liegt in der Kapazität des Pools, deshalb gehört die Planung dazu. Die Public Cloud spielt ihre Stärke dort aus, wo Last unvorhersehbar und sehr groß wird. Welche Mischung für eine Anwendung passt, zeigt ein Blick auf ihr Lastprofil. Den gehen wir gern mit Ihnen gemeinsam durch, sprechen Sie unser Team an.