Zum Inhalt springen
BlogRechenleistungSenkung der Kosten für die Videotranskodierung durch Migration auf dedizierte Linode-Instanzen

Senkung der Kosten für die Videotranskodierung durch Migration auf dedizierte Linode-Instanzen

Kopfbild mit dem Text how to lower video transcoding costs by migrating to dedicated Linode instances, mit einem Symbol auf der rechten Seite eines Videobildschirms, der Video zu mehreren Streams wiedergibt.

Es gibt viele Kosten, die mit dem Aufbau in der Cloud verbunden sind. Bei der Videotranskodierung gibt es Speicherkosten, Kosten für Recheninstanzen und vor allem Egress-Kosten. Die Egress-Kosten werden oft übersehen, können aber einen erheblichen Einfluss auf Ihr Endergebnis haben. Die Herausforderung besteht darin, Inhalte weltweit in den richtigen Formaten zu verbreiten und gleichzeitig die Kosten niedrig zu halten. Jedes Mal, wenn auf Daten zugegriffen wird oder diese aus der Cloud übertragen werden - sei es beim Streaming von Videoinhalten, beim Herunterladen von Dateien oder bei der Bereitstellung von Webseiten - kommen Egress-Gebühren ins Spiel. Auf globaler Ebene werden diese Kosten zu einem bedeutenden Einzelposten. 

Wie können wir also Inhalte für ein weltweites Publikum bereitstellen, ohne die Bank zu sprengen? Vor dieser Herausforderung stehen viele Unternehmen, zuletzt einer unserer Kunden, ein Anbieter von internetbasiertem Fernsehen und On-Demand-Inhalten. Bei diesem Kunden handelt es sich um eine bekannte Over-the-Top-Plattform (OTT), die sich auf die Bereitstellung von Live-TV-Kanälen, On-Demand-Inhalten und Catch-up-TV-Diensten für Zuschauer in aller Welt spezialisiert hat. Das Unternehmen investiert stark in skalierbare Cloud-basierte Lösungen, um minimale Puffer- und Latenzzeiten beim Streaming zu gewährleisten, insbesondere in Spitzenzeiten. Dieser Kunde wandte sich zunächst an Oracle Cloud GPUs und AWS VT1-Instanzen, um seine Videotranscodierung zu bewältigen. Diese Cloud-Anbieter waren jedoch so teuer, dass sie sich für den Kunden finanziell nicht mehr lohnten. Jedes Mal, wenn die Videoinhalte gestreamt, heruntergeladen oder den Endbenutzern zur Verfügung gestellt wurden, fielen beträchtliche Egress-Gebühren an. Diese Kosten summierten sich schnell, insbesondere in Anbetracht des globalen Publikums und des Bedarfs an hochwertigem Streaming mit geringer Latenz. Das Unternehmen wollte den Transcoding-Stream pro VM maximieren, um ein besseres Preis-Leistungs-Verhältnis zu erzielen, und gleichzeitig die transcodierten Videos für die Nutzer bereitstellen, um Inhalte mit niedriger Latenz bereitzustellen. Als jedoch die Nutzerbasis wuchs und die Inhalte weltweit verteilt wurden, wurde die finanzielle Belastung untragbar.

Angesichts dieser eskalierenden Kosten musste der Kunde eine kostengünstigere Lösung finden, ohne Abstriche bei der Leistung oder der Benutzerfreundlichkeit zu machen. Dies führte zu einer gründlichen Neubewertung seiner Videotranscodierungs- und Inhaltsverteilungsstrategie, über die ich bereits in diesem Blogbeitrag berichtet habe. Sie suchten nach Alternativen, die es ihnen ermöglichen würden, die Anzahl der Transcoding-Streams pro virtuelle Maschine (VM) zu optimieren und so ihr Kosten-Leistungs-Verhältnis zu verbessern. Außerdem sollten die transkodierten Videos näher an den Nutzern bereitgestellt werden, um die Latenzzeit zu verringern und das Seherlebnis weiter zu verbessern.

Die steigenden Kosten im Zusammenhang mit AWS VT1 - insbesondere die Egress-Gebühren für die Übertragung von AWS - veranlassten eine Neubewertung der Plattform für die Verteilung von Videotranskodierungsinhalten. 

Die Herausforderungen der Transkodierung von Video-on-Demand

Stellen Sie sich vor, Sie sind Ingenieur bei einer großen OTT-Plattform und verantwortlich für die Videotranscodierung für Millionen von Nutzern. Das ist eine gewaltige Aufgabe, die sowohl technisches Fachwissen als auch finanzielle Umsicht erfordert. Ihre Rolle ist entscheidend, um sicherzustellen, dass die Zuschauer hochwertige, nahtlose Videostreams erhalten, unabhängig von ihrem Standort oder dem Gerät, das sie verwenden.

