Jenseits der Uptime: Warum klassisches Monitoring für Video-Qualität blind ist
In der klassischen IT reicht oft ein Blick auf die CPU-Last oder den HTTP-Statuscode: Wenn der …

Einer der größten Kostentreiber im Video-Business ist die Differenz zwischen bereitgestellter und tatsächlich genutzter Kapazität. Video-Workloads sind extrem „hungrig": Ein einzelner HD-Transcoding-Job oder eine WebRTC-Bridge kann mehrere CPU-Kerne für sich beanspruchen. Wer hier starr plant, zahlt entweder für ungenutzte Server (Over-Provisioning) oder riskiert Systemabstürze bei Lastspitzen (Under-Provisioning).
Die Lösung ist ein zweistufiges Autoscaling-Modell, das die Infrastruktur exakt an den Bedarf der Applikation anpasst. Wir zeigen, wie Sie die Mechanik hinter Kubernetes so konfigurieren, dass sie wirtschaftlich und technisch harmoniert.
Stellen Sie sich vor, Sie betreiben 50 Server für Ihre Video-Plattform. Um 20:00 Uhr endet ein großes Live-Event, und plötzlich werden 200 Transcoding-Jobs in die Warteschlange gestellt.
In einer modernen Video-Infrastruktur arbeiten zwei Mechanismen Hand in Hand, um dieses Problem zu lösen:
Der HPA beobachtet die Last Ihrer Video-Dienste (z. B. CPU-Last der WebRTC-Bridges). Sobald ein Schwellenwert überschritten wird, startet er neue Pods.
Wichtig für Video: Nutzen Sie nicht nur CPU-Metriken. Für Video ist oft die Anzahl der aktiven Verbindungen (Streams) oder die Queue-Länge im Transcoding die bessere Steuergröße.
Irgendwann ist der physische Platz auf den vorhandenen Servern (Nodes) erschöpft. Neue Pods können nicht mehr gestartet werden und verbleiben im Status “Pending”. Hier greift der Cluster Autoscaler ein: Er erkennt den Bedarf und bestellt beim Cloud-Provider (oder im Bare-Metal-Pool) automatisch neue Server nach. Sobald die Last sinkt und die Pods gelöscht werden, räumt der CA die leeren Server wieder ab.
Damit das Autoscaling im harten Video-Alltag funktioniert, nutzen wir drei spezifische Taktiken:
Wir definieren verschiedene Prioritäten. Live-Streaming-Pods erhalten die höchste Priorität. Wenn Ressourcen knapp werden, verdrängt ein Live-Stream-Pod einen weniger wichtigen Transcoding-Job. Der Transcoding-Job wird pausiert und startet neu, sobald der Cluster Autoscaler einen weiteren Server bereitgestellt hat.
Transcoding ist ideal für “Spot Instances”. Das sind überschüssige Kapazitäten der Cloud-Provider, die bis zu 80 % günstiger sind. Da unsere Video-Pipeline so gebaut ist, dass abgebrochene Jobs einfach neu starten, können wir hier massiv Kosten sparen, ohne die Qualität für den Endkunden zu gefährden.
Autoscaling braucht Zeit (meist 2 bis 5 Minuten für einen neuen Server). Bei einem angekündigten Großevent mit 10.000 Zuschauern können wir über GitOps oder die API manuell eine “Basis-Kapazität” hochfahren, bevor das Event startet. So vermeiden wir Engpässe beim ersten Ansturm der Zuschauer.
Wirtschaftliche Skalierung bedeutet, dass die Kostenkurve Ihrer Infrastruktur fast deckungsgleich mit Ihrer Umsatzkurve (oder Nutzerkurve) verläuft. Durch die Kombination aus Pod- und Node-Autoscaling auf Kubernetes eliminieren wir die Verschwendung. Für einen Plattform-Betreiber ist das der entscheidende Faktor, um gegenüber globalen US-Giganten konkurrenzfähig zu bleiben: Eine schlanke, hochautomatisierte Infrastruktur, die nur dann Geld kostet, wenn sie auch Werte schafft.
Wie schnell reagiert das Autoscaling bei einer plötzlichen Lastwelle? Pod-Autoscaling (HPA) reagiert innerhalb von Sekunden. Wenn jedoch neue Server (Nodes) gestartet werden müssen, dauert dies je nach Provider ca. 2 bis 4 Minuten. Für unvorhersehbare Lastspitzen halten wir daher immer einen kleinen Puffer (“Over-Provisioning”) im Cluster bereit.
Können wir das Skalieren zeitlich steuern? Ja, über “Scheduled Scaler” lässt sich festlegen, dass z. B. jeden Montagmorgen um 09:00 Uhr die Kapazität für die wöchentlichen Meetings hochgefahren wird, noch bevor die erste Lastspitze gemessen wird.
Verursacht häufiges Hoch- und Runterfahren keine Instabilität? Nein, solange die Applikation “Cloud-Native” (stateless) gebaut ist. Video-Engines wie LiveKit sind genau dafür ausgelegt, dass Instanzen kommen und gehen. Die Last wird durch Load Balancer nahtlos verteilt.
Gibt es eine Grenze für das Autoscaling? Sie können (und sollten) immer “Max-Limits” definieren. Dies schützt Sie vor explodierenden Kosten, falls durch einen Fehler oder einen Angriff (DDoS) plötzlich tausende Server angefordert würden.
In der klassischen IT reicht oft ein Blick auf die CPU-Last oder den HTTP-Statuscode: Wenn der …
In der klassischen IT-Überwachung galt lange das binäre Prinzip: Ein System ist entweder up oder …
In der Welt des Data Engineerings gibt es ein Sprichwort: „Daten zu speichern ist einfach, sie …