Azure Live Streaming, ¿Cuántas Unidades le pongo?

Quien no ha probado Azure live streaming, un servicio capaz de llevar video en vivo a cualquier punto del mundo, y que permite crearte tu propio canal de televisión en la red.

Una de las preguntas más frecuentes es cuantas unidades de streaming necesito.

Buscando la respuesta por internet encontré la solución en el siguiente blog.

En este explica que para poder estimar el número de unidades a reservar se necesitan lo siguiente:

Total Egress = [Aggregate bitrate] x [# of CDN parent cache] x [# of ABR formats] x [Parent region multiple]

Antes de ponernos a realizar cálculos, tenemos que tener en cuenta lo siguiente:

  • Cuando seleccionamos un número de unidades de streaming n, se obtendrá n+1 máquinas virtuales para la solución.
  • Cada máquina virtual que se asigna es de tamaño medio, lo que son dos núcleos y un ancho de banda máximo de 200Mps. Debido al contrato de nivel de servicio de Azure (SLA), que asegura el 80% del ancho de banda, deberíamos de contar que cada máquina nos debería de proporcionar 160Mbps de salida.
  • CDN (Content Delivery Network), necesitamos usar CDN para proveer nuestro contenido de forma rapida a todas parted.
  • Cuando se habilita CDN, en este caso el proveedor que se usa es Akamai, que es uno de los más usados, pero se puede usar perfectamente Azure CDN. Cada región tendrá configurado un número de solicitudes máximo que puede realizar, para cada fragmento de cada formato, tratando de superarlo.

Por tanto ahora con el siguiente ejemplo, podemos ver que como calcularíamos el número de unidades de streaming.

  • 10Mbps de datos de la captura de video con todos los formatos.
  • 9 regiones a distribuir en la red CDN;
  • Dos formatos a distribuir: smooth streaming y HLS;
  • Número de consultas por cada fragmento 2,5

Por tanto con el ejemplo si lo aplicamos a la formula, el resultado sería el siguiente:

10Mpbs x 9 x 2 x 2,5 = 450 Mbps

450 Mbps tenemos que necesitamos, como sabemos cada Unidad de Streaming proporciona 200Mbps, pero tenemos que tener en cuenta el SLA, lo que bajaría esa velocidad a 160Mps, que es el 80%, si realizamos la división 460 Mbps / 160 Mbps obtendríamos un resultado de 2,8.

Redondeando el resultado hacia arriba, nos daría 3, que es el número de máquinas virtuales necesarias para cubrir esa demanda de datos.

Ahora bien, a la hora de seleccionar el número de unidades de streaming seleccionaríamos dos, ya que tenemos que recordar que siempre hay que sumar uno, que es la unidad que Azure nos proporciona.

Por supuesto esto es orientativo para saber aproximadamente el número de unidades que necesito, el usuario siempre puede añadir más por si quiere tener un margen de seguridad.

Leave a Reply