Cluster-Autoscaling für Big 3 Clouds ☁️

Auf Geschwindigkeit ausgelegt: ~ 10 ms Latenz, auch unter Last
Unglaublich schnelle Methode zum Erstellen, Verfolgen und Bereitstellen Ihrer Modelle!
- Verarbeitet mehr als 350 RPS auf nur 1 vCPU — kein Tuning erforderlich
- Produktionsbereit mit vollem Unternehmenssupport
Es ist nicht falsch zu sagen, dass jedes Unternehmen mehr Traffic bewältigen, mehr Daten verarbeiten und mehr Kunden bei ihrem Wachstum unterstützen muss. Oft müssen sie ihre Infrastruktur skalieren, um mit den steigenden Anforderungen Schritt zu halten. Dies gilt auch, wenn Ihr Unternehmen saisonabhängig ist. Stellen Sie sich eine E-Commerce-Website vor, auf der an Feiertagen viel Traffic verzeichnet wird, z. B. am Black Friday oder Cyber Monday. Der Traffic der Website kann in diesen geschäftigen Zeiten dramatisch ansteigen. Auf der Website kann es zu verzögerten Seitenladeproblemen kommen und die Benutzer irritieren, wenn sie der gestiegenen Nachfrage nicht gerecht werden kann. Infolgedessen kann es für das Unternehmen zu Umsatzeinbußen und einer Verschlechterung seines Rufs kommen.
Eine Möglichkeit, dieses Problem zu lösen, besteht darin, die Anzahl der Server in der Infrastruktur manuell zu erhöhen, um den erhöhten Datenverkehr zu bewältigen. Das manuelle Hoch- und Herunterskalieren kann jedoch zeitaufwändig, fehleranfällig und schwierig zu verwalten sein. An dieser Stelle kommt die automatische Cluster-Skalierung ins Spiel. Cluster-Autoscaling passt die Anzahl der Server in der Infrastruktur automatisch an bestimmte Bedingungen an, wie z. B. CPU-Auslastung, Speicherauslastung oder eingehende Anfragen. Das bedeutet, dass die Infrastruktur je nach aktueller Nachfrage ohne manuelles Eingreifen hoch- oder herunterskaliert werden kann.
In diesem Blogbeitrag wird untersucht, was Cluster-Autoscaling ist, warum es benötigt wird und wie es in verschiedenen Cloud-Anbietern implementiert werden kann.
TL; DR
Damit unser Cluster auf allen großen Cloud-Anbietern korrekt funktioniert, müssen wir die Skalierung der Clusterknoten anpassen.
💡
Auf AWS verwenden wir Karpenter, das mit minimaler Konfiguration den günstigsten und effizientesten Knoten für die eingehenden Pod-Anfragen auswählen kann.
💡
Bei GCP verlassen wir uns auf GKE Autopilot, der uns einen verwalteten Cluster bietet, der je nach Anforderung hoch- und herunterskaliert werden kann.
💡
In Azure gibt es keine Ad-hoc-Lösungen, und wir verwenden den Kubernetes-Cluster-Autoscaler, der weniger optimiert ist als Karpenter und mehr Konfiguration erfordert als Autopilot.

Autoscaler für AWS: Karpenter
Karpenter beobachtet die aggregierten Ressourcenanforderungen ungeplanter Pods und trifft Entscheidungen zum Starten und Beenden von Knoten, um Planungslatenzen und Infrastrukturkosten zu minimieren.
- Karpenter verwaltet jede Instanz direkt und ist nicht auf zusätzliche Orchestrierungsmechanismen wie Knotengruppen angewiesen.
- Karpenter konzentriert sich auf die Arbeitslast und startet Instances, die für die aktuelle Situation geeignet sind, basierend auf den Ressourcenanforderungen und Terminbeschränkungen der eingehenden Pods. Dieser absichtsbasierte Ansatz bei der Instanzauswahl ermöglicht eine effizientere und kostengünstigere Skalierung.
Leider funktioniert Karpenter nur auf AWS.

Autoscaler für GCP: GKE Autopilot
Autopilot ist ein verwalteter Dienst, der Algorithmen für maschinelles Lernen verwendet, um die optimale Anzahl von Knoten für den Cluster auf der Grundlage der aktuellen Arbeitslast zu ermitteln. Er bietet auch Funktionen wie automatische Upgrades und Patches, sodass der Cluster auf einfache Weise auf dem neuesten Stand und sicher gehalten werden kann.
Neben der automatischen Skalierung bietet Cluster Autopilot auch andere Vorteile, wie z. B. eine verbesserte Ressourcenauslastung und Kosteneinsparungen, da eine übermäßige Bereitstellung von Ressourcen vermieden wird. Es bietet auch einen praktischeren Ansatz für das Clustermanagement, da alle Autoscaling-Operationen vom Service abgewickelt werden.

Autoscaler für Microsoft Azure: Kubernetes-Cluster-Autoscaler
Auf Azure Cloud gibt es kein verwaltetes Angebot wie GKE Autopilot oder einen maßgeschneiderten Ansatz für Autoscaling wie Karpenter. Daher setzen wir auf Cluster-Autoscaler.
Kubernetes Cluster Autoscaler ist ein Open-Source-Tool, das die automatische Skalierung von Kubernetes-Clustern ermöglicht. Es wird als Pod innerhalb des Clusters ausgeführt und überwacht die Ressourcenauslastung des Clusters. Dabei wird die Anzahl der Knoten angepasst, die erforderlich sind, um den Anforderungen der darin ausgeführten Anwendungen gerecht zu werden. Dies trägt zur Optimierung der Ressourcenauslastung und zur Senkung der Kosten bei, da bei geringer Nachfrage eine Überbereitstellung von Ressourcen vermieden wird. Cluster Autoscaler erfordert die manuelle Konfiguration von Knotengruppen und -typen.
Das Der Blog behandelt Details zu Kubernetes Autoscaling.
Wahre Gießerei ist ein ML Deployment PaaS über Kubernetes, um die Workflows von Entwicklern zu beschleunigen und ihnen gleichzeitig volle Flexibilität beim Testen und Bereitstellen von Modellen zu bieten und gleichzeitig die volle Sicherheit und Kontrolle für das Infra-Team zu gewährleisten. Über unsere Plattform ermöglichen wir Teams für maschinelles Lernen bereitstellen und überwachen Modelle innerhalb von 15 Minuten mit 100% iger Zuverlässigkeit, Skalierbarkeit und der Möglichkeit, innerhalb von Sekunden rückgängig zu machen. So können sie Kosten sparen und Modelle schneller für die Produktion freigeben, wodurch ein echter Geschäftswert erzielt wird.
TrueFoundry AI Gateway bietet eine Latenz von ~3—4 ms, verarbeitet mehr als 350 RPS auf einer vCPU, skaliert problemlos horizontal und ist produktionsbereit, während LiteLM unter einer hohen Latenz leidet, mit moderaten RPS zu kämpfen hat, keine integrierte Skalierung hat und sich am besten für leichte Workloads oder Prototyp-Workloads eignet.
Der schnellste Weg, deine KI zu entwickeln, zu steuern und zu skalieren















.png)





.png)






.webp)

.webp)



