En mi primer post expliqué cómo recopilar los datos, los problemas y soluciones que nos encontrábamos en un entorno distribuido, global y ahora vamos a ver qué métricas se usan, qué metadatos se incorporan de forma externa y cómo se presentan para facilitar el análisis de éstas estadísticas y extraer conclusiones de negocio.
Aunque no hayas leído el anterior artículo, para no perderse basta con saber que partimos de datos en bruto de conexiones, sesiones, bytes transferidos... y que podemos identificar al usuario en múltiples sesiones.
Vamos al lío.
Procesamiento y preparación de logs
En la fase de procesamiento se realiza la fusión de todos los registros de los nodos de la CDN repartidos por el mundo y se almacenan segmentados en un servicio S3 confiable y accesible para nuestros clientes.
Son datos en bruto que permiten a los clientes analizar ellos mismos los ficheros originales (raw) y procesarlos para obtener valores independientes del proveedor del servicio de streaming. Esta opción sólo suelen implementarla los grandes clientes por los recursos técnicos necesarios, pero es una funcionalidad disponible para todo el mundo.
En esta fase se agregan los metadatos que nos facilitan los clientes: Emisión, programa, categoría, canal, sección, horario, taxonomías... cualquier forma de agrupar y clasificar sus contenidos. Ésta quizá sea la característica diferencial de nuestra CDN porque la cercanía a nuestros clientes nos permite agregar metadatos de gran valor.
Hablamos ahora de métricas calculadas.
Métricas variables en el tiempo. Post-procesado de datos
La analítica de datos no es una disciplina fija ni rígida. Se recogen muchos datos en los logs y gracias a BigData y BI estos registros se pueden procesar varias veces para obtener nuevas métricas.
Por ejemplo, si no se segmenta por versiones de navegadores, solo el tipo genérico del navegador y en algún momento detectamos que es un indicador importante (tecnologías obsoletas, dificultades de acceso...) siempre podremos ejecutar un post-procesado para incluir esta nueva métrica.
Hay valores de los registros que pueden no ser válidos en procesados posteriores y son datos que hay que tener en cuenta para almacenarlos con los registros cuando sea preciso. De nuevo un ejemplo para explicarlo. Las direcciones IP con las que navegamos son reasignadas con cierta frecuencia y una dirección de una red española, puede aparecer en otra zona del mundo en un momento dado. Esto complica todos los procesados y salvo que se haya tenido en cuenta, arrojará datos erróneos.
Métricas de calidad del servicio (QoS)
No todas la información que guardamos es requerida por los clientes. Almacenamos y procesamos información de calidad del servicio ofrecido en las conexiones a los contenidos, de forma que nos ayude a mejorar el propio funcionamiento de nuestra CDN.
Muchos de estos análisis que hacemos en ARANOVA es posible porque tomamos la decisión hace tiempo de implementar nuestra propia tecnología para crear una red de distribución que pudieramos controlar de principio a fin y no depender de aplicaciones o servicios de terceros.
¿Necesitas alguna funcionalidad que no te ofrece ningún otro proveedor? Nosotros seguro podemos implementarla. Somos "fabricantes".
Ejemplos de las métricas que manejamos y que nos permiten comprobar la calidad del servicio que ofrecemos: tiempos de descarga de los segmentos de un vídeo o de un "live streaming", identificando si se trata del primer paquete, especialmente crítico o una vez "conectado", todo segmentado por tecnología y red de conexión, tipo de dispositivo...
Análisis de QoS de nuestra CDN
De las métricas anteriores, extraemos conclusiones que permiten ir implementando soluciones que mejoren nuestra red. Por ejemplo:
- Añadir algún perfil de codificación intermedio que permita para ofrecer la misma calidad en ciertos dispositivos y/o redes a menor bitrate.
- Crear nodos en datacenters proximos a la audiencia para mejorar el acceso a los contenidos desde esas redes o zonas geográficas con latencias mayores.
Un caso real, cuando un consumo elevado del tráfico proviene de redes corporativas grandes, ofrecemos un proxy integrado con la red de distribución, de forma que no se sature la conexión a Internet y pueda ahorrarse mucho ancho de banda pero sin perder las estadísticas que generan todos los usuarios.
Análisis y dashboards para mostrar métricas e indicadores
Para ofrecer todas las métricas y sus filtros usamos una herramienta opensource en la que creamos diferentes dashboards. Estos reunen las métricas y KPI's para nuestros clientes en función de sus necesidades específicas.
Es una herramienta muy potente para la consulta y analisis de datos, pero también compleja y basados en nuestra esperiencia uno de los factores clave para que el cliente quede contento es ayudarle a entender la información que se muestra datos tanto en tiempo real, procesados, en capas técnicas y de negocio...
Para cumplir este objetivo hay que reducir la dispersión de las metricas haciendo uso de porcentajes para agrupar los datos o usar grandes tipos. Por ejemplo: Si tenemos la métrica de porcentaje de visionado de un video VoD presentar al cliente una dispersión de 1 punto hace que se pierdan los datos. Si agrupamos los datos en rangos de 10 ó 20 puntos conseguimos una metrica de calidad mejor para su analisis.
El cuadro de mando principal (resumen) debe permitir de un rápido vistazo identificar problemas o eventos destacados. La herramienta descrita además permite añadir anotaciones a las gráficas para marcar causas y consecuencias y que sean fácilmente identificables los eventos en el tiempo. Por ejemplo, un evento puede marcarse como "derby" si involucra a equipos de una misma comunidad porque eso explica el elevado número de usuarios.
Conclusiones
Una buena CDN para streaming de vídeo y audio debe:
- Prover soluciones para los problemas habituales:
- Seguimiento del usuario
- Identificación del origen (web, app...)
- Bloqueo de agregadores, hotlinking, etc. (blacklist)
- Ofrecer un escalado dinámico tanto en capacidad como en costes.
- Permitir la agregación de metadatos y el post-procesado de logs.
- Ofrecer un sistema de estadísticas fiable y configurable, en tiempo real y con dashboards calculados.
- Analizar contínuamente la calidad de servicio que ofrece a los usuarios.
Un buen proveedor de servicios de CDN debe entender las necesidades del cliente y saber adaptar dinámicamente su propuesta de valor.