Big Data: ¿hasta cuándo será considerada una “nueva” tecnología?

 

En el ámbito TIC, cuando aparece una nueva tecnología o una nueva aplicación desconocida hasta la fecha es frecuente que se presente como una novedad disruptiva y rompedora, que cambiará el mundo tal y como lo conocemos. Sabemos que algunas lo hacen, como el caso de la Inteligencia Artificial, pero… ¿cuándo deja de ser una tecnología “innovadora”?

Recientemente, en una de nuestras formaciones de Big Data, nos preguntaron si las tecnologías Big Data han alcanzado la madurez suficiente para dejar de considerarse tecnología innovadora. Si consultamos el ciclo de sobreexpectación de Gartner desde 2010 hasta la actualidad vemos que tanto el Cloud Computing como el Big Data han alcanzado la meseta de productividad desde 2015.

¿Quiere decir esto que estas tecnologías ya no son innovadoras? La respuesta es no. La innovación sigue existiendo en el caso de tecnologías consolidadas y maduras con beneficios demostrados y aceptados. Las oportunidades de innovación pueden venir por varios frentes.

 

Ciudades e industria inteligente: big data más allá del sector tecnológico

El camino más inmediato para seguir desarrollando tecnología, es su aplicación a nuevos sectores verticales. Originalmente las tecnologías Big Data surgieron para poder procesar los grandes volúmenes de datos que manejaban los motores de búsqueda en Internet (como Google y Yahoo, por ejemplo) pero ponto aparecieron otros ámbitos que planteaban necesidades similares, como el comercio electrónico (Amazon), el retail (Wallmart) o el sector del transporte.

Pero no solo el entorno digital es una gran fuente de datos. Con el tiempo, las ciudades se han posicionado como un elemento generador de grandes cantidades de datos con gran potencial a la hora de extraer valor a través del análisis. Nuestro equipo lleva trabajando en esta línea de acción desde sus orígenes, participando en distintos proyectos relacionados con el entorno de las ciudades inteligentes, desde proyectos generales que engloban datos de toda la ciudad, como el proyecto Smart City Coruña, hasta otros más específicos que gestionan información acotada, como el proyecto Candela para la gestión inteligente del alumbrado público. También contamos con experiencia aportando soluciones de puerto inteligente, que trabajan con datos generados en el entorno portuario.

Tras las ciudades, llegó el turno de la industria. El proceso de digitalización que estamos presenciando con la llamada cuarta revolución industrial o Industria 4.0 las ha convertido en grandes generadoras de datos. Su explotación para convertirlos en información útil como soporte a la toma de decisiones y la automatización inteligente de algunos procesos relacionados con la fabricación (mantenimiento predictivo, control de calidad, gestión de recursos, por ejemplo) sigue siendo un reto tecnológico. En este contexto, trabajamos activamente implementando varias aplicaciones verticales, basadas en el análisis estadístico y algoritmos de aprendizaje automático o Machine Learning, desarrolladas sobre arquitecturas Big Data en sectores industriales tan heterogéneos como la acuicultura, la automoción, la fabricación de plástico o la ganadería, entre otros.

Otros sectores verticales que generan gran cantidad de datos en los que aportamos experiencia con tecnologías Big Data son la educación, con proyectos como Smart Author o Simplify, o las redes móviles 5G con proyectos como Veo5G.

 

Investigación para seguir evolucionando

Otra forma de innovación e investigación es la mejora de la propia tecnología a través de los avances y evolución de sus pilares fundamentales. En el caso del Big Data, se definen tres pilares tecnológicos, siendo estos los siguientes:

  1. Almacenamiento distribuido: actualmente, estamos siendo testigos de cambios a la hora de almacenar los datos. La forma tradicional de almacenarlos hasta ahora era a través de tablas con esquemas bien definidos y procesos Extract Transform Load (ETL), que normalizan los datos de entrada y presentan una rigidez que impide explotarlos al máximo. Si un científico o analista de datos quiere realizar cualquier manipulación o enriquecimiento de información, necesita apoyo del técnico TI que mantiene el almacén de datos o Data Warehouse. Esto pone freno a la innovación y va en contra de la cultura de una empresa Data Driven Company, en la que el dato es un activo en la estrategia de negocio. La tendencia de los últimos años es seguir el concepto Data Lake, en el que los datos se almacenan en su forma nativa, con poco o ningún procesamiento que adapte la estructura. De esta manera, la transformación de los datos se retrasa hasta que el usuario accede a estos, en lo que llamamos estrategias schema-on-read. Uno de los mayores beneficios de esta metodología es que los diferentes usuarios pueden realizar diferentes estandarizaciones y transformaciones según sus necesidades únicas.
  2. Computación distribuida: la computación distribuida también está en constante reformulación. El primer gran salto lo propició Apache Spark, añadiendo procesado en memoria al ecosistema Hadoop, que hasta el momento realizaba el procesado basado en disco con MapReduce. De esta manera, se consiguió aumentar la velocidad de procesado de datos hasta en 100x, sobre todo en procesamiento iterativo, ya que MapReduce debe escribir en disco todos los resultados intermedios, con la penalización que esto supone. Actualmente las aplicaciones que tratan con grandes volúmenes de información requieren de múltiples formas de procesamiento: aplicaciones que operan sobre grandes volúmenes de datos al mismo tiempo; sobre volúmenes no tan grandes pero realizando operaciones computacionalmente muy pesadas; en ocasiones se necesita que el sistema ofrezca una salida cada vez que entra un dato nuevo en el sistema, etc. Los patrones tradicionales de diseño se presentan demasiado rígidos ante esta diversidad de requisitos, por lo que han surgido nuevos patrones y arquitecturas que han ido evolucionando hasta casi converger, como CQRS, Event Sourcing o Event Driven, que giran en torno a la creación de una cola de eventos, sobre la que se coordinan los distintos servicios que componen la aplicación.
  3. Gestión de Recursos de almacenamiento y cómputo: en la versión inicial de Apache Hadoop las capacidades de gestión de recursos y el procesamiento de los datos (MapReduce) estaban acoplados. Fue con la segunda generación de esta tecnología cuando apareció YARN, una reescritura del software que desacoplaba la gestión de recursos. De esta forma se consigue que un clúster Hadoop soporte una amplia gama de aplicaciones de procesamiento independientes como Apache Spark, Flink o Storm, y no solo MapReduce. En la actualidad, gracias al empuje de las arquitecturas de microservicios y la virtualización ligera a través de contenedores nos encontramos con un nuevo enfoque en la gestión de recursos. Los contenedores, con Docker como implementación de referencia, se apoyan en distintas tecnologías que proporciona los núcleos de los sistemas operativos modernos para aislar las aplicaciones que se ejecutan y evitar la carga que supone iniciar y mantener máquinas virtuales.

Por otro lado, las arquitecturas de microservicios han supuesto el incremento de los componentes desacoplados que forman una aplicación y que necesitan desplegarse, ejecutarse y mantenerse de manera coordinada.  Para ello el papel del orquestador se ha convertido en una pieza clave. Kubernetes, es un orquestador de contenedores de código abierto creado y liberado por Google que automatiza el despliegue escalado y gestión de aplicaciones.

En Gradiant llevamos un par de años trabajando en la convergencia de los sistemas de gestión de recursos Big Data con los distintos orquestadores de contenedores que han ido apareciendo, como Docker Swarm, Rancher OS, DC/OS y Kubernetes. En la actualidad el orquestador de referencia es Kubernetes, por lo que, en la plataforma convergente de Gradiant, los recursos para las aplicaciones Big Data y las aplicaciones de microservicios se gestionan de manera única con Kubernetes. Parte de nuestros desarrollos están siendo liberados a la comunidad open source, a través de nuestra contribución al proyecto PNDA de la Linux Foundation.

 

Edge Computing y Edge AI: nuevos horizontes

En el campo de la investigación también nos encontramos analizando las posibilidades de nuevas formas de distribución de trabajos y datos con el Edge Computing y más recientemente el Edge AI. El Edge Computing propone aprovechar los recursos de procesamiento que se encuentran fuera del centro de datos, como los dispositivos inteligentes cuyo número crece exponencialmente en los últimos años. Realizar el procesado lo más cerca del dato o del usuario final puede ser crítico en ciertas aplicaciones con restricciones de tiempo real: en el proyecto Elliot nos servimos del Edge Computing para monitorizar procesos productivos en la Industria.

Como hemos visto, el Big Data y el Cloud Computing son ecosistemas en constante evolución y que siguen teniendo un enorme potencial para la innovación. Sin embargo, para poder sacar el máximo partido a estas tecnologías y poder aplicarlas a escenarios reales es necesario un conocimiento transversal. Uno de los  valores principales que encontramos en Gradiant es su equipo multidisciplinar, que permite diseñar y desarrollar soluciones que combinan el conocimiento y experiencia de varios grupos de investigación, como por ejemplo nuestra plataforma de datos para la Industria 4.0, en la que han trabajado ingenieros e investigadores de cuatro de nuestras línea de investigación: Industrial IoT, Cloud Computing, Big Data y Seguridad.

 

 


Autores: Carlos Giraldo Rodríguez, ingeniero-investigador en el área de Sistemas Inteligentes de Gradiant.