Hay muchos costes asociados a la construcción en la nube. En el caso de la transcodificación de vídeo, tenemos los costes de almacenamiento, los costes de las instancias de cálculo y, lo que es más importante, los costes de salida. Los costes de salida suelen pasarse por alto y pueden tener un impacto significativo en el balance final. El reto surge cuando se desea distribuir contenidos globalmente en todos los formatos correctos manteniendo los costes bajos. Cada vez que se accede a los datos o se transfieren fuera de la nube, ya sea para transmitir contenidos de vídeo, descargar archivos o servir páginas web, entran en juego las tarifas de salida. A escala global, estos costes se convierten en una partida importante.
¿Cómo hacer llegar los contenidos a audiencias de todo el mundo sin arruinarse? Se trata de un reto al que se enfrentan muchas empresas, como ha hecho recientemente uno de nuestros clientes, un proveedor de contenidos a la carta y televisión por Internet. Este cliente es una importante plataforma over-the-top (OTT) especializada en ofrecer canales de televisión en directo, contenidos a la carta y servicios de catch-up TV a espectadores de todo el mundo. Realizan grandes inversiones en soluciones escalables basadas en la nube para garantizar una experiencia de streaming con mínima latencia y buffering, especialmente durante los periodos de mayor tráfico. Este cliente recurrió inicialmente a las GPU de Oracle Cloud y a las instancias VT1 de AWS para gestionar la transcodificación de vídeo. Sin embargo, estos proveedores de servicios en la nube tenían un precio muy elevado, hasta el punto de resultar inviables económicamente para el cliente. Cada vez que sus contenidos de vídeo se transmitían, descargaban o servían a los usuarios finales, incurrían en importantes gastos de salida. Estos costes se acumulaban rápidamente, sobre todo teniendo en cuenta su audiencia global y la necesidad de una transmisión de alta calidad y baja latencia. Querían maximizar su flujo de transcodificación por VM para tener una mejor relación coste-rendimiento, a la vez que desplegaban sus vídeos transcodificados a los usuarios para proporcionar contenidos de baja latencia. Sin embargo, a medida que su base de usuarios crecía y su distribución de contenidos se ampliaba a escala mundial, la carga financiera se hizo insostenible.
Ante esta escalada de costes, el cliente necesitaba encontrar una solución más rentable sin sacrificar el rendimiento ni la experiencia del usuario. Esto les llevó a reevaluar en profundidad su estrategia de transcodificación de vídeo y distribución de contenidos, de la que ya hablé en esta entrada del blog. Buscaban alternativas que les permitieran optimizar el número de flujos de transcodificación por máquina virtual (VM), mejorando así su relación coste-rendimiento. Además, pretendían desplegar los vídeos transcodificados más cerca de sus usuarios para reducir la latencia y mejorar aún más la experiencia de visualización.
El aumento de los costes asociados a AWS VT1 -especialmente en las tasas de salida para la transferencia fuera de AWS - provocó una reevaluación de la plataforma de distribución de contenidos de transcodificación de vídeo.
Los retos de la transcodificación de vídeo a la carta
Imagine que es ingeniero en una gran plataforma OTT, responsable de la transcodificación de vídeo para millones de usuarios. Es una tarea de enormes proporciones que exige tanto conocimientos técnicos como prudencia financiera. Tu papel es fundamental para garantizar que los espectadores reciban flujos de vídeo de alta calidad y sin interrupciones, independientemente de su ubicación o del dispositivo que utilicen.
Todos los días, usted gestiona una flota de máquinas virtuales (VM) encargadas del duro trabajo de codificar contenidos de vídeo. Este proceso no solo consiste en convertir formatos de vídeo, sino también en optimizar diferentes resoluciones, tasas de bits y códecs para garantizar que el contenido sea accesible y se vea bien en diferentes pantallas, desde smartphones hasta televisores 4K. El reto consiste en mantener estas máquinas virtuales en funcionamiento de forma eficiente para gestionar el flujo constante de datos de vídeo entrantes, al tiempo que se evitan los cuellos de botella y se minimiza la latencia.
También hay que tener en cuenta que la transcodificación de vídeo consume muchos recursos. Cada vídeo debe procesarse en múltiples formatos y calidades para adaptarse a las distintas condiciones de la red y capacidades de los dispositivos. Esto requiere una potencia de cálculo considerable, lo que se traduce en elevados costes de recursos de CPU, GPU y memoria. Como ingeniero, usted supervisa constantemente estos recursos, equilibrando la carga entre varias máquinas virtuales para evitar la sobreutilización y garantizar un rendimiento óptimo.
Además de las demandas computacionales, hay otro aspecto crítico a tener en cuenta: los costes de salida de datos. Cada vez que un vídeo se transmite, descarga o transfiere a una red de distribución de contenidos (CDN), su empresa incurre en gastos de salida. Este coste suele basarse en el volumen de datos transferidos y puede variar en función de factores como el destino de los datos, la distancia recorrida y el ancho de banda consumido. Estas tarifas pueden acumularse rápidamente, especialmente cuando se trata de grandes volúmenes de contenidos de alta definición transmitidos a una audiencia global. Gestionar estos costes es esencial para mantener la cuenta de resultados de su empresa.
Para hacer frente a estos retos, necesita una estrategia que maximice la eficiencia de su infraestructura de transcodificación al tiempo que mantiene los costes bajo control. Para ello, debe optimizar la utilización de las máquinas virtuales y asegurarse de que cada una de ellas aprovecha todo su potencial sin sobrecargarse. Esto se traduce en la transcodificación de más flujos por VM. También es necesario elegir el proveedor de nube adecuado. Los distintos proveedores de nube ofrecen diferentes modelos de precios y capacidades de rendimiento. Es crucial evaluar estas opciones para encontrar un proveedor que ofrezca el mejor equilibrio entre coste y rendimiento. También es necesario aplicar estrategias para reducir las tarifas de salida, como almacenar en caché los contenidos a los que se accede con más frecuencia cerca de los usuarios finales, utilizar CDN de forma eficaz y considerar soluciones alternativas de almacenamiento en la nube con menores costes de salida. Por último, debe explorar instancias informáticas rentables, como Linode, que pueden ofrecer precios predecibles y una mejor relación coste-rendimiento en comparación con los proveedores de nube tradicionales.
En esencia, su papel como ingeniero es garantizar que su infraestructura de transcodificación de vídeo sea sólida, escalable y rentable. Esto implica un equilibrio constante entre la optimización del rendimiento técnico y la gestión de las limitaciones financieras. Si aplica una estrategia bien pensada y aprovecha las herramientas y tecnologías adecuadas, podrá satisfacer las demandas de millones de usuarios y, al mismo tiempo, salvaguardar los resultados de su empresa.
Análisis de costes de la transcodificación de vídeo
Veamos un análisis de costes detallado en el que se compara la transcodificación de vídeo utilizando instancias dedicadas de 64 GB Linode frente a instancias AWS EC2 VT1 vt1.6xlarge, teniendo en cuenta tanto los costes de salida como la relación coste-rendimiento total.
Supongamos que un proveedor de streaming necesita transcodificar 100 horas de contenidos de vídeo al mes. Cada archivo de vídeo tiene un tamaño medio de 1 GB, y el proveedor quiere transcodificarlo a tres formatos de salida diferentes para admitir varios dispositivos y resoluciones. Supongamos también que ambos proveedores tardan 2 horas en transcodificar 1 hora de contenido de vídeo y que cada uno necesita 50 instancias.
Coste por instancia de CPU dedicada | Coste total para 50 instancias | |
64 GB Instancia dedicada Linode | 0,864 $/hora | 50 instancias * 0,864 $/hora * 200 horas = 8.640 $/mes |
AWS instancia vt1.6xlarge | 1,30 $/hora | 50 instancias * 1,30 $/hora * 200 horas = 13.000 $/mes |
Esta comparación de costes ilustra el importante ahorro conseguido al migrar a Linode Dedicated VMs. En este análisis, utilizar Linode Instancias Dedicadas para la transcodificación de vídeo es un 33% más barato que utilizar AWS VT1. Además de unos costes de instancia más bajos, Akamai también ofrece una asignación significativa de egress de cortesía cuando los clientes optan por instancias Compute de Akamai, reduciendo aún más los costes totales de egress en comparación con AWS. No sólo consigue realizar la transcodificación de vídeo por un coste más bajo, sino que obtiene costes de egress cero al transcodificar con Akamai y distribuir el contenido con nuestra CDN. Si un cliente utiliza la CDN de Akamai para transferir vídeos transcodificados desde y hacia Puntos de Presencia (PoPs), los costes asociados se eliminan de forma efectiva. Al utilizar nuestros recursos informáticos para la transcodificación, los clientes pueden disfrutar de unos gastos de salida mínimos, garantizando una solución rentable para sus necesidades de transferencia de datos.
Solución: Migración a instancias dedicadas de Linode
Veamos cómo este cliente de OTT migró de instancias EC2 VT1 de AWS a instancias dedicadas Linode de 64 GB. Utilizaron Linode Object Storage para cargar los vídeos y, a continuación, lo conectaron al motor Kubernetes de Linode , que realizó la transcodificación del vídeo. Cuando se completó la transcodificación, los vídeos de salida se colocaron en un cubo de salida y luego se distribuyeron con la CDN de Akamai. Profundicemos en los siguientes pasos para ver cómo las máquinas virtuales dedicadas de 64 GB de Linodehicieron posible este proceso de transcodificación de vídeo sin problemas y de forma rentable.
Paso 1: ingestión y almacenamiento de contenidos
En primer lugar, Linode ingiere los vídeos en directo o a la carta sin procesar. Estos vídeos se cargan en un almacén de objetos local, Linode Object Storagediseñado específicamente para gestionar los contenidos entrantes. Este bucket actúa como repositorio de vídeos sin procesar a la espera de ser procesados. Aquí, los metadatos asociados a cada vídeo, como el título, la descripción y las marcas de tiempo, también pueden almacenarse junto a los archivos de vídeo. Cuando se carga un vídeo en este bucket, comienza el proceso de procesamiento de vídeo.
Paso 2: Inicialización del flujo de trabajo de transcodificación
Una vez subidos los vídeos sin procesar al bucket Linode , entran en juego las máquinas virtuales de transcodificación. Estas máquinas virtuales dedicadas están configuradas para supervisar continuamente el bucket, buscando nuevos vídeos que requieran procesamiento. Al detectar un nuevo vídeo, el software de transcodificación (en este caso, este cliente utilizó Capella) se activa para iniciar el proceso de transcodificación. Durante este proceso de transcodificación, los archivos de vídeo sin procesar se convierten a varios formatos y resoluciones optimizados para diferentes dispositivos y anchos de banda. Aquí es donde entra en juego la potencia de la transcodificación de vídeo en Linode . Las máquinas virtuales dedicadas de Linode aprovechan las capacidades de procesamiento en paralelo para gestionar eficazmente varias tareas de transcodificación simultáneamente, garantizando el procesamiento puntual de los vídeos entrantes.
Paso 3: Almacenamiento de salida
A medida que el software de transcodificación procesa los vídeos en bruto, se generan las salidas transcodificadas y se almacenan en un bucket de salida Linode (o el mismo bucket en una carpeta diferente). Estos vídeos transcodificados ya están listos para su entrega a los usuarios finales, tras haber sido transformados en formatos compatibles con una amplia gama de dispositivos y plataformas de streaming. Además, Linode's Object Storage garantiza una alta disponibilidad y durabilidad de los vídeos transcodificados, con mecanismos de redundancia e integridad de datos para salvaguardar contra la pérdida de datos.
Paso 4: Integración de CDN
Para mejorar el rendimiento y la escalabilidad, este cliente optó por integrar la CDN de Akamai en su flujo de trabajo de procesamiento de vídeo. Akamai almacena en caché, distribuye y controla el acceso a la biblioteca de vídeo, entregando contenido a los usuarios finales con baja latencia y alto rendimiento. Al aprovechar las capacidades de almacenamiento en caché y distribución global de Akamai, el cliente pudo optimizar su entrega de contenido sirviendo vídeos desde la ubicación más cercana al usuario final, reduciendo la latencia y mejorando la experiencia del usuario. Como ventaja adicional, no hay cargos de salida cuando se distribuye contenido con la CDN de Akamai porque el cliente utilizó la computación de Akamai para la transcodificación.
Paso 5: Gestión y automatización de la infraestructura
Para agilizar las operaciones y facilitar la escalabilidad, este cliente utilizó la API de automatización Linode para gestionar su infraestructura e implantar nuevas versiones de código. La API de automatización Linode permite el aprovisionamiento y la configuración programables de máquinas virtuales, volúmenes de almacenamiento y recursos de red, lo que permite gestionar la infraestructura de forma eficiente mediante código. Al utilizar la infraestructura como código (IaC), este cliente definió sus requisitos de infraestructura de forma declarativa mediante código, automatizó las tareas repetitivas y garantizó la coherencia entre entornos.
Reflexiones finales
Espero que esta explicación de los retos de la transcodificación de vídeo bajo demanda, la optimización de la utilización de las máquinas virtuales y el mantenimiento de unos costes de salida bajos haya servido para ilustrar una solución a un problema que sigue creciendo exponencialmente a medida que consumimos cada vez más contenidos de vídeo en streaming a diario. Utilizar instancias dedicadas de Linodepara la transcodificación de vídeo resultó ser un 33% más barato que utilizar instancias VT1 de AWS en el caso de uso específico. Y recuerde, cuando utiliza Akamai para la transcodificación de vídeo y utiliza nuestra CDN para la distribución, sus costes de salida se eliminan.
Si desea obtener más información sobre cómo implementar esto usted mismo, lea este tutorial sobre Transcodificación de vídeo escalable en Linode, donde aprenderá a convertir un archivo mp4 a HLS con Kubernetes y Capella. Asegúrate de registrarte para obtener 100 dólares en créditos gratuitos para completar el tutorial. También puede leer nuestra nueva guía sobre cómo configurar la transcodificación en directo para UGC Streaming en Akamai.
Comentarios