• Comunicaciones

Creación de una plataforma de vídeo a escala

Cuando empezamos a construir la plataforma de vídeo de Panopto hace diez años, queríamos asegurarnos de que nuestra infraestructura proporcionara a los clientes locales y alojados en la nube una gran escalabilidad, de modo que a medida que su uso de Panopto creciera, nuestra plataforma pudiera escalar para adaptarse fácilmente.

Antes de hablar de cómo escala Panopto, comencemos con una definición básica de escalabilidad: la capacidad de un sistema para manejar una cantidad creciente de trabajo de manera capaz o su capacidad de ser ampliado para acomodar ese crecimiento.

En una plataforma de vídeo, la escalabilidad se aplica a varios elementos del sistema, entre ellos: los servidores web, que requieren escalabilidad para acomodar el aumento de las solicitudes HTTP, los servidores de codificación, que necesitan escalar a medida que se envían más y más trabajos de codificación, y la escalabilidad de los datos para acomodar una cantidad cada vez mayor de almacenamiento de vídeo.

La arquitectura de Panopto permite escalar cada uno de estos componentes, así como otros elementos de la plataforma, como se explica en la presentación de diapositivas que figura a continuación:

Escalando con Panopto - Plataforma de vídeo Panopto de Panopto

 

En la presentación de diapositivas anterior, mencionamos cuatro funciones principales del servidor que componen Panopto:

  • Servidores web, que incluyen IIS y gestionan las solicitudes HTTP entrantes para la transmisión de vídeo en directo y a la carta.
  • Servidores de codificación, que reciben y procesan las solicitudes de codificación de vídeo.
  • Servidores de bases de datos, que incluyen instancias de SQL Server, archivos de datos y registros de transacciones.
  • Servidores de almacenamiento, que albergan contenidos de vídeo y admiten diversos tipos de almacenamiento, como redes de área de almacenamiento (SAN), almacenamiento conectado a la red (NAS) y almacenamiento conectado directamente (DAS).

Para los clientes que despliegan Panopto en sus instalaciones, admitimos varias topologías de servidores, entre ellas:

  • Servidor único, en el que los cuatro tipos de servidores se instalan en una sola máquina. Aquí es donde suelen empezar los clientes si tienen un entorno de pruebas o una pequeña instalación de Panopto.
  • Dos servidores, en los que el servidor de codificación suele tener una máquina dedicada a gestionar los trabajos de codificación, que pueden requerir una gran cantidad de CPU.
  • Multi-servidor, en el que cada uno de los cuatro roles de servidor está en una máquina dedicada y el almacenamiento está centralizado.
  • Carga equilibrada, en la que un equilibrador de carga se sitúa delante de varios servidores web, distribuyendo las peticiones HTTP entrantes para la transmisión en directo y a la carta.

Para los clientes que ejecutan Panopto como servicio alojado en la nube, compartimos el mismo código base y los mismos binarios de instalación que los clientes locales. Simplemente cambiamos la configuración para permitir una mayor escala. En concreto, dividimos los roles del servidor aún más para incluir:

  • Servidores de transmisión - Un "servidor web" especializado que procesa las solicitudes de transmisión en directo.
  • Servidores de carga - Son similares a los servidores de difusión, pero procesan las solicitudes de carga de vídeos pregrabados.
  • Servidores de búsqueda - Dada la cantidad de búsquedas de vídeo en nuestros servidores alojados, desglosamos grupos de servidores de búsqueda dedicados que interactúan con nuestros servidores de bases de datos.

Dado que nuestra nube de vídeo se basa en Amazon Web Services (AWS), concretamente en Elastic Compute Cloud (EC2) y Simple Storage Service (S3) de Amazon, nos beneficiamos de la funcionalidad integrada de Amazon, que permite a nuestra plataforma ampliar dinámicamente nuestros servidores de codificación en función de la demanda actual y aumentar nuestro almacenamiento a medida que se cargan más contenidos en Panopto. El escalado automático en la nube ayuda a garantizar que nuestra plataforma funcione de forma eficiente y que nunca facturemos a nuestros clientes por el tiempo ocioso del servidor.

Para garantizar el tiempo de actividad y la fiabilidad de nuestra nube de vídeo, también escalamos Panopto a través de múltiples zonas de disponibilidad de Amazon - reflejando nuestra infraestructura de servidores en diferentes centros de datos de Amazon en diferentes ubicaciones geográficas. Esto ayuda a garantizar que, incluso durante una interrupción catastrófica del centro de datos, nuestros servidores siguen funcionando y nuestros clientes pueden seguir utilizando la plataforma de vídeo sin interrupción.

Cuando evalúe diferentes plataformas de vídeo para su empresa o universidad, debe preguntar al proveedor cómo se escalan, tanto en las instalaciones como en la nube. La capacidad de escalar fácil y dinámicamente en función de la demanda puede ser fundamental para el éxito de su implementación, como hemos visto con universidades como Newcastle y Essex, que capturan decenas de miles de horas de vídeo cada año escolar.

Si tiene alguna pregunta sobre la historia de la escalabilidad de Panopto o está interesado en discutir cómo nuestra plataforma de vídeo puede ayudar a su organización, póngase en contacto con nuestro equipo.