{"id":27583,"date":"2025-02-28T19:44:14","date_gmt":"2025-02-28T18:44:14","guid":{"rendered":"https:\/\/blog.mi.hdm-stuttgart.de\/?p=27583"},"modified":"2025-02-28T19:44:17","modified_gmt":"2025-02-28T18:44:17","slug":"einsatz-von-kunstlicher-intelligenz-zur-automatischen-skalierung-von-kubernetes-clustern","status":"publish","type":"post","link":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2025\/02\/28\/einsatz-von-kunstlicher-intelligenz-zur-automatischen-skalierung-von-kubernetes-clustern\/","title":{"rendered":"Einsatz von K\u00fcnstlicher Intelligenz zur automatischen Skalierung von Kubernetes-Clustern"},"content":{"rendered":"\n<p><strong>Anmerkung:<\/strong>&nbsp;Dieser Blogpost wurde f\u00fcr das Modul Enterprise IT (113601a) verfasst.<br><em>Aus Gr\u00fcnden der besseren Lesbarkeit wird in dieser Arbeit auf eine geschlechtsneutrale Differenzierung verzichtet. S\u00e4mtliche Personenbezeichnungen gelten gleicherma\u00dfen f\u00fcr alle Geschlechter.<\/em><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Kurzfassung <\/h2>\n\n\n\n<p>Die Branche der fortschreitenden Cloud Digitalisierung und die steigenden Anforderungen an hochverf\u00fcgbaren, skalierbaren Anwendungen haben Kubernetes zu einer der f\u00fchrenden Container-Orchestratoren gemacht. Eines der zentralen Aspekte dieser Cloud-Umgebungen ist die automatische Skalierung von Clustern, um sich an den st\u00e4ndig \u00e4ndernden Intensit\u00e4ten der Ressourcensnachfragen anzupassen indem sichergestellt wird, dass Ressourcen effizient genutzt werden und somit letztendlich auch die Betriebskosten optimiert werden. Diese automatische Skalierungsfunktion l\u00e4sst sich traditionell mit einem einfachen Parametersatz anpassen, dieser arbeitet aber auf statischen Regeln oder einfachen Heuristiken, die h\u00e4ufig nicht optimal auf dynamische schwankenden Webanfragen reagieren k\u00f6nnen. Die wachsende technologische Entwicklung im Bereich der K\u00fcnstliche Intelligenz (KI) er\u00f6ffnet neue M\u00f6glichkeiten zur Optimierung von Auto-Scaling-Strategien, die auf die tats\u00e4chliche Variabilit\u00e4t eingehender Anfragen eingeht und zuk\u00fcnftige Anforderungen vorhersagen und seine Skalierungsstrategien adaptiv und in Echtzeit implementieren kann.\u00a0 Dadurch lassen sich grundlegend konkurrierende Mechanismen entwickeln, die sowohl durch ihre Effizienz als auch durch ihre Reaktionsgeschwindigkeit verlorene Anfragen deutlich reduzieren.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Einleitung<\/h2>\n\n\n\n<p>Kubernetes ist derzeit eines der beliebtesten Open-Source-Orchestrierungssystemen zu Verwaltung von containisierter Anwendungen, die von Dienstanbietern verwendet werden. Es bietet mitunter in Bezug auf Bereitstellung, Skalierung und Verwaltung den vollst\u00e4ndigen Lebenszyklus von Anwedungskomponenten. Einer der wichtigsten Funktionen, um die Bereitstellung containerisierter Anwendungen auf dynamische Benutzerauslastungen zu gew\u00e4hrleisten ist die automatische Skalierung.<a href=\"#_ftn1\" id=\"_ftnref1\">[1]<\/a> &nbsp;<\/p>\n\n\n\n<p>Die Auswahl der richtigen Skalierungsstrategie h\u00e4ngt unter anderem von der Art der Anwendung ab, weshalb wir in diesem Abschnitt erstmal die Anwendungsarchitekturen betrachten. Traditionell wurden viele Anwendungen in einer monolithischen Architektur entwickelt. Hierbei sind alle oder die meisten Komponenten und Funktionen in einer einzigen, engverbundenen Codebasis enthalten<a href=\"#_ftn2\" id=\"_ftnref2\">[2]<\/a>. Diese werden in der Regel in einem einzigen Kubernetes-Container bereitgestellt, was zwar die initiale Entwicklung erleichtert, jedoch in Bezug auf Skalierbarkeit und Wartung oft die erneute Bereitstellung der gesamten Anwendung erfordert. Microservice-basierte Anwendungen hingegen bestehen aus mehreren eigenst\u00e4ndigen Diensten, die miteinander interagieren und daher zunehmend eingesetzt werden, um den Herausforderungen der monolithischen Architektur zu begegnen. Hierbei wird die Anwendung in Services unterteilt, die unabh\u00e4ngig voneinander einsatzf\u00e4hig und skalierbar sind. Autoskalierungsansetze m\u00fcssen hier allerdings die Abh\u00e4ngigkeiten zwischen den Diensten ber\u00fccksichtigen.<a href=\"#_ftn3\" id=\"_ftnref3\">[3]<\/a>&nbsp;<\/p>\n\n\n\n<p>Eine bew\u00e4hrte Methode zur Skalierung von Anwendungen ist das Scale Cube Modell, das drei verschiedene Skalierungsans\u00e4tze definiert.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2025\/02\/image-25.png\"><img loading=\"lazy\" decoding=\"async\" width=\"803\" height=\"533\" data-attachment-id=\"27596\" data-permalink=\"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2025\/02\/28\/einsatz-von-kunstlicher-intelligenz-zur-automatischen-skalierung-von-kubernetes-clustern\/image-110\/\" data-orig-file=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2025\/02\/image-25.png\" data-orig-size=\"803,533\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"image\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2025\/02\/image-25.png\" src=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2025\/02\/image-25.png\" alt=\"\" class=\"wp-image-27596\" srcset=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2025\/02\/image-25.png 803w, https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2025\/02\/image-25-300x199.png 300w, https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2025\/02\/image-25-768x510.png 768w\" sizes=\"auto, (max-width: 803px) 100vw, 803px\" \/><\/a><\/figure>\n\n\n\n<p class=\"has-text-align-center\">Abbildung 1: Das Scale Cube Modell zur Software-Architektur.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>X-Achsen-Skalierung (Horizontal Duplication)<\/strong>: Hierbei werden mehrere identische Instanzen einer Anwendung hinter einem Load Balancer betrieben, um die Kapazit\u00e4t und Verf\u00fcgbarkeit zu erh\u00f6hen.<\/li>\n\n\n\n<li><strong>Z-Achsen-Skalierung (Data Partitioning)<\/strong>: In diesem Modell werden Anfragen basierend auf einer bestimmten Datenattribut (z. B. userId) an dedizierte Instanzen weitergeleitet, wodurch die Effizienz bei gro\u00dfen Datenmengen verbessert wird.<\/li>\n\n\n\n<li><strong>Y-Achsen-Skalierung (Functional Decomposition)<\/strong>: Diese Methode unterteilt eine monolithische Anwendung in verschiedene Microservices, die unabh\u00e4ngig voneinander skaliert werden k\u00f6nnen. Dadurch wird die Entwicklung und Wartung erleichtert.<a id=\"_ftnref4\" href=\"#_ftn4\">[4]<\/a><\/li>\n<\/ul>\n\n\n\n<p>Kubernetes bietet eine Vielzahl von Tools zur Implementierung dieser Skalierungsstrategien, darunter:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Horizontal Pod Autoscaler (HPA):<\/strong> Dieser unterst\u00fctzt die Hochverf\u00fcgbarkeit, indem er die Anzahl der Pods also die Anzahl der ausf\u00fchrbaren Einheiten auf Grundlage verschiedener vordefinierten Metriken wie z.B CPU- und Speicherauslastung dynamisch anpasst.<\/li>\n\n\n\n<li><strong>Vertical Pod Autoscaler (VPA)<\/strong>: Diese Methode \u00e4ndert die Spezifikationen der Ressourcenanforderungen f\u00fcr bestehende Pods und h\u00e4lt die Anzahl der funktionierenden Pods aufrecht. Dies ist besonders vorteilhaft f\u00fcr Workloads mit stark schwankenden Ressourcenbedarf.<\/li>\n\n\n\n<li><strong>Cluster Autoscaler (CA)<\/strong>: Dieser skaliert die Anzahl der Worker-Knoten, die die eigentlichen Container-Workloads ausf\u00fchren, indem er neue Knoten hinzuf\u00fcgt oder ungenutzte Knoten entfernt.<a id=\"_ftnref5\" href=\"#_ftn5\">[5]<\/a><\/li>\n<\/ul>\n\n\n\n<p>Durch die Kombination dieser Skalierungsmechanismen erm\u00f6glicht Kubernetes eine effiziente und dynamische Ressourcennutzung.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Stand der Forschung und Technologische L\u00f6sungen<\/h2>\n\n\n\n<p>Nachdem die verschiedenen Mechanismen von Kubernetes nun erl\u00e4utert wurden, ist es essenziell, die Methoden der automatischen Skalierung im Hinblick auf Timing zu betrachten. Insbesondere lassen sich die genannten Ans\u00e4tze in reaktive und proaktive Skalierung unterteilen, die jeweils unterschiedliche Herangehensweisen verfolgen.<\/p>\n\n\n\n<p>Die reaktive Skalierung ist der standardm\u00e4\u00dfig implementierte Ansatz in Kubernetes. Hierbei werden Skalierungsentscheidung, beispielsweise durch den Horizontal Pod Autoscaler, basierend auf bereits gemessenen Lastwerten getroffen. Sobald die Last von CPU- oder Speichernutzung also vordefinierte Schwellenwerte \u00fcberschreiten, werden Instanzen entweder gestartet oder gestoppt. Nachteile dieses Verfahren bestehen in der Verz\u00f6gerung, die geschieht, weil die Skalierung erst unmittelbar nach einem Lastszenario erfolgt und es dann einige Zeit dauert bis die zus\u00e4tzlichen Ressourcen zur Verf\u00fcgung stehen. Wegen dieser tempor\u00e4ren Leistungseinb\u00fc\u00dfe eignet sich die reaktive Skalierung eher f\u00fcr Workloads mit einer langsam ansteigenden Last, bei denen eine kurze Verz\u00f6gerung weniger auff\u00e4llt.<\/p>\n\n\n\n<p>Die folgende Abbildung verdeutlicht das Konzept der reaktiven Skalierung:<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2025\/02\/image-26.png\"><img loading=\"lazy\" decoding=\"async\" width=\"770\" height=\"439\" data-attachment-id=\"27597\" data-permalink=\"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2025\/02\/28\/einsatz-von-kunstlicher-intelligenz-zur-automatischen-skalierung-von-kubernetes-clustern\/image-111\/\" data-orig-file=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2025\/02\/image-26.png\" data-orig-size=\"770,439\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"image\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2025\/02\/image-26.png\" src=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2025\/02\/image-26.png\" alt=\"\" class=\"wp-image-27597\" srcset=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2025\/02\/image-26.png 770w, https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2025\/02\/image-26-300x171.png 300w, https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2025\/02\/image-26-768x438.png 768w\" sizes=\"auto, (max-width: 770px) 100vw, 770px\" \/><\/a><\/figure>\n\n\n\n<p class=\"has-text-align-center\">Abbildung 2: Reaktives Skalieren basierend auf CPU-Last \u00fcber die Zeit.<\/p>\n\n\n\n<p>Hier l\u00e4sst sich deutlich erkennen, dass die Skalierung erst auf Grundlage bestehender Metriken erfolgt. Trotz ansteigender CPU-Last werden Instanzen erst nach dem Erreichen bestimmter Lastwerte bereitgestellt.<\/p>\n\n\n\n<p>Im Gegensatz zur reaktiven Skalierung basiert die proaktive Skalierung auf einer vorausschauenden Analyse der Lastentwicklung und bildet die Basis f\u00fcr den Einsatz von maschinellem Lernen in diesem Bereich<a href=\"#_ftn6\" id=\"_ftnref6\">[6]<\/a>. Hierbei k\u00f6nnen zuk\u00fcnftige Lastspitzen fr\u00fchzeitig erkannt und rechtzeitig Ressourcen bereitgestellt werden, um Systemauslastungsmuster zu erkennen. Diese Vermeidung von Verz\u00f6gerung ist ein klarer Vorteil der proaktiven Skalierung und f\u00fchrt zu einer stabileren Systemleistung. Allerdings setzt diese Methode auf eine hohe Vorhersagegenauigkeit des verwendeten Modells voraus, da Fehlvorhersagen zu einer ineffizienten Ressourcennutzung f\u00fchren.<a href=\"#_ftn7\" id=\"_ftnref7\">[7]<\/a>&nbsp; &nbsp;<\/p>\n\n\n\n<p>Die folgende Abbildung zeigt die Funktionsweise der proaktiven Skalierung:<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full is-resized\"><a href=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2025\/02\/image-27.png\"><img loading=\"lazy\" decoding=\"async\" width=\"839\" height=\"448\" data-attachment-id=\"27598\" data-permalink=\"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2025\/02\/28\/einsatz-von-kunstlicher-intelligenz-zur-automatischen-skalierung-von-kubernetes-clustern\/image-112\/\" data-orig-file=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2025\/02\/image-27.png\" data-orig-size=\"839,448\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"image\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2025\/02\/image-27.png\" src=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2025\/02\/image-27.png\" alt=\"\" class=\"wp-image-27598\" style=\"width:839px;height:auto\" srcset=\"https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2025\/02\/image-27.png 839w, https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2025\/02\/image-27-300x160.png 300w, https:\/\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2025\/02\/image-27-768x410.png 768w\" sizes=\"auto, (max-width: 839px) 100vw, 839px\" \/><\/a><\/figure>\n\n\n\n<p class=\"has-text-align-center\">Abbildung 3: Proaktives Skalieren basierend auf vorhergesagter CPU-Last.<\/p>\n\n\n\n<p>Hier wird deutlich, dass nicht erst bei steigender Last eine Skalierung erfolgt, sondern aufgrund von Vorhersagen.<\/p>\n\n\n\n<p>K\u00fcnstliche Intelligenz und besonders maschinelles Lernen spielt also eine zunehmend wichtige Rolle, um die Genauigkeit von Skalierungsvorhersagen zu verbessern und bietet damit eine vielversprechende M\u00f6glichkeit im Gegensatz zu regelbasierten Systemen die Effizienz durch Analyse von Lastmustern zu optimieren. Maschinelles Lernen l\u00e4sst sich in \u00fcberwachtes, un\u00fcberwachtes und verst\u00e4rkendes (Reinforcement) Lernen unterteilen, wobei un\u00fcberwachtes Lernen zum Beispiel f\u00fcr die Vorhersage von Lastspitzen durch regressive Modelle besonders relevant f\u00fcr Kubernetes-Auto-Scaling ist. Ebenso relevant ist das Reinforced Learning, in dem es kontinuierlich aus den Systemreaktionen lernt.<a href=\"#_ftn8\" id=\"_ftnref8\">[8]<\/a> Diese Techniken helfen dabei eine dynamische, adaptive Skalierung zu erreichen die auch komplexe Muster erkennen und sich somit an die unterschiedlichsten Workloads anpassen k\u00f6nnen.<\/p>\n\n\n\n<p>Heutige Kubernetes-Implementierungen setzen vermehrt auf eine reaktive Skalierung, obwohl diese Vorgehensweise Verz\u00f6gerungen hervorbringt, da Ressourcen wie bereits erw\u00e4hnt erst nach dem Erreichen definierter Lastwerte bereitgestellt werden. Um dieser beeintr\u00e4chtigenden Wirkung auf die Servicequalit\u00e4t (QoS) entgegenzuwirken, fokussiert sich die aktuelle Forschung zunehmend auf die proaktive Skalierung. Im Folgenden werden diese Fortschritte und die damit entstandenen KI-gest\u00fctzten Skalierungsmethoden detailliert betrachtet und deren Effektivit\u00e4t im Kubernetes-Umfeld bewertet.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong><strong>Zeitreihenbasierte Vorhersagemodelle<\/strong><\/strong><\/h3>\n\n\n\n<p>Sie sind einer der am h\u00e4ufigsten untersuchten Methoden und dienen zur Verbesserung des Auto-Scaling-Prozesses. Basierend auf der Annahme, dass Workloads vorhersagbar und mustergesteuert sind, erwies es sich als besserer Ansatz im Gegensatz zum traditionellen Ansatz. Einige der etablierten Modelle sind:<ul><li><strong>Auto Regressive Integrated Moving Average (ARIMA):<\/strong> Dieses am h\u00e4ufigsten verwendete Zeitreihenmodel analysiert Muster und erm\u00f6glicht die Vorhersage von zuk\u00fcnftigen Workload-Schwankungen und zeigt sich besonders leistungsf\u00e4hig in station\u00e4ren Zeitreihen<a id=\"_ftnref9\" href=\"#_ftn9\">[9]<\/a>. Eine aktuelle Forschung schl\u00e4gt au\u00dferdem eine optimierte Skalierung durch das EMD-ARIMA-Modell vor, welches eine Kombination des Empirical Mode Decomposition (EMD) und ARIMA darstellt und verbessertes proaktives Autoscaling verspricht, in dem es zur Analyse nicht station\u00e4rer Zeitreihen hilft und st\u00f6rende Workload-Schwankungen gl\u00e4ttet.<a id=\"_ftnref10\" href=\"#_ftn10\">[10]<\/a><\/li><\/ul><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Exponential Smoothing (ES) und Double Exponential Smoothing (DES)<\/strong>: Diese Methoden sind ebenfalls weit verbreitet und gewichten vergangene Daten exponentiell abnehmend, sodass neuere Werte einen st\u00e4rkeren Einfluss auf zuk\u00fcnftige Prognosen haben. W\u00e4hrend das ES vor allem f\u00fcr station\u00e4re Zeitreihen verwendet wird, wurde das DES entwickelt, um auch Trends in Daten zu ber\u00fccksichtigen und damit eine h\u00f6here Vorhersagegenauigkeit als einfache exponentielle Gl\u00e4ttungen zu bieten.<a id=\"_ftnref11\" href=\"#_ftn11\">[11]<\/a> \u00a0<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong><strong><strong>Neuronale Netze und Deep Learning Verfahren<\/strong><\/strong><\/strong><\/h3>\n\n\n\n<p>Sie haben sich als leistungsf\u00e4hige Alternative insbesondere bei nicht-linearen und hochdynamischen Workloads gezeigt. In der Forschung werden auch hier mehrere Architekturen evaluiert:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong style=\"background-color: var(--wp--preset--color--base);color: var(--wp--preset--color--contrast);font-family: var(--wp--preset--font-family--system-font);font-size: var(--wp--preset--font-size--medium)\">Long Short-Term Memory (LSTM)-Netzwerke:<\/strong><span style=\"background-color: var(--wp--preset--color--base);color: var(--wp--preset--color--contrast);font-family: var(--wp--preset--font-family--system-font);font-size: var(--wp--preset--font-size--medium)\"> Diese rekurrenten neuronale Netze wurden speziell f\u00fcr die Modellierung von langfristigen Zeitreihen entwickelt und stellen sich damit als besonders geeignet f\u00fcr Kubernetes heraus, da sowohl kurzfristige als auch langfristige Workload-Abh\u00e4ngigkeiten erlernt werden k\u00f6nnen. Durch die Erweiterung des Bi-LSTM, werden Daten nicht nur vorw\u00e4rts, sondern auch r\u00fcckw\u00e4rts verarbeitet, wodurch weitere Kontextinformationen erlernt werden, und eine noch h\u00f6here Prognosegenauigkeit erreicht wird.<\/span><\/li>\n\n\n\n<li><strong style=\"background-color: var(--wp--preset--color--base);color: var(--wp--preset--color--contrast);font-family: var(--wp--preset--font-family--system-font);font-size: var(--wp--preset--font-size--medium)\">Multilayer Perceptrons (MLP) und Convolutional Neural Networks:<\/strong><span style=\"background-color: var(--wp--preset--color--base);color: var(--wp--preset--color--contrast);font-family: var(--wp--preset--font-family--system-font);font-size: var(--wp--preset--font-size--medium)\"> MLP`s sind feedforward neuronale Netze, die in mehreren Schichten aus Neuronen organisiert sind. Sie zeigten sich besonders geeignet, um nicht-lineare Zusammenh\u00e4nge in Skalierungsprognosen zu modellieren und Vorhersagen zur CPU, dem Speicher- und der Bandbreitennutzung in Kubernetes-Clustern zu treffen. Obwohl CNNs traditionell f\u00fcr Bildverarbeitung eingesetzt werden, haben sie sich durch ihre Faltungsoperationen erwiesen auch Muster in Workload-Daten zu extrahieren und hochfrequente Ressourcen-Schwankungen zu erkennen. In Kubernetes-Auto-Scaling-Anwendungen wurden 1D-CNNs erfolgreich zur Vorhersage von Workload-\u00c4nderungen eingesetzt.<\/span><a id=\"_ftnref12\" style=\"background-color: var(--wp--preset--color--base);font-family: var(--wp--preset--font-family--system-font);font-size: var(--wp--preset--font-size--medium)\" href=\"#_ftn12\">[12]<\/a><\/li>\n\n\n\n<li><strong>Ensemble-Methoden: <\/strong>Sie sind eine vielversprechende Strategie, die darin besteht, mehrere heterogene ML-Modelle wie zum Beispiel LSTM, ARIMA und Random Forest zu kombinieren und damit die Gesamtleistung zu verbessern.<a id=\"_ftnref13\" href=\"#_ftn13\">[13]<\/a><\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong><strong><strong><strong>Reinforcement Learning (RL)<\/strong><\/strong><\/strong><\/strong><\/h3>\n\n\n\n<p>Gewinnt zunehmend an Bedeutung in der Forschung, da es eine adaptive und selbst lernende Steuerung von Ressourcen erm\u00f6glicht.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Deep Q-Networks (DQN): <\/strong>Diese Architektur kombiniert neuronale Netzwerke mit Q-Learning und hat sich in Experimenten als effizient erwiesen, um komplexe Skalierungsentscheidungen zu treffen.Um die Skalierungsleistung weiter zu optimieren, wurden fortgeschrittene Varianten von DQN entwickelt:<ul><li>Double DQN (DDQN): Reduziert die \u00dcberbewertung von Aktionen, indem zwei separate Q-Netzwerke verwendet werden \u2013 eines zur Aktionsauswahl und eines zur Bewertung der Belohnungen.<\/li><\/ul>\n<ul class=\"wp-block-list\">\n<li>Dueling DQN: Trennt den Entscheidungsprozess in zwei Netzwerke: eines f\u00fcr die Bewertung des aktuellen Zustands und eines f\u00fcr die Bestimmung der besten Skalierungsaktion. Dies verbesserten die Effizienz und Stabilit\u00e4t der Entscheidungsfindung<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Konzeption einer KI-basierten Auto-Scaling-L\u00f6sung<\/h2>\n\n\n\n<p>F\u00fcr eine Umsetzung in Kubernetes ist eine Architektur erforderlich, die verschiedene Komponenten integriert, Lastdaten erfasst, analysiert und darauf basierend dynamische Scaling-Entscheidungen trifft. Dabei ist es erforderlich, dass Kubernetes-eigene Skalierungsmechanismen eng mit externen KI-gest\u00fctzten Modellen arbeiten, um somit Ressourcen effektiv und adaptiv bereitzustellen. Ein typisches Implementierungskonzept besteht aus den folgenden Kernkomponenten:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Datenquellen und Metrik-Sammlung:<\/strong> Eine zuverl\u00e4ssige Datenerfassung bildet die Basis f\u00fcr eine intelligente Skalierung. Kubernetes bietet hierf\u00fcr integrierte Dienste wie den Metrics Server<a id=\"_ftnref14\" href=\"#_ftn14\">[14]<\/a>, welcher Echtzeit-CPU- und -Speicherwerte bereitstellt. Diese werden jedoch f\u00fcr eine tiefere Analyse von externen Monitoring-Systemen wie Prometheus<a id=\"_ftnref15\" href=\"#_ftn15\">[15]<\/a> genutzt und persistent gespeichert.<\/li>\n\n\n\n<li><strong>Vorverarbeitung und Datenanalyse:<\/strong> Nach dem Erfassen der Metriken m\u00fcssen diese f\u00fcr das maschinelle Lernen aufbereitet werden. Hierzu werden die Daten in zentralen Datenbanken gespeichert und anschlie\u00dfend Methoden der Datenbereinigung, Normalisierung und des Feature-Engineerings angewandt, um eine hohe Vorhersagegenauigkeit zu gew\u00e4hrleisten. F\u00fcr Kubernetes erfolgt dies h\u00e4ufig mit Hilfe von Apache Kafka oder Flink<a id=\"_ftnref16\" href=\"#_ftn16\">[16]<\/a><a id=\"_ftnref17\" href=\"#_ftn17\">[17]<\/a>, die eine Datenverarbeitung in Echtzeit erm\u00f6glichen.<\/li>\n\n\n\n<li><strong>Maschinelles Lernmodell:<\/strong> Die Lastprognose ist der Kern dieser Implementierung und kann durch verschiedene Algorithmen entweder in einem dedizierten Kubernetes-Pod oder als externer Machine-Learning-Service (z. B. \u00fcber TensorFlow Serving oder MLflow)<a id=\"_ftnref18\" href=\"#_ftn18\">[18]<\/a><a id=\"_ftnref19\" href=\"#_ftn19\">[19]<\/a> betrieben werden. Die verschiedenen Algorithmen wurden im vorherigen Abschnitt behandelt.<\/li>\n\n\n\n<li><strong>Entscheidungs- und Steuerungsebene:<\/strong> Das trainierte Modell gibt Vorhersagen zur Systemlast aus, die nun in konkrete Skalierungsentscheidungen umgewandelt werden m\u00fcssen. Hierf\u00fcr kann ein Custom Controller oder ein Operator<a id=\"_ftnref20\" href=\"#_ftn20\">[20]<\/a> in Kubernetes implementiert werden, der dann entsprechende Kubernetes-API-Aufrufe basierend auf den Vorhersagen ausf\u00fchrt, um die Skalierung einzuleiten. Ein m\u00f6glicher Ansatz w\u00e4re die Integration eines Horizontal Pod Autoscalers mit einem externen Custom Metrics Provider, welcher die KI-basierten Prognosen als Entscheidungsgrundlage nutzt.<\/li>\n\n\n\n<li><strong>Deployment und Integration<\/strong>: Die gesamte Architektur wird in Kubernetes als Microservice-basierte L\u00f6sung implementiert. Dabei kann eine typische Pipeline folgenderma\u00dfen aufgebaut sein:\n<ul class=\"wp-block-list\">\n<li><span style=\"background-color: var(--wp--preset--color--base);color: var(--wp--preset--color--contrast);font-family: var(--wp--preset--font-family--system-font);font-size: var(--wp--preset--font-size--medium)\">Prometheus oder InfluxDB sammelt Metriken.<\/span><\/li>\n\n\n\n<li><span style=\"background-color: var(--wp--preset--color--base);color: var(--wp--preset--color--contrast);font-family: var(--wp--preset--font-family--system-font);font-size: var(--wp--preset--font-size--medium)\">Apache Kafka oder Flink verarbeitet Echtzeit-Daten.<\/span><\/li>\n\n\n\n<li><span style=\"background-color: var(--wp--preset--color--base);color: var(--wp--preset--color--contrast);font-family: var(--wp--preset--font-family--system-font);font-size: var(--wp--preset--font-size--medium)\">Ein Machine-Learning-Service f\u00fchrt Modell-Inferenzen aus.<\/span><\/li>\n\n\n\n<li>Ein Custom Controller oder Operator steuert die Skalierung \u00fcber die Kubernetes-API.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Fazit und Ausblick<\/h2>\n\n\n\n<p>Auto-Scaling von Kubernetes-Clustern ist ein sehr zentraler Bestandteil moderner Cloud-Umgebungen, um Ressourcen zu Webanfragen effizient zu managen und die Betriebskosten zu optimieren. W\u00e4hrend traditionelle Skalierungsmechanismen wie der HPA oder der CA auf statischen Regeln basieren, zeigt die Forschung immer mehr Fortschritte in KI-gest\u00fctzten Methoden und bietet damit neue, flexiblere und genauere Strategien zur Bew\u00e4ltigung der Cluster-Skalierung.<br>Durch den Einsatz von Machine und Reinforcement Learning kann eine proaktive Skalierung realisiert werden, die Lastver\u00e4nderungen pr\u00e4zise vorhersagt und adaptiv anpasst. Insbesondere Verfahren wie LSTM, ARIMA und Exponential Smoothing haben sich als vielversprechende Alternativen erwiesen.<\/p>\n\n\n\n<p>Zusammenfassend l\u00e4sst sich feststellen, dass KI-basierte Auto-Scaling-L\u00f6sungen das Potenzial haben, solche Systeme intelligenter und ressourcenschonender zu verwalten und auch zuk\u00fcnftig verst\u00e4rkt in Forschungen vorkommen sollten, damit sie eine breite Akzeptanz in der Praxis finden.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">Literaturverzeichnis<\/h2>\n\n\n\n<p><a href=\"#_ftnref1\" id=\"_ftn1\">[1]<\/a> Hohn, A., &amp; Gupta, A. (Jahr). <em>Getting Started with Kubernetes<\/em>. Packt 2017<\/p>\n\n\n\n<p><a href=\"#_ftnref2\" id=\"_ftn2\">[2]<\/a> Velepucha, Victor &amp; Flores, Pamela. (2023). A Survey on Microservices Architecture: Principles, Patterns and Migration Challenges. IEEE Access. PP. 1-1. 10.1109\/ACCESS.2023.3305687.<\/p>\n\n\n\n<p><a href=\"#_ftnref3\" id=\"_ftn3\">[3]<\/a> Burns, B., Beda, J., Hightower, K., &amp; Evenson, L. <em>Kubernetes: Eine kompakte Einf\u00fchrung<\/em>. Dpunkt.verlag 2023<\/p>\n\n\n\n<p><a href=\"#_ftnref4\" id=\"_ftn4\">[4]<\/a> Chris Richardson. microservices patterns. manning publications, 2018.<\/p>\n\n\n\n<p><a href=\"#_ftnref5\" id=\"_ftn5\">[5]<\/a> Nguyen, T.-T.; Yeom, Y.-J.; Kim, T.; Park, D.-H.; Kim, S. Horizontal Pod Autoscaling in Kubernetes for Elastic Container Orchestration.&nbsp;<em>Sensors<\/em>&nbsp;<strong>2020<\/strong>,&nbsp;<em>20<\/em>, 4621. https:\/\/doi.org\/10.3390\/s20164621<\/p>\n\n\n\n<p><a href=\"#_ftnref6\" id=\"_ftn6\">[6]<\/a> Ajila, S. A., &amp; Bankole, A. A. (2013). Cloud client prediction models using machine learning techniques. <em>Proceedings of the 2013 IEEE 37th Annual Computer Software and Applications Conference (COMPSAC)<\/em>, 2013<\/p>\n\n\n\n<p><a href=\"#_ftnref7\" id=\"_ftn7\">[7]<\/a> Aslanpour, M. S. &amp; Dashti, S. E. (2017). Proactive Auto-Scaling Algorithm (PASA) for Cloud Application.&nbsp;<em>International Journal of Grid and High Performance Computing (IJGHPC), 9<\/em>(3),<\/p>\n\n\n\n<p><a href=\"#_ftnref8\" id=\"_ftn8\">[8]<\/a> Alam, Azmir. (2023). What is Machine Learning?. 10.5281\/zenodo.8231580.<\/p>\n\n\n\n<p><a href=\"#_ftnref9\" id=\"_ftn9\">[9]<\/a> Al-Qazzaz, Redha &amp; Yousif, Suhad. (2022). High performance time series models using auto autoregressive integrated moving average. Indonesian Journal of Electrical Engineering and Computer Science. 27. 422. 10.11591\/ijeecs.v27.i1.pp422-430.<\/p>\n\n\n\n<p><a href=\"#_ftnref10\" id=\"_ftn10\">[10]<\/a> Zhao, Anqi &amp; Huang, Qiang &amp; Huang, Yiting &amp; Zou, Lin &amp; Chen, Zhengxi &amp; Song, Jianghang. (2019). Research on Resource Prediction Model Based on Kubernetes Container Auto-scaling Technology. IOP Conference Series: Materials Science and Engineering. 569. 052092. 10.1088\/1757-899X\/569\/5\/052092.<\/p>\n\n\n\n<p><a href=\"#_ftnref11\" id=\"_ftn11\">[11]<\/a> Aimran, Ahmad. (2014). A comparison between single exponential smoothing (SES), double exponential smoothing (DES), holt\u2019s (brown) and adaptive response rate exponential smoothing (ARRES) techniques in forecasting Malaysia population. Global Journal of Mathematical Analysis. 2. 276-280. 10.14419\/gjma.v2i4.3253.<\/p>\n\n\n\n<p><a href=\"#_ftnref12\" id=\"_ftn12\">[12]<\/a> Dang-Quang, Nhat-Minh &amp; Yoo, Myungsik. (2021). Deep Learning-Based Autoscaling Using Bidirectional Long Short-Term Memory for Kubernetes. Applied Sciences (Switzerland). 11. 10.3390\/app11093835.<\/p>\n\n\n\n<p><a href=\"#_ftnref13\" id=\"_ftn13\">[13]<\/a> Pereira da Silva, Thiago &amp; Batista, Tha\u00eds &amp; Delicato, Flavia &amp; Pires, Paulo. (2023). An Online Ensemble Method for Auto-scaling NFV-based Applications in the Edge. 10.21203\/rs.3.rs-3490431\/v1.<\/p>\n\n\n\n<p><a href=\"#_ftnref14\" id=\"_ftn14\">[14]<\/a> Kubernetes. (n.d.). <em>Metrics Server.<\/em> Retrieved February 15, 2025, from <a href=\"https:\/\/kubernetes.io\/docs\/tasks\/debug\/debug-cluster\/resource-metrics-pipeline\/\">https:\/\/kubernetes.io\/docs\/tasks\/debug\/debug-cluster\/resource-metrics-pipeline\/<\/a>.<\/p>\n\n\n\n<p><a href=\"#_ftnref15\" id=\"_ftn15\">[15]<\/a> Prometheus. (n.d.). <em>Prometheus \u2013 Monitoring System &amp; Time Series Database.<\/em> Retrieved February 15, 2025, from <a href=\"https:\/\/prometheus.io\/\">https:\/\/prometheus.io\/<\/a>.<\/p>\n\n\n\n<p><a href=\"#_ftnref16\" id=\"_ftn16\">[16]<\/a> Ververica. (2023). <em>Apache Flink and Prometheus: Monitoring Streaming Applications.<\/em> Retrieved February 14, 2025, from <a href=\"https:\/\/www.ververica.com\/blog\/apache-flink-and-prometheus-monitoring-streaming-applications\">https:\/\/www.ververica.com\/blog\/apache-flink-and-prometheus-monitoring-streaming-applications<\/a>.<\/p>\n\n\n\n<p><a href=\"#_ftnref17\" id=\"_ftn17\">[17]<\/a> Apache Software Foundation. (n.d.). <em>Apache Kafka \u2013 A Distributed Streaming Platform.<\/em> Retrieved February 15, 2025, from <a href=\"https:\/\/kafka.apache.org\/\">https:\/\/kafka.apache.org\/<\/a>.<\/p>\n\n\n\n<p><a href=\"#_ftnref18\" id=\"_ftn18\">[18]<\/a> Databricks. (n.d.). <em>MLflow: An Open-Source Platform for the Machine Learning Lifecycle.<\/em> Retrieved February 14, 2025, from <a href=\"https:\/\/mlflow.org\/\">https:\/\/mlflow.org\/<\/a>.<\/p>\n\n\n\n<p><a href=\"#_ftnref19\" id=\"_ftn19\">[19]<\/a> Google. (n.d.). <em>TensorFlow Serving \u2013 Flexible, high-performance ML model serving.<\/em> Retrieved February 15, 2025, from <a href=\"https:\/\/www.tensorflow.org\/tfx\/guide\/serving\">https:\/\/www.tensorflow.org\/tfx\/guide\/serving<\/a>.<\/p>\n\n\n\n<p><a href=\"#_ftnref20\" id=\"_ftn20\">[20]<\/a> Kubernetes. (n.d.). <em>Custom Controllers and Operators.<\/em> Retrieved February 15, 2025, from <a href=\"https:\/\/kubernetes.io\/docs\/concepts\/extend-kubernetes\/operator\/\">https:\/\/kubernetes.io\/docs\/concepts\/extend-kubernetes\/operator\/<\/a>.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">Abbildungsverzeichnis<\/h2>\n\n\n\n<p><strong>Abbildung 1:<\/strong> \u0413\u0443\u0442\u043c\u0430\u043d, \u0414 &amp; \u0421\u0438\u0440\u043e\u0442\u0430, O.. (2023). \u041f\u0440\u043e\u0430\u043a\u0442\u0438\u0432\u043d\u0435 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u043d\u0435 \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0443\u0432\u0430\u043d\u043d\u044f \u0432\u0432\u0435\u0440\u0445 \u0434\u043b\u044f Kuberneters. \u0410\u0434\u0430\u043f\u0442\u0438\u0432\u043d\u0456 \u0441\u0438\u0441\u0442\u0435\u043c\u0438 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u043d\u043e\u0433\u043e \u0443\u043f\u0440\u0430\u0432\u043b\u0456\u043d\u043d\u044f. 1. 32-38. 10.20535\/1560-8956.42.2023.278925.<\/p>\n\n\n\n<p><strong>Abbildung 2:<\/strong> \u0413\u0443\u0442\u043c\u0430\u043d, \u0414 &amp; \u0421\u0438\u0440\u043e\u0442\u0430, O.. (2023). \u041f\u0440\u043e\u0430\u043a\u0442\u0438\u0432\u043d\u0435 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u043d\u0435 \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0443\u0432\u0430\u043d\u043d\u044f \u0432\u0432\u0435\u0440\u0445 \u0434\u043b\u044f Kuberneters. \u0410\u0434\u0430\u043f\u0442\u0438\u0432\u043d\u0456 \u0441\u0438\u0441\u0442\u0435\u043c\u0438 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u043d\u043e\u0433\u043e \u0443\u043f\u0440\u0430\u0432\u043b\u0456\u043d\u043d\u044f. 1. 32-38. 10.20535\/1560-8956.42.2023.278925. <\/p>\n\n\n\n<p><strong>Abbildung 3:<\/strong> Richardson, C. (2018). <em>Microservices patterns<\/em>. Manning Publications.<\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Anmerkung:&nbsp;Dieser Blogpost wurde f\u00fcr das Modul Enterprise IT (113601a) verfasst.Aus Gr\u00fcnden der besseren Lesbarkeit wird in dieser Arbeit auf eine geschlechtsneutrale Differenzierung verzichtet. S\u00e4mtliche Personenbezeichnungen gelten gleicherma\u00dfen f\u00fcr alle Geschlechter. Kurzfassung Die Branche der fortschreitenden Cloud Digitalisierung und die steigenden Anforderungen an hochverf\u00fcgbaren, skalierbaren Anwendungen haben Kubernetes zu einer der f\u00fchrenden Container-Orchestratoren gemacht. Eines der [&hellip;]<\/p>\n","protected":false},"author":1256,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[1],"tags":[1097,1031,154,1098,57,91],"ppma_author":[1093],"class_list":["post-27583","post","type-post","status-publish","format-standard","hentry","category-allgemein","tag-autoscaling","tag-enterprise-it","tag-kubernetes","tag-kunstlicher-intelligenz","tag-machine-learning","tag-microservices"],"aioseo_notices":[],"jetpack_featured_media_url":"","jetpack-related-posts":[{"id":26208,"url":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2024\/02\/29\/die-meere-der-systemtechnik-navigieren-eine-reise-durch-die-bereitstellung-einer-aktien-webanwendung-in-der-cloud\/","url_meta":{"origin":27583,"position":0},"title":"Die Meere der Systemtechnik navigieren: Eine Reise durch die Bereitstellung einer Aktien-Webanwendung in der Cloud","author":"mk306","date":"29. February 2024","format":false,"excerpt":"Auf zu neuen Ufern: Einleitung Die Cloud-Computing-Technologie hat die Art und Weise, wie Unternehmen Anwendungen entwickeln, bereitstellen und skalieren, revolutioniert. In diesem Beitrag, der im Rahmen der Vorlesung \u201c143101a System Engineering und Management\u201d entstanden ist, werden wir uns darauf konzentrieren, wie eine bereits bestehende Webanwendung zur Visualisierung und Filterung von\u2026","rel":"","context":"In &quot;Cloud Technologies&quot;","block_context":{"text":"Cloud Technologies","link":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/category\/scalable-systems\/cloud-technologies\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2024\/02\/Dashboard2-Kopie-1.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2024\/02\/Dashboard2-Kopie-1.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2024\/02\/Dashboard2-Kopie-1.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2024\/02\/Dashboard2-Kopie-1.png?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2024\/02\/Dashboard2-Kopie-1.png?resize=1050%2C600&ssl=1 3x, https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2024\/02\/Dashboard2-Kopie-1.png?resize=1400%2C800&ssl=1 4x"},"classes":[]},{"id":23412,"url":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2022\/08\/22\/migration-einer-rest-api-in-die-cloud\/","url_meta":{"origin":27583,"position":1},"title":"Migration einer REST API in die Cloud","author":"Raphael Kienh\u00f6fer","date":"22. August 2022","format":false,"excerpt":"Im Rahmen der Vorlesung \"Software Development f\u00fcr Cloud Computing\" haben wir uns zum Ziel gesetzt, eine bereits bestehende REST API in die Cloud zu migrieren.","rel":"","context":"In &quot;Cloud Technologies&quot;","block_context":{"text":"Cloud Technologies","link":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/category\/scalable-systems\/cloud-technologies\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2022\/08\/OnPrem.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2022\/08\/OnPrem.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2022\/08\/OnPrem.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2022\/08\/OnPrem.png?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":26855,"url":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2025\/02\/25\/kunstliche-intelligenz-nachhaltige-innovation-fur-unternehmen-oder-klimakiller\/","url_meta":{"origin":27583,"position":2},"title":"K\u00fcnstliche Intelligenz: Nachhaltige Innovation f\u00fcr Unternehmen oder Klimakiller?","author":"Julia Ebert","date":"25. February 2025","format":false,"excerpt":"Anmerkung: Dieser Blogpost wurde f\u00fcr das Modul Enterprise IT (113601a) verfasst.Aus Gr\u00fcnden der besseren Lesbarkeit wird in dieser Arbeit auf eine geschlechtsneutrale Differenzierung verzichtet. S\u00e4mtliche Personenbezeichnungen gelten gleicherma\u00dfen f\u00fcr alle Geschlechter.K\u00fcnstliche Intelligenz (kurz: KI, engl.: Artificial Intelligence \/ AI) z\u00e4hlt mittlerweile zu den bedeutendsten Technologien unserer Zeit und findet zunehmend\u2026","rel":"","context":"In &quot;Allgemein&quot;","block_context":{"text":"Allgemein","link":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/category\/allgemein\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2025\/02\/unnamed.webp?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2025\/02\/unnamed.webp?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2025\/02\/unnamed.webp?resize=525%2C300&ssl=1 1.5x"},"classes":[]},{"id":22623,"url":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2022\/03\/30\/webassembly-das-neue-docker-und-noch-mehr\/","url_meta":{"origin":27583,"position":3},"title":"WebAssembly: Das neue Docker und noch mehr?","author":"Raphael Wettinger","date":"30. March 2022","format":false,"excerpt":"If WASM+WASI existed in 2008, we wouldn't have needed to created Docker. That's how important it is. Webassembly on the server is the future of computing. A standardized system interface was the missing link. Let's hope WASI is up to the task! Tweet, Solomon Hykes (Erfinder von Docker), 2019 Dieser\u2026","rel":"","context":"In &quot;Cloud Technologies&quot;","block_context":{"text":"Cloud Technologies","link":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/category\/scalable-systems\/cloud-technologies\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2022\/03\/rancher_blog_01-rancher-k8s-node-components-architecture.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2022\/03\/rancher_blog_01-rancher-k8s-node-components-architecture.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2022\/03\/rancher_blog_01-rancher-k8s-node-components-architecture.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2022\/03\/rancher_blog_01-rancher-k8s-node-components-architecture.png?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":28823,"url":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2026\/02\/28\/morehuehner-ein-moorhuhn-remake-als-cloud-native-multiplayer-browsergame\/","url_meta":{"origin":27583,"position":4},"title":"Morehuehner: Ein Moorhuhn-Remake als Cloud-Native Multiplayer-Browsergame","author":"Michael Dick","date":"28. February 2026","format":false,"excerpt":"1. Einleitung \u201cMoorhuhn\u201d, wer erinnert sich nicht? Damals auf Windows XP, in der Mittagspause oder nach der Schule, mit dem Fadenkreuz \u00fcber den Bildschirm und auf pixelige H\u00fchner geballert. F\u00fcr uns war Moorhuhn eines dieser Spiele, das man eigentlich nie alleine spielen wollte. Man sa\u00df vor dem Rechner, jemand schaute\u2026","rel":"","context":"In &quot;Allgemein&quot;","block_context":{"text":"Allgemein","link":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/category\/allgemein\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/02\/redis.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/02\/redis.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/02\/redis.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/02\/redis.png?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/02\/redis.png?resize=1050%2C600&ssl=1 3x, https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/02\/redis.png?resize=1400%2C800&ssl=1 4x"},"classes":[]},{"id":28550,"url":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/2026\/02\/21\/entwicklung-einer-verteilten-cloud-anwendung-am-beispiel-eines-multiplayer-spiels\/","url_meta":{"origin":27583,"position":5},"title":"Entwicklung einer verteilten Cloud-Anwendung am Beispiel eines Multiplayer Spiels","author":"Tom Bestvater","date":"21. February 2026","format":false,"excerpt":"Einleitung Den meisten sollte das Spielprinzip von \u201cCookie Clicker\u201d bekannt sein: Ein Klick auf einen Keks erh\u00f6ht den Spielstand um einen Punkt. Das Spiel ist endlos, hat keine Punktegrenze. Es geht darum, im Leaderboard nach oben zu klettern. Im Rahmen der Vorlesung \u201cSystem Engineering and Management\u201d (143101a)\u00a0 erweiterten wir das\u2026","rel":"","context":"In &quot;Allgemein&quot;","block_context":{"text":"Allgemein","link":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/category\/allgemein\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/02\/Auth-Flow-Diagram-1.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/02\/Auth-Flow-Diagram-1.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/02\/Auth-Flow-Diagram-1.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/blog.mi.hdm-stuttgart.de\/wp-content\/uploads\/2026\/02\/Auth-Flow-Diagram-1.png?resize=700%2C400&ssl=1 2x"},"classes":[]}],"jetpack_sharing_enabled":true,"authors":[{"term_id":1093,"user_id":1256,"is_guest":0,"slug":"lars_gerigk","display_name":"Lars Gerigk","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/a2ae86a62bb78485a6a91ae065981c73081925e8dd0db0d8c642145480e5a977?s=96&d=mm&r=g","0":null,"1":"","2":"","3":"","4":"","5":"","6":"","7":"","8":""}],"_links":{"self":[{"href":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/wp-json\/wp\/v2\/posts\/27583","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/wp-json\/wp\/v2\/users\/1256"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/wp-json\/wp\/v2\/comments?post=27583"}],"version-history":[{"count":1,"href":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/wp-json\/wp\/v2\/posts\/27583\/revisions"}],"predecessor-version":[{"id":27606,"href":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/wp-json\/wp\/v2\/posts\/27583\/revisions\/27606"}],"wp:attachment":[{"href":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/wp-json\/wp\/v2\/media?parent=27583"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/wp-json\/wp\/v2\/categories?post=27583"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/wp-json\/wp\/v2\/tags?post=27583"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/blog.mi.hdm-stuttgart.de\/index.php\/wp-json\/wp\/v2\/ppma_author?post=27583"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}