Jeden Tag verwalten Sie eine Flotte virtueller Maschinen (VMs), die mit der schweren Arbeit der Codierung von Videoinhalten betraut sind. Bei diesem Prozess geht es nicht nur um die Konvertierung von Videoformaten, sondern auch um die Optimierung für verschiedene Auflösungen, Bitraten und Codecs, um sicherzustellen, dass die Inhalte zugänglich sind und auf verschiedenen Bildschirmen - von Smartphones bis hin zu 4K-Fernsehern - gut aussehen. Die Herausforderung besteht darin, diese VMs effizient laufen zu lassen, um den konstanten Strom eingehender Videodaten zu verarbeiten und gleichzeitig Engpässe zu vermeiden und die Latenz zu minimieren.

Wir müssen auch bedenken, dass die Videotranskodierung ressourcenintensiv ist. Jedes Video muss in mehreren Formaten und Qualitäten verarbeitet werden, um unterschiedlichen Netzwerkbedingungen und Gerätefähigkeiten gerecht zu werden. Dies erfordert eine erhebliche Rechenleistung, was sich in hohen Kosten für CPU-, GPU und Speicherressourcen niederschlägt. Als Ingenieur müssen Sie diese Ressourcen ständig überwachen und die Last auf mehrere VMs verteilen, um eine Überlastung zu vermeiden und eine optimale Leistung zu gewährleisten.

Neben den Rechenanforderungen gibt es noch einen weiteren kritischen Aspekt zu berücksichtigen: die Kosten für die Datenübertragung. Jedes Mal, wenn ein Video gestreamt, heruntergeladen oder an ein Content Delivery Network (CDN) übertragen wird, fallen für Ihr Unternehmen Egress-Gebühren an. Diese Kosten basieren in der Regel auf dem übertragenen Datenvolumen und können in Abhängigkeit von Faktoren wie dem Zielort der Daten, der zurückgelegten Entfernung und der verbrauchten Bandbreite variieren. Diese Gebühren können sich schnell summieren, vor allem, wenn es um große Mengen an hochauflösenden Inhalten geht, die an ein weltweites Publikum gestreamt werden. Die Verwaltung dieser Kosten ist für die Aufrechterhaltung des Endergebnisses Ihres Unternehmens von entscheidender Bedeutung.

Um diese Herausforderungen zu bewältigen, benötigen Sie eine Strategie, die die Effizienz Ihrer Transcodierungsinfrastruktur maximiert und gleichzeitig die Kosten unter Kontrolle hält. Dazu müssen Sie Ihre VM-Auslastung optimieren und sicherstellen, dass jede VM ihr volles Potenzial ausschöpft, ohne überlastet zu werden. Das bedeutet, dass Sie mehr Streams pro VM transkodieren können. Außerdem müssen Sie den richtigen Cloud-Anbieter wählen. Verschiedene Cloud-Anbieter bieten unterschiedliche Preismodelle und Leistungsfähigkeiten an. Es ist wichtig, diese Optionen zu bewerten, um einen Anbieter zu finden, der das beste Verhältnis zwischen Kosten und Leistung bietet. Außerdem müssen Sie Strategien zur Senkung der Egress-Gebühren implementieren, z. B. die Zwischenspeicherung häufig abgerufener Inhalte in der Nähe der Endbenutzer, die effektive Nutzung von CDNs und die Erwägung alternativer Cloud-Speicherlösungen mit geringeren Egress-Kosten. Schließlich müssen Sie kostengünstige Compute-Instanzen wie Linode erkunden, die im Vergleich zu herkömmlichen Cloud-Anbietern vorhersehbare Preise und ein besseres Preis-Leistungs-Verhältnis bieten können.

Im Wesentlichen besteht Ihre Aufgabe als Ingenieur darin, dafür zu sorgen, dass Ihre Videotranskodierungsinfrastruktur robust, skalierbar und kostengünstig ist. Dies ist ein ständiger Balanceakt zwischen der Optimierung der technischen Leistung und der Bewältigung finanzieller Beschränkungen. Durch die Umsetzung einer durchdachten Strategie und den Einsatz der richtigen Tools und Technologien können Sie die Anforderungen von Millionen von Benutzern erfüllen und gleichzeitig den Gewinn Ihres Unternehmens sichern.

Kostenanalyse für die Videotranscodierung

