ST-KEDA: Predictive Cost-Aware Autoscaling for Kubernetes Microservices via Spectral- Temporal Demand Forecasting
ST-KEDA ist ein prädiktives, kostensensitives Autoscaling-Framework für Kubernetes-Mikroservices, das Variational Mode Decomposition und topologiebewusste, kooperative LSTM-Prognosen mit Echtzeit-Kostenschätzungen integriert, um Infrastrukturkosten und Skalierungslatenzen unter Einhaltung strenger SLA-Vorgaben signifikant zu reduzieren.
Originalarbeit lizenziert unter CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Dies ist eine KI-generierte Erklärung des untenstehenden Papers. Sie wurde nicht von den Autoren verfasst oder gebilligt. Für technische Genauigkeit konsultieren Sie das Originalpaper. Vollständigen Haftungsausschluss lesen
Moderne Software läuft oft nicht als ein einziges, massives Programm, sondern als eine Sammlung kleiner, unabhängiger Teile, die Microservices genannt werden. Diese Teile kommunizieren ständig miteinander, wie ein Team von Spezialisten, die sich Notizen übergeben, um ein komplexes Problem zu lösen. Um dieses Team reibungslos am Laufen zu halten, müssen die Computer, die sie hosten, ihre Leistung automatisch anpassen. Wenn zu viele Menschen gleichzeitig eine Website besuchen, muss das System sofort mehr Arbeiter hinzufügen. Wenn der Verkehr nachlässt, muss es Arbeiter entlassen, um Geld zu sparen. Diese automatische Anpassung wird Autoscaling genannt. Derzeit warten die meisten Systeme darauf, ein Problem zu erkennen – wie etwa langsame Antwortzeiten –, bevor sie reagieren. Diese Reaktion dauert mehrere Minuten, eine Verzögerung, die sich in der digitalen Welt wie eine Ewigkeit anfühlt und dazu führt, dass Nutzer Verzögerungen oder Fehler erleben. Darüber hinaus fehlt den Menschen, die diese Systeme verwalten, oft eine klare, unmittelbare Sicht darauf, wie viel jede einzelne Anpassung kostet, was es schwierig macht, Leistung und Budget in Einklang zu bringen.
Ein Team von Forschern der Multimedia University in Malaysia hat ein neues System entwickelt, das darauf abzielt, beide Probleme gleichzeitig zu lösen. Sie nennen ihr Framework ST-KEDA. Anstatt darauf zu warten, dass der Verkehr anschwillt und dann zu reagieren, versucht dieses System, den Anstieg vorherzusagen, bevor er passiert. Es führt zudem eine laufende Abrechnung über die Kosten für jede einzelne Aktion durch, was es dem System ermöglicht, Entscheidungen zu treffen, die Geld sparen, ohne die Geschwindigkeit zu opfern. Die Forscher testeten dieses System an zwei realen Beispielen komplexer Software: einem Online-Shopping-Geschäft mit elf verschiedenen Diensten und einem Zugticket-Buchungssystem mit einundvierzig Diensten. Ihre Ergebnisse zeigen, dass das System durch das Vorausschauen und das Verständnis der finanziellen Auswirkungen jeder Bewegung die Infrastrukturkosten um mehr als ein Drittel senken und gleichzeitig die Anzahl der Male drastisch reduzieren kann, in denen es hektisch Arbeiter hinzufügt oder entfernt.
Der Kern des Problems liegt darin, wie aktuelle Systeme nach Problemen suchen. Standardwerkzeuge überwachen die aktuelle Arbeitslast des Computers, wie zum Beispiel wie beschäftigt die Prozessoren sind. Wenn die Arbeitslast eine bestimmte Linie überschreitet, befiehlt das System mehr Computerleistung. Die Zeit, die es dauert, die Spitze zu bemerken, den Bedarf zu berechnen, einen neuen Computer zu finden, die notwendige Software herunterzuladen und den neuen Arbeiter zu starten, ist jedoch erheblich. In den Tests der Forscher dauerte dieser gesamte Prozess durchschnittlich fast fünf Minuten. Während dieses Zeitfensters ist das System überfordert und die Nutzer leiden darunter. Der neue Ansatz, ST-KEDA, ändert die Strategie von Reagieren auf Antizipieren. Er betrachtet die Historie der Verkehrsmuster, um zu erraten, was in den nächsten Minuten passieren wird.
Um diese Vermutungen genau zu machen, zerlegt das System zunächst die komplexe Historie des Verkehrs in einfachere, verständliche Teile. Stellen Sie sich eine verrauschte Aufnahme einer belebten Straße vor; sie enthält das stetige Brummen des Verkehrs, das rhythmische Muster der Rushhour und plötzliche, scharfe Geräusche wie ein Autohorn. Die Forscher nutzten eine mathematische Technik, um diese verschiedenen Rhythmen vom Rauschen zu trennen. Sie fanden heraus, dass der Computer den Verkehr viel besser verstehen kann, wenn er diese separaten Muster – die stetigen Trends, die täglichen Zyklen und die plötzlichen Spitzen – studiert, als wenn er nur die rohen, chaotischen Daten betrachtet. Diese Trennung ermöglichte es der Vorhersagemaschine, die zugrunde liegende Struktur der Nachfrage zu erkennen, anstatt nur das Chaos zu sehen.
Das System verwendet dann ein hochentwickeltes Lernmodell, das versteht, wie die verschiedenen Teile der Software voneinander abhängen. In einer Microservice-Architektur löst ein Teil oft einen anderen aus. Zum Beispiel kann ein Klick eines Nutzers auf „Kaufen“ eine Bestandsprüfung auslösen, die wiederum den Zahlungsprozess auslöst. Wenn das System einen Anstieg der „Kaufen“-Klicks vorhersagt, weiß es, dass auch die Bestands- und Zahlungsdienste mehr Leistung benötigen werden, noch bevor diese Dienste Anzeichen von hoher Auslastung zeigen. Durch die Abbildung dieser Verbindungen kann das System die gesamte Kette von Diensten gleichzeitig vorbereiten. Dies verhindert die Verzögerung, die auftritt, wenn ein Teil bereit ist, der nächste Teil aber noch beim Aufwachen ist.
Entscheidend ist, dass dieses System sich nicht nur um Geschwindigkeit kümmert, sondern auch um den Preis. Cloud-Computing-Dienste berechnen pro Minute für jeden Computerprozessor und jede Speichereinheit. Die Forscher bauten eine Ebene in ihr System ein, die die Kosten für jede Skalierungsentscheidung in Echtzeit berechnet. Während herkömmliche Abrechnungen Tage dauern können, schätzt dieses System die Kosten innerhalb von Sekunden nach einer Änderung. Es weiß genau, wie viel eine neue Computerinstanz für die nächste Stunde kosten wird. Dies ermöglicht es dem System, einen Kompromiss einzugehen: Es kann entscheiden, Geld zu sparen, indem es die Anzahl der Arbeiter etwas niedriger hält und eine sehr geringe Chance auf eine Verlangsamung akzeptiert, oder es kann mehr ausgeben, um perfekte Geschwindigkeit zu garantieren. Die Forscher testeten eine Einstellung, bei der das System die Kostenersparnis priorisierte, und es gelang ihm erfolgreich, die Gesamtkosten für den Betrieb des Online-Shops um 34,7 Prozent zu senken.
Die Testergebnisse waren beeindruckend. Im Vergleich zu einem standardmäßigen reaktiven System reduzierte der neue Ansatz die Zeit, die für die Anpassung an neuen Verkehr benötigt wurde, von fast fünf Minuten auf nur acht Sekunden. Diese Geschwindigkeit bedeutete, dass das System selten hinterherhinkte. Die Forscher maßen auch etwas, das man „Flapping“ nennt, was passiert, wenn ein System überreagiert, indem es zu viele Arbeiter hinzufügt, sie dann sofort wieder entfernt, dann wieder hinzufügt. Dieses ständige Umschalten ist verschwenderisch und instabil. Das neue System reduzierte dieses chaotische Verhalten um 96,6 Prozent und schuf so einen viel glatteren Betrieb. Wenn das System angewiesen wurde, Kostenbelange zu ignorieren und sich nur auf die Leistung zu konzentrieren, sank die Anzahl der langsamen Antworten auf nur 2 Prozent, was eine signifikante Verbesserung gegenüber den 8 Prozent des Standardsystems darstellt.
Die Studie zeigte auch, dass die spezifischen Komponenten ihres Designs alle notwendig waren. Wenn sie die Fähigkeit entfernten, die Verkehrsmuster aufzuschlüsseln, wurden die Vorhersagen weniger genau. Wenn sie das Verständnis dafür entfernten, wie die Dienste miteinander verbunden sind, versagte das System dabei, die nachgelagerten Teile der Kette rechtzeitig vorzubereiten. Und wenn sie das Kosten-Tracking entfernten, konnte das System nicht mehr die klugen Kompromisse eingehen, die zu solch signifikanten Einsparungen führten. Die Forscher fanden heraus, dass das beste Gleichgewicht erreicht wurde, wenn das System darauf abgestimmt war, sowohl auf Kosten als auch auf Geschwindigkeit zu achten, wobei es eine winzige Zunahme langsamer Antworten akzeptierte, um massive finanzielle Einsparungen zu erzielen.
Diese Arbeit zeigt, dass das Management komplexer Softwaresysteme kein Wettlauf gegen die Zeit sein muss. Indem man ein tiefes Verständnis dafür kombiniert, wie sich Verkehrsmuster entwickeln, wie verschiedene Softwareteile voneinander abhängen und wie viel jede Entscheidung genau kostet, ist es möglich, diese Systeme effizienter und kostengünstiger zu betreiben. Die Forscher testeten ihre Ideen auf zwei unterschiedlichen Arten von Anwendungen, was darauf hindeutet, dass der Ansatz robust genug ist, um verschiedene Arten von Arbeitslasten zu bewältigen. Obwohl das System in einer spezifischen Cloud-Umgebung getestet wurde, bieten die Prinzipien der Nachfrageprognose und der Integration von Kosten in die Entscheidungsfindung einen klaren Weg für jeden, der große digitale Dienste verwaltet. Die Zukunft des Cloud-Computings liegt vielleicht nicht nur darin, mehr Leistung zu haben, sondern darin, genau zu wissen, wann und wie man sie einsetzt.
Ertrinken Sie in Arbeiten in Ihrem Fachgebiet?
Erhalten Sie tägliche Digests der neuesten Arbeiten passend zu Ihren Forschungsbegriffen — mit technischen Zusammenfassungen, in Ihrer Sprache.