Ciencia de datos en IT: qué es, técnicas clave y aplicaciones prácticas

Si te preguntas cómo es posible que las tiendas online te lean la mente para ofrecerte más plástico irresistible en el que gastar el sueldo, no es magia, es ciencia. Concretamente, ciencia de datos, un concepto que se está aplicando en infinidad de ámbitos: compras, meteorología, decisiones empresariales, políticas o militares… Y también gestión IT.
Por eso, hoy vamos a analizar a fondo esta disciplina, enfocándonos en cómo aplicarla para hacer más fácil la gestión de nuestra infraestructura tecnológica.
Así veremos que su objetivo no es (solamente) hacer realidad la distopía de 1984 de una manera mucho más siniestra de la que imaginó Orwell.

¿Qué es la ciencia de datos y qué aporta a IT?

La definición formal y aburrida dice que es el proceso de extraer conocimiento de los datos mediante técnicas estadísticas, algoritmos de machine learning y análisis avanzado, aplicado a resolver problemas operativos del ámbito IT.
Es decir, usar datos para optimizar nuestra gestión tecnológica.
Así, en entornos con infraestructuras cada vez más complejas (con una mezcla de cloud, on-premise, edge…) y en los que el volumen de información crece exponencialmente, la ciencia de datos permite transformar métricas, logs y eventos en conocimiento accionable.
Un conocimiento que nos puede permitir:

  • La automatización de operaciones repetitivas,
  • Una mayor seguridad proactiva, en lugar de reactiva, frente a amenazas.
  • La mejora en la toma de decisiones, gracias a que ese conocimiento accionable está basado en evidencia y no intuiciones, manías o el clásico intemporal: «Porque siempre se ha hecho así».

En el contexto de la ciencia de datos, encontramos los conceptos de big data o IA, especialmente, desde el crecimiento exponencial de la cantidad de datos que es posible recoger.
El big data hace referencia a lo masivos que se han vuelto esos datos. Mientras, la capacidad de análisis y aprendizaje de la IA permite realizar predicciones y encontrar patrones muy difíciles (o directamente imposibles) de detectar «a mano» o con análisis convencionales.
Con una buena ciencia de datos aplicada, pasamos de informes estáticos a posteriori a modelos que predicen fallos en servidores, optimizan capacidades y recursos o detectan intrusiones sofisticadas.

Cuál es la diferencia entre ciencia, análisis e ingeniería de datos

Como siempre pasa cuando una disciplina experimenta un auge, surgen terminologías y «expertos» por todas partes. Por eso, es necesario tener muy claras las diferencias con términos afines que también viven en el amplio ecosistema de la gestión de información.
He aquí una tabla resumen de lo que implica cada término.

Ciencia de datos

Análisis de Datos

Ingeniería de Datos

Crea modelos predictivos y conocimiento accionable avanzado

Interpreta datos históricos. Limitado para predicciones y decisiones

Construye la infraestructura de datos que permite esa ciencia o análisis

Enfocado en por qué sucederá

Analiza qué sucedió

Garantiza que los datos lleguen y se almacenen

Usa machine learning avanzado

Usa SQL y visualización gráfica, por ejemplo

Domina ETL (Extract, Transform, Load) y bases de datos

Puede que, a estas alturas, nos estemos convenciendo de que la capacidad actual de recopilar datos masivos no solo puede ayudar a gobiernos, Zuckerberg o Google con su espionaje y control, sino que también puede mejorar nuestra gestión IT en el día a día.
En ese caso, es necesario empezar con buen pie y llevar a cabo un proyecto de ciencia de datos de forma óptima.

El ciclo de vida de un proyecto de ciencia de datos en IT

A la hora de hacer realidad proyectos, mejor pisar caminos que se han demostrado eficaces y no reinventar la rueda. En este caso, podemos aplicar el modelo OSEMN (Obtain, Scrub, Explore, Model, Interpret) de ciclo de vida para proyectos de ciencia de datos aplicado a nuestras operaciones IT.
Para ello, no tenemos más que seguir los pasos del acrónimo:

Obtain (Obtener)

Este paso implica conseguir la materia prima, pues no hay ciencia sin datos, de modo que se trata de obtener los críticos de todos los rincones de nuestra infraestructura tecnológica.
Obviamente, cada una es un mundo al que hemos dado forma y gestionamos según nuestros traumas no resueltos, así que el proceso será diferente en cada caso. Sin embargo estas fuentes suelen ser críticas y comunes:

  • Métricas de rendimiento (CPU, RAM, ancho de banda…).
  • Logs de sistemas y aplicaciones.
  • Eventos de red (SNMP traps).
  • Datos de CMDB (Configuration Management Database) con la configuración de los activos de nuestro pequeño imperio tech.