Werfen wir einen Blick auf eine detaillierte Kostenanalyse, in der die Videotranskodierung unter Verwendung von dedizierten Linode-Instanzen mit 64 GB im Vergleich zu AWS EC2 VT1 vt1.6xlarge-Instanzen verglichen wird, wobei sowohl die Egress-Kosten als auch das gesamte Kosten-Leistungs-Verhältnis berücksichtigt werden. 

Nehmen wir an, ein Streaming-Anbieter muss 100 Stunden Videoinhalte pro Monat transkodieren. Jede Videodatei hat eine durchschnittliche Größe von 1 GB, und der Anbieter möchte in drei verschiedene Ausgabeformate transkodieren, um verschiedene Geräte und Auflösungen zu unterstützen. Wir nehmen außerdem an, dass die Transkodierung von 1 Stunde Videoinhalt bei beiden Anbietern 2 Stunden dauert und dass sie jeweils 50 Instanzen benötigen.

Kosten pro dedizierte CPU-InstanzGesamtkosten für 50 Instanzen
64 GB Dedizierte Linode-Instanz$0,864/Stunde50 Instanzen * 0,864 $/Stunde * 200 Stunden = 8.640 $/Monat
AWS vt1.6xgroße Instanz1,30 Dollar/Stunde50 Instanzen * 1,30 $/Stunde * 200 Stunden = 13.000 $/Monat
Hinweis: Aktuelle Preisinformationen für Linode finden Sie finden Sie hier und für AWS hier.

Dieser Kostenvergleich verdeutlicht die erheblichen Einsparungen, die durch die Migration auf Linode Dedicated VMs erzielt werden. In dieser Analyse ist die Verwendung von Linode Dedicated Instances für die Videotranskodierung 33 % günstiger als die Verwendung von AWS VT1. Zusätzlich zu den niedrigeren Instanzkosten bietet Akamai auch eine beträchtliche Menge an kostenlosem Egress, wenn Kunden sich für Akamai Compute Instances entscheiden, was die Gesamtkosten für den Egress im Vergleich zu AWS weiter senkt. Sie können nicht nur Ihre Videotranskodierung zu niedrigeren Kosten durchführen, sondern haben auch keine Egress-Kosten, wenn Sie mit Akamai transkodieren und die Inhalte über unser CDN verteilen. Wenn ein Kunde das Akamai CDN für die Übertragung von transkodierten Videos zu und von den Points of Presence (PoPs) nutzt, entfallen die damit verbundenen Kosten effektiv. Durch die Nutzung unserer Rechenressourcen für die Transkodierung können Kunden von minimalen Egress-Kosten profitieren und so eine kosteneffiziente Lösung für ihre Datenübertragungsanforderungen sicherstellen.

Lösung: Umstellung auf dedizierte Linode-Instanzen

Schauen wir uns an, wie dieser OTT-Kunde von AWS EC2 VT1-Instanzen auf dedizierte Linode-Instanzen mit 64 GB migriert hat. Sie nutzten Linode Object Storage, um die Videos hochzuladen, und verbanden diese dann mit der Linode Kubernetes Engine, die die Videotranskodierung durchführte. Nach Abschluss der Transkodierung wurden die Ausgabevideos in einem Ausgabe-Bucket abgelegt und dann über das CDN von Akamai verteilt. Im Folgenden wird näher erläutert, wie die dedizierten 64-GB-VMs von Linode diesen Videotranskodierungsprozess reibungslos und kosteneffizient durchgeführt haben.

Schritt 1: Aufnahme und Speicherung von Inhalten

Zunächst nimmt Linode die rohen Live- oder On-Demand-Videos auf. Diese Videos werden in einen lokalen, dedizierten Objektspeicher, Linode Object Storage, hochgeladen, der speziell für die Verarbeitung eingehender Inhalte entwickelt wurde. Dieser Bucket dient als Repository für Rohvideos, die auf die Verarbeitung warten. Hier können neben den Videodateien auch die zu jedem Video gehörenden Metadaten, wie Titel, Beschreibung und Zeitstempel, gespeichert werden. Wenn ein Video in diesen Bucket hochgeladen wird, beginnt die Videoverarbeitungspipeline. 

Schritt 2: Initialisierung des Transcodierungs-Workflows

Sobald die Rohvideos in den Linode-Bucket hochgeladen sind, kommen die Transcoding-VMs ins Spiel. Diese speziellen VMs sind so konfiguriert, dass sie den Bucket kontinuierlich überwachen und nach neuen Videos suchen, die verarbeitet werden müssen. Sobald ein neues Video erkannt wird, wird die Transcodierungssoftware (in diesem Fall verwendete der Kunde Capella) ausgelöst, um den Transcodierungsprozess zu starten. Während dieses Transkodierungsprozesses werden die Rohvideodateien in verschiedene Formate und Auflösungen konvertiert, die für unterschiedliche Geräte und Bandbreiten optimiert sind. An dieser Stelle kommt die Leistung der Videotranskodierung auf Linode ins Spiel. Die dedizierten Linode-VMs nutzen parallele Verarbeitungsfähigkeiten, um mehrere Transcodierungsaufgaben gleichzeitig effizient zu bewältigen und eine zeitnahe Verarbeitung der eingehenden Videos zu gewährleisten.

Schritt 3: Speicherung der Ausgabe

Während die Transcodierungssoftware die Rohvideos verarbeitet, werden die transcodierten Ausgaben generiert und in einem Linode-Ausgabe-Bucket (oder im selben Bucket in einem anderen Ordner) gespeichert. Diese transkodierten Videos sind nun bereit für die Bereitstellung an Endnutzer, nachdem sie in Formate umgewandelt wurden, die mit einer Vielzahl von Geräten und Streaming-Plattformen kompatibel sind. Als Bonus gewährleistet Linode's Object Storage eine hohe Verfügbarkeit und Haltbarkeit der transkodierten Videos, mit Redundanz- und Datenintegritätsmechanismen zum Schutz vor Datenverlust. 

Schritt 4: CDN-Integration

Um die Leistung und Skalierbarkeit zu verbessern, entschied sich dieser Kunde für die Integration des CDN von Akamai in seinen Videoverarbeitungsworkflow. Akamai zwischenspeichert, verteilt und steuert den Zugriff auf die Videobibliothek und stellt die Inhalte mit geringer Latenz und hohem Durchsatz für die Endbenutzer bereit. Durch die Nutzung der Edge-Caching- und globalen Verteilungsfunktionen von Akamai konnte der Kunde seine Content-Bereitstellung optimieren, indem er die Videos vom nächstgelegenen Edge-Standort an den Endbenutzer auslieferte, wodurch die Latenzzeit reduziert und die Benutzerfreundlichkeit verbessert wurde. Ein weiterer Vorteil ist, dass bei der Verteilung von Inhalten über das CDN von Akamai keine Egress-Gebühren anfallen, da der Kunde Akamai-Compute für die Transcodierung verwendet.

Schritt 5: Infrastrukturmanagement und Automatisierung

Um den Betrieb zu rationalisieren und die Skalierbarkeit zu erleichtern, nutzte dieser Kunde die Linode Automation API , um seine Infrastruktur zu verwalten und neue Code-Versionen bereitzustellen. Die Linode-Automatisierungs-API ermöglicht die programmierbare Bereitstellung und Konfiguration von virtuellen Maschinen, Speichervolumen und Netzwerkressourcen, wodurch die Infrastruktur effizient über Code verwaltet werden kann. Durch die Verwendung von Infrastructure as Code (IaC) konnte dieser Kunde seine Infrastrukturanforderungen deklarativ mit Code definieren, sich wiederholende Aufgaben automatisieren und die Konsistenz zwischen den Umgebungen sicherstellen. 

Abschließende Überlegungen

Ich hoffe, dass diese Erläuterung der Herausforderungen der On-Demand-Videotranskodierung, der Optimierung der VM-Auslastung und der Begrenzung der Egress-Kosten dazu beigetragen hat, eine Lösung für ein Problem aufzuzeigen, das exponentiell wächst, da wir täglich mehr und mehr Streaming-Videoinhalte konsumieren. Die Verwendung der dedizierten Instanzen von Linode für die Videotranskodierung erwies sich in diesem speziellen Anwendungsfall als 33 % günstiger als die Verwendung von AWS VT1-Instanzen. Und denken Sie daran: Wenn Sie Akamai für die Videotranskodierung und unser CDN für die Verteilung nutzen, entfallen Ihre Egress-Kosten. 

Wenn Sie mehr darüber erfahren möchten, wie Sie dies selbst implementieren können, lesen Sie dieses Tutorial über skalierbare Video-Transkodierung auf Linode, in dem Sie lernen, wie Sie eine mp4-Datei mit Kubernetes und Capella in HLS konvertieren. Stellen Sie sicher, dass Sie sich anmelden, um 100 $ an kostenlosen Credits zu erhalten, um das Tutorial abzuschließen. Sie können auch unseren neuen Leitfaden lesen , der Sie durch die Einrichtung von Live-Transcoding für UGC-Streaming auf Akamai führt.

Kommentare

Kommentar abgeben

Ihre E-Mail Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit *gekennzeichnet