• Kommunikation

Entwicklung einer skalierbaren Videoplattform

Als wir vor zehn Jahren mit dem Aufbau der Panopto-Videoplattform begannen, wollten wir sicherstellen, dass unsere Infrastruktur sowohl für On-Premises- als auch für Cloud-Hosting-Kunden eine hohe Skalierbarkeit bietet, damit unsere Plattform bei wachsender Nutzung von Panopto problemlos skaliert werden kann.

Bevor wir darüber sprechen, wie Panopto skaliert, beginnen wir mit einer grundlegenden Definition von Skalierbarkeit: die Fähigkeit eines Systems, eine wachsende Menge an Arbeit in einer fähigen Art und Weise zu bewältigen oder seine Fähigkeit, vergrößert zu werden, um dieses Wachstum aufzunehmen.

Bei einer Videoplattform bezieht sich die Skalierbarkeit auf eine Reihe von Elementen im System, z. B.: Webserver, die skalierbar sein müssen, um steigende HTTP-Anforderungen zu bewältigen, Codierungsserver, die skalierbar sein müssen, da immer mehr Codierungsaufträge übermittelt werden, und Datenskalierbarkeit, um eine schnell wachsende Menge an Videospeicher unterzubringen.

Panopto ist so konzipiert, dass jede dieser Komponenten sowie andere Elemente der Plattform skaliert werden können, wie im folgenden Slide Deck erläutert:

Skalierung mit Panopto - Panopto Video Platform von Panopto

 

Im obigen Slide-Deck nennen wir vier wichtige Server-Rollen, aus denen Panopto besteht:

  • Webserver, die IIS enthalten und eingehende HTTP-Anfragen für Live- und On-Demand-Video-Streaming verarbeiten.
  • Encoder-Server, die Video-Codierungsanforderungen empfangen und verarbeiten.
  • Datenbankserver, die SQL Server-Instanzen, Datendateien und Transaktionsprotokolle enthalten.
  • Speicherserver, die Videoinhalte beherbergen und eine Vielzahl von Speichertypen unterstützen, darunter Storage Area Networks (SANs), Network Attached Storage (NAS) und Direct Attached Storage (DAS).

Für Kunden, die Panopto vor Ort einsetzen, unterstützen wir eine Reihe von Servertopologien, darunter:

  • Einzelserver, bei dem alle vier Servertypen auf einem einzigen Rechner installiert sind. Damit beginnen Kunden oft, wenn sie eine Testumgebung oder eine kleine Panopto-Installation haben.
  • Zwei-Server, bei dem der Encoder-Server in der Regel einen dedizierten Rechner erhält, um Codierungsaufträge zu bearbeiten, die CPU-intensiv sein können.
  • Multi-Server, bei dem sich jede der vier Serverrollen auf einem eigenen Rechner befindet und die Speicherung zentralisiert ist.
  • Load-balanced, bei dem ein Load-Balancer vor mehreren Webservern sitzt und die eingehenden HTTP-Anfragen für Live- und On-Demand-Streaming verteilt.

Für Kunden, die Panopto als gehosteten Dienst in der Cloud betreiben, verwenden wir dieselbe Codebasis und Installations-Binärdateien wie für On-Premises-Kunden. Wir ändern lediglich die Konfiguration, um eine größere Skalierung zu ermöglichen. Insbesondere teilen wir die Serverrollen noch weiter auf, um sie einzubeziehen:

  • Broadcast-Server - Ein spezialisierter "Webserver", der Live-Streaming-Anfragen verarbeitet.
  • Upload-Server - Ähnlich wie Broadcast-Server, aber diese verarbeiten Upload-Anforderungen für vorab aufgezeichnete Videos.
  • Suchserver - Angesichts der Menge an Videosuchen auf unseren gehosteten Servern haben wir dedizierte Suchserver-Cluster eingerichtet, die mit unseren Datenbankservern interagieren.

Da unsere Video-Cloud auf Amazon Web Services (AWS) basiert - insbesondere auf Amazons Elastic Compute Cloud (EC2) und Simple Storage Service (S3) - profitieren wir von der integrierten Amazon-Funktionalität, die es unserer Plattform ermöglicht, unsere Codierungsserver dynamisch auf Basis der aktuellen Nachfrage zu skalieren und unseren Speicher zu vergrößern, wenn mehr Inhalte in Panopto hochgeladen werden. Die automatische Skalierung in der Cloud stellt sicher, dass wir unsere Plattform effizient betreiben und dass wir unseren Kunden niemals ungenutzte Serverzeit in Rechnung stellen.

Um die Betriebszeit und Zuverlässigkeit unserer Video-Cloud zu gewährleisten, skalieren wir Panopto auch über mehrere Amazon-Verfügbarkeitszonen - wir spiegeln unsere Serverinfrastruktur über verschiedene Amazon-Rechenzentren an unterschiedlichen geografischen Standorten. Dadurch wird sichergestellt, dass unsere Server auch bei einem katastrophalen Ausfall des Rechenzentrums funktionsfähig bleiben und unsere Kunden die Videoplattform ohne Unterbrechung weiter nutzen können.

Wenn Sie verschiedene Videoplattformen für Ihr Unternehmen oder Ihre Universität evaluieren, sollten Sie den Anbieter fragen, wie sie skalieren - sowohl vor Ort als auch in der Cloud. Die Fähigkeit, einfach und dynamisch je nach Bedarf zu skalieren, kann für den Erfolg Ihrer Bereitstellung entscheidend sein, wie wir bei Universitäten wie Newcastle und Essex gesehen haben, die beide jedes Schuljahr Zehntausende von Videostunden aufnehmen.

Wenn Sie Fragen zur Skalierbarkeit von Panopto haben oder besprechen möchten, wie unsere Videoplattform Ihrem Unternehmen helfen kann, wenden Sie sich bitte an unser Team: .