Ahora, es innegable que bajar a la mina a extraer todo esto es una tarea tediosa cuando nuestra infraestructura es mínimamente compleja. Algunos los tendremos, para otros precisaremos acceso y en otros deberemos configurar que se empiecen a recoger.
Por eso, para este paso del proyecto, una herramienta de monitorización, como Pandora FMS, nos hace las cosas muy fáciles. Pandora centraliza la recolección, la facilita (por ejemplo, gracias a la posibilidad de tener esa CMDB configurada en la herramienta) y reduce enormemente tiempos y esfuerzos.

Scrub (Limpiar)

El proyecto de ciencia de datos será tan bueno como la calidad de esa materia prima que hemos recogido en la etapa anterior. Por eso, el siguiente paso es depurar.
Esto implica:

  • Eliminar ruido separando la paja del grano (por ejemplo, logs de depuración irrelevantes).
  • Corregir valores anómalos (por ejemplo, métricas que aparecen de una CPU y son superiores al 100%).

Explore (Explorar)

Aquí es donde empezamos a extraer un conocimiento básico de ese mar de datos, lo que normalmente implica:

  • Identificar patrones que emergen del conjunto de dichos datos, como por ejemplo, ¿a qué hora alcanzan su pico los servidores con un 90% o más de RAM?
  • Visualizar correlaciones, que implica comenzar a entender los motivos de los patrones anteriores. Por ejemplo, ¿el aumento de latencia de red que hemos observado coincide con backups programados?

Histogramas, plotting para relaciones entre variables, agrupar datos para detectar patrones… Las técnicas en este paso son variadas y es innegable que la habilidad de los encargados del proyecto marcará una gran diferencia en este paso.

Model (Modelar)

No hemos iniciado el proyecto de ciencia de datos por capricho ni voyeurismo, sino para que nos ayude a gestionar mejor. Especialmente, mediante esa ansiada predicción que ayude a prevenir y optimizar, en lugar de dedicar nuestros días a apagar fuegos como pollos sin cabeza.
Eso implica entrenar algoritmos para predecir escenarios, estos pueden ser complejos y basados en IA, o más sencillos, como por ejemplo, una regresión que realice un forecast de capacidad necesaria.

Interpret (Interpretar)

Todo lo anterior nos dará unos resultados que no se pueden quedar en el cajón, sino que debemos convertir en acciones durante este paso.
Así, por ejemplo, puede que tengamos que añadir servidores on-premise para evitar caídas o cuellos de botella en la productividad de los empleados. O que tengamos que dimensionar la capacidad del alojamiento online en ciertas épocas concretas, por la estacionalidad particular de nuestra actividad.

Técnicas y modelos para automatizar procesos IT

Los pasos 3 y 4 del modelo anterior de ciclo de vida son los más interesantes en la práctica, porque nos permiten aplicar técnicas para esa mejora de la gestión IT, que es lo que queremos al fin y al cabo.
Veamos esas técnicas con más detalle, con ejemplos de casos de uso reales de ciencia de datos en IT.

Clasificación

La agregación y análisis de datos puede dar lugar a mucha información, pero no toda será interesante. Pasar de la ceguera a estar inundados de alertas es como escapar de Alien para caer en Predator, y nos causará pronto una fatiga de información.
Para evitarla es fundamental una clasificación, priorizando las alertas en Críticas, Advertencias, Informativas…
Es fundamental saber que hay una posible intrusión e interesante conocer que algo se ha actualizado con éxito, pero no cada copia que se hace de archivos o cada elemento que hemos sincronizado con la nube.
Pandora FMS ayuda a aplicar esta técnica, porque permite reducir esa fatiga de alertas con un sistema personalizado que se adapta a cada infraestructura.

Regresión

La regresión se utiliza para predecir ciertos aspectos, como por ejemplo la capacidad de disco. Pandora FMS, dentro de sus prestaciones de Monitorización predictiva, puede hacer este capacity planning basado en datos y ayudarnos a aplicar esta técnica.
Así, asumiendo un comportamiento más o menos lineal, nos permite saber cuántos días nos quedan hasta que el disco se llene, o el número de peticiones a la base de datos que tendremos dentro de un mes.

Clustering

Este método implica la agrupación de elementos basada en similitudes (webservers, elementos críticos como bases de datos…) y permite la monitorización de grupos, en lugar de elemento a elemento, además de políticas de gestión homogéneas.
De esta manera, ponemos un mayor orden en el caos y Pandora FMS también permite la monitorización de clusters, así como la creación de los mismos según nuestras necesidades específicas.
Integrando aquí también la técnica de clasificación, podemos definir los nodos del cluster que sean críticos, alertas personalizadas para cada uno, etc.

Detección de anomalías

Esto puede implicar fallos en hardware o servicios, así como el mayor generador de sudores fríos, la intrusión por parte de actores maliciosos.
La clave aquí es identificar proactivamente patrones sospechosos y detectar la anomalía en cuanto se produzca.
Para ello, por ejemplo, Pandora FMS tiene un motor de detección de anomalías (MADE) que permite una detección automática de las mismas.
En el caso de análisis prescriptivos, si el sistema detecta, por ejemplo, que el servidor de base de datos DB-1701 (la referencia es demasiado fácil, así que no hay premio por pillarla) está al 98% de capacidad, este podría avisarnos de que, si continúa la tendencia y no hacemos nada, caerá en 15 minutos.
Como vemos, esta aplicación de la ciencia de datos nos previene de esa posible caída, en lugar de recibir el mensaje de que ya se ha producido, junto a quince correos de usuarios cabreados.
Equilibrar cargas, escalar contenedores, ajustar políticas de backup… La predicción adaptada a nuestra infraestructura es uno los Griales prometidos por un proyecto exitoso de ciencia de datos en IT.
Pero ¿cómo se consigue esa predicción?

IA y Machine Learning en tareas de operaciones IT

En el caso de Pandora FMS, el propósito final del motor de detección de anomalías MADE es el entrenamiento y uso de modelos de IA para ese descubrimiento anticipado.
Sin embargo, no es lo único que pueden hacer. Estos modelos pueden afinar aún más esa gestión proactiva de la capacidad, recursos, asignación inteligente de tickets…
Por supuesto, también podemos crear y entrenar modelos propios, ya sea desde cero o aprovechando algunas herramientas especializadas, como las que vamos a analizar ahora.

Herramientas más utilizadas en ciencia de datos aplicada a IT

A la hora de modelar dentro de nuestro proyecto (paso 4 del ciclo de vida) convirtiendo esos datos en acciones y herramientas que nos ayuden en la gestión, tenemos muchas opciones dependiendo del conocimiento, el tiempo y, cómo no, el dinero que tengamos para dicho proyecto.
Así, las principales herramientas para materializar esa ciencia de datos son:

  • Python/R: Para desarrollo de modelos personalizados y, en general, el clásico para casi cualquier situación.
  • TensorFlow/PyTorch: Bibliotecas populares para el desarrollo de Deep learning.
  • Apache Spark: Un motor de procesamiento de datos de código abierto diseñado para el análisis a gran escala (con el que podemos interactuar usando Python, por ejemplo, si instalamos Pyspark desde pip).
  • Jupyter Notebooks: Prácticamente, el estándar para crear documentación interactiva de análisis.
  • Servicios Cloud: Como Amazon Sagemaker para construir, entrenar y desplegar modelos desde la nube, sin tener que estar configurando e instalando on-premise.

No son las únicas herramientas, Google Colab, Kaggle, Anaconda… el abanico es tan amplio, que podremos procrastinar a gusto toquetéandolas, mientras nuestro proyecto sigue sin avanzar.

Diferencias entre ciencia de datos, IA, BI y análisis de datos en IT

La ciencia de datos es algo que se ha puesto muy de moda en los últimos tiempos, pero ya se sabe qué ocurre con esas modas que todo el mundo ansía. Que empezamos a estirar conceptos y usar la creatividad del marketing para llamar ciencia de datos (o el concepto de moda que sea) a cosas que no son.
Por eso, es mejor dejar claros los malentendidos habituales.
La ciencia de datos usa métodos, procesos, algoritmos, modelado y más para extraer conocimiento de los datos, con un enfoque en interpretar, predecir y prescribir, pero la ciencia de datos no es:

  • Solo programación. Aunque la usa para el modelado, sobre todo, pero también puede ser útil para la recolección, la limpieza… La ciencia de datos puede incluir aprendizaje automático, por ejemplo, o estadística.
  • Solo análisis de datos. Este es una parte de la ciencia, pero dicha ciencia va mucho más allá.
  • Solo IA. Esta es una herramienta que puede ser utilizada en ciencia de datos, especialmente si queremos esa predicción y prescripción. Sin embargo, no es el único enfoque, pues a veces podemos usar regresión u otros análisis estadísticos.
  • BI (Business Intelligence). Esta inteligencia de negocio para toma de decisiones usa tradicionalmente datos históricos y estáticos, aunque su evolución integra otros conceptos, como BAM (Business Activity Monitoring). La ciencia de datos trasciende eso y crea modelos que ayudan a esa toma de decisiones del negocio.

He aquí una tabla resumen con las características principales de cada concepto.

Concepto

Predictivo

En tiempo real

Acción automática

Profundidad técnica

Ciencia de Datos

A veces

A veces

Alto

IA

A veces

Alto

BI

Medio

Análisis de Datos

A veces

Medio-Bajo

Cómo permite Pandora FMS aplicar la ciencia de datos en IT

Dado que la ciencia de datos recoge, filtra, analiza datos, modela e implanta soluciones, una herramienta de monitorización global, como Pandora FMS, ayuda a levantar el peso más pesado de un proyecto de este tipo.
Ya hemos visto algunos ejemplos cuando hablábamos de los pasos implantando un proyecto, pero no son los únicos.

  • Por ejemplo, facilita la recogida mediante la extracción unificada de datos con agentes, APIs, etc. Eso permite fases iniciales del proyecto más rápidas y sencillas.
  • Puede crear sistemas de alertas personalizadas cuando apliquemos técnicas como la clasificación o la realización de clusters.
  • Aplicación de IA para detección de anomalías con su motor MADE.
  • Visualización avanzada de los elementos clave derivados del proyecto de ciencia de datos, gracias a sus dashboards personalizados.

Para esta ciencia hacen falta datos, y herramientas avanzadas de monitorización como Pandora FMS son expertas en recogerlos, correlarlos, mostrarlos y clasificarlos.

Hacia una gestión IT basada en datos

En muchas ocasiones, la gestión de una infraestructura IT se basa en la destreza, intuición o manías de sus administradores. O bien se construye alrededor de las capacidades de las herramientas disponibles, en lugar de los procesos óptimos.
Hoy, con el auge del big data, la gestión basada en datos se ha implantado en la mayoría de campos porque, al estar basada en la evidencia particular de cada organización, la optimización es mayor.
No podemos caer en la paradoja de que la tecnología, que es la que ha hecho posible precisamente esa gestión basada en datos, no la aplique en sí misma, haciendo bueno el refrán de: «En casa de herrero, cuchara de palo».
Un buen proyecto de ciencia de datos nos dará beneficios tangibles, como por ejemplo:

  • Reducción del MTTR (Mean Time To Repair): Con modelos predictivos y alertas personalizadas.
  • Ahorro de costes: Con la optimización de recursos cloud/on-premise, la reducción de fallos y sus gastos asociados, etc.
  • Seguridad reforzada: Facilitando, por ejemplo, la mitigación de los temidos ataques zero-day mediante detección de anomalías.

En cuanto al futuro de la ciencia de datos, todo el mundo tiene sus predicciones. Pero quien sabe de verdad, también sabe que esas predicciones valen lo mismo que un billete de seis euros.
Pero sí es cierto que hay una serie de tendencias que despuntan en ciencia de datos, como por ejemplo:

  • AIOps: O Inteligencia Artificial para Operaciones IT, que busca integrarla junto al aprendizaje automático para mejorar y automatizar la gestión.
  • Modelos híbridos: Combinando reglas expertas, deep learning y otras técnicas, para obtener lo mejor de cada mundo, mitigando sus debilidades.
  • Automatización total: Que abarcaría desde la detección de problemas, hasta la resolución sin intervención humana.
  • El futuro no está escrito y mucho menos en esto, aunque muchos se apresuren a venderlo antes de tenerlo. Pero la realidad es que, en el presente, la ciencia de datos debería estar en el núcleo de la gestión de infraestructuras IT modernas.
    Implementarlo no significa un proyecto faraónico. Incluso las arquitecturas más modestas pueden sacar un enorme partido a sus datos y convertirlos en ventajas.
    Al fin y al cabo, los competidores inteligentes ya lo están haciendo.

¿Puede una sola herramienta tener una visibilidad global?