In der heutigen Welt der Cloud-Technologien ist die effiziente Ressourcennutzung ein entscheidender Faktor für Kosten, Leistung und Skalierbarkeit. Ubicloud, eine Open-Source-Alternative zu großen Cloud-Anbietern wie AWS, hat eine innovative Lösung entwickelt, um den Zugang zu leistungsfähigen virtuellen Maschinen zu vereinfachen und dabei Kosten drastisch zu senken. Mit der Einführung von sogenannten burstfähigen VMs setzt Ubicloud auf die Vorteile von CPU-Slicing basierend auf den Linux Control Groups Version 2 (cgroups v2). Dieses System erlaubt es, CPU-Ressourcen dynamisch und granular zu verwalten, indem ein VM nur ein Fractional-CPU-Zeitanteil zugeteilt wird, während bei Bedarf kurzfristige Leistungsspitzen durch das Bursting ermöglicht werden. So trifft kosteneffiziente Prozessorverwaltung auf flexible Leistungsentfaltung – eine Kombination, die vor allem für kleine Webanwendungen, SaaS-Services oder Entwicklungsumgebungen außerordentlich attraktiv ist.
Linux cgroups sind die technische Basis für diese Ressourcenverwaltung. Sie bilden eine hierarchische Struktur, in der Gruppen von Prozessen oder Threads organisiert und deren Ressourcennutzung präzise limitiert werden kann. Innerhalb dieser Struktur können verschiedene Controller aktiviert werden, die einzelne Systemressourcen wie CPU, Arbeitsspeicher, I/O oder Prozessanzahl steuern. Die CPU-Steuerung ist dabei besonders relevant für das CPU-Slicing und das Bursting von VMs. Hier kommen die zwei Controller cpu und cpuset zum Einsatz.
Die cpuset-Komponente definiert, auf welchen physikalischen CPU-Kernen die Gruppe arbeiten darf und kann so eine dedizierte oder geteilte CPU-Zugehörigkeit festlegen. Dies verhindert, dass burstfähige VMs Ressourcen anderer wichtiger VMs beeinträchtigen. Der cpu-Controller wiederum überwacht und begrenzt die tatsächliche CPU-Zeit, die eine Gruppe nutzen darf. Hier setzt Ubicloud auf eine wesentliche Neuerung: die Bursting-Funktionalität. Diese erlaubt VMs, temporär über ihre reguläre CPU-Grenze hinaus zu gehen, sofern entsprechende „CPU-Gutschriften“ angesammelt wurden.
Diese Gutschriften entstehen, wenn eine VM unterhalb ihres Limits läuft und somit Ressourcen ungenutzt bleiben, die dann für spätere Spitzen genutzt werden können. Die Vergabe dieser Credits und die Verwaltung der Bursts erfolgen in sehr kurzen Zeitintervallen – im Millisekundenbereich – was eine flexible Anpassung an sich schnell ändernde Lasten erlaubt. Praktisch umgesetzt wird die Verwaltung der cgroups und deren CPU-Parameter über das virtuelle Dateisystem /sys/fs/cgroup. Hier können Administrierende per Kommandozeile oder automatisierten Skripten die zugelassene CPU-Zeit einstellen, etwa durch Anpassungen an der cpu.max-Datei, die sowohl den zulässigen Zeitraum als auch die max.
Prozentauslastung festlegt. So kann ein Slice – eine systemd-ähnliche Gruppierung von Prozessen oder VMs – mit exakt definierten CPU-Zugehörigkeiten ausgestattet werden. Auf diese Weise schafft Ubicloud eine klare Trennung zwischen standardisierten VMs mit festen CPUs und burstfähigen VMs, die sich eine CPU-Gruppe teilen und bei Bedarf Leistungsspitzen abrufen können. Diese Konzeption sichert einerseits Isolation und andererseits effiziente Ressourcennutzung. Die optimale Anwendung dieses Ansatzes erfordert jedoch eine sorgfältige Dimensionierung der VMs.
Wählt man die VMs zu klein, können sie ihre Bursts nicht effizient nutzen, da nicht genügend Zeit zum Ansammeln von Credits bleibt. Ist die CPU-Belastung konstant hoch oder teilen sich zu viele VMs die gleichen CPUs, so entfallen effektive Bursts. Ubiclouds Performance-Tests mit der stress-ng Anwendung belegen, dass bei entsprechender Konfiguration eine Leistungssteigerung von rund 30 Prozent während Lastspitzen möglich ist. Vor allem in Szenarien mit geringer Konkurrenz auf der CPU können burstfähige VMs von diesen Ressourcenexplosionen profitieren und dennoch dauerhaft kostengünstig betrieben werden. Diese Technik eröffnet gerade für kleine und mittelgroße Anwendungen neue Perspektiven.
Statt kostenintensive dedizierte Maschinen zu buchen, können Nutzer durch VMs mit geteilten CPUs und Burst-Funktionalität erhebliche Kosteneinsparungen erzielen ohne signifikante Leistungseinbußen zu riskieren. Ubicloud bietet hier Preise ab 1 Cent pro Stunde, was im Vergleich zu herkömmlichen Cloud-Angeboten einen enormen Vorteil darstellt. Bereits kleine Webservices, Test- oder Entwicklungsumgebungen profitieren davon, die funktionale Infrastruktur wartungsfreundlich, skalierbar und bezahlbar zu halten. Allerdings existieren auch Grenzen. Die Bursting-Mechanik in cgroups v2 ist durch das Linux-Kernelsystem bedingt auf Mikro-Intervalle begrenzt.
Langfristiges Ansparen von Bursting-Guthaben über Minuten oder Stunden ist derzeit nicht möglich. Eine Entwicklung außerhalb des Kernels, die Statistiken sammelt und Bursts über längere Zeiträume steuerbar macht, könnte dieses Manko ausgleichen. Ubicloud arbeitet daran, diese Funktion zu ergänzen um künftig auch größere Flexibilität und Effizienz zu ermöglichen. Die Gesamtarchitektur von Ubicloud integriert all diese Mechanismen über ein intelligentes Control Plane, das nicht nur die Zuweisung der VMs zu passenden cgroups organisiert, sondern auch die Zuweisung von CPU-Zeit und Bursting-Regeln automatisiert. Dabei wird auf Kontinuität geachtet, sodass nach Host-Neustarts alle Einstellungen konsistent wiederhergestellt werden.
Selbst während der VM-Provisionierung laufen die cgroup-Setups parallel zu anderen Aufgaben, damit die Startzeit der VM nicht verlängert wird – ein wichtiger Aspekt für den praktischen Einsatz in produktiven Umgebungen. Zusammenfassend zeigt Ubiclouds Einsatz von Linux cgroups v2 für CPU-Slicing und Burst-fähige VMs, wie moderne Open-Source-Technologie marktreife, kosteneffiziente und leistungsfähige Cloud-Dienste ermöglichen kann. Diese Entwicklung kann Anwendern dabei helfen, ihre Infrastrukturkosten zu senken, ohne auf flexible Performance verzichten zu müssen. Gleichzeitig trägt die transparente Dokumentation und das Teilen von Erkenntnissen zur Weiterentwicklung der Open-Source-Community bei. Die Innovationskraft hinter dem Projekt macht deutlich, wie wichtig eine gut durchdachte Ressourcenverwaltung in der Cloud ist – insbesondere in einer Zeit, in der viele Anwendungen fragmentierter, dynamischer und oft ressourcenintensiver werden.
CPU-Slicing mit cgroups bietet hier ein modernes Instrument, das die Balance zwischen Isolation, Flexibilität und Betriebskosten optimal unterstützt und so für viele Nutzergruppen Wert schafft. Ubicloud zeigt den Weg in diese flexible und effiziente Cloud-Zukunft und macht sie mit burstfähigen VMs von der Idee zur greifbaren Realität.