Un CTO considera herramientas de big data de código abierto para impulsar su compañía

Las tecnologías de big data son vitales para el desarrollador de plataformas de anuncios en línea, Altitude Digital. Su CTO comparte algunas lecciones de uso.

Durante casi dos décadas, Manny Puentes ha ocupado un asiento de primera fila conforme el nuevo software de código abierto se ha apoderado de los métodos establecidos de gestión de datos. En estos días, él está aplicando las lecciones que ha aprendido en el campo de la publicidad de video en línea a través de una variedad de tecnologías de big data de código abierto.

"El código abierto ha ayudado realmente a impulsar la innovación", dijo Puentes, quien es director de tecnología de Altitude Digital con sede en Denver. Allí, él conduce equipos que utilizan Hadoop, Spark, Kafka y otros marcos de grandes datos para alimentar una plataforma de software para la colocación de anuncios de video en sitios web de medios.

Las herramientas de código abierto han demostrado ser especialmente útiles como bloques de construcción de gestión de grandes datos, de acuerdo con Puentes. "Desmenuzan el problema –divide y vencerás", dijo. Eso también puede enormemente reducir la cantidad de código que los desarrolladores deben escribir para "hacer que big data sea procesable", agregó, señalando que los sistemas de Altitude necesitan procesar y analizar grandes volúmenes de datos sobre las interacciones con los anuncios con el fin de entregar los más relevantes de forma rápida a los usuarios individuales del sitio.

De los datos de resumen hasta la vista completa de big data

En días anteriores, las limitaciones de procesamiento y los altos costos del sistema significaban a menudo trabajar con datos de resumen, lo que podría comprometer la precisión analítica. Ahora, según Puentes, la estrategia en Altitude es trabajar con conjuntos de datos más completos, en un esfuerzo "para ser muy buenos al momento de hacer predicciones sobre la entrega del anuncio correcto en el momento adecuado a la persona adecuada." Para ayudar a que esto suceda, la compañía expandió en abril un clúster Hadoop existente de 30 nodos de cómputo a 50 y desplegó el motor de procesamiento Apache Spark conjuntamente para agregar capacidades de flujo de datos y acelerar consultas analíticas.

Puentes llegó a Altitude año pasado tras laborar en LinkSmart Inc., fabricante de un motor de anuncios de licitación en tiempo real que fue adquirido por otra startup en noviembre de 2014. Antes de eso, mientras trabajó en Federated Media Publishing LLC y Lijit Networks Inc. –esta última fue adquirida por Federated y posteriormente se separaron de ella– Puentes lideró un equipo de ingeniería que construyó y ejecutó otra infraestructura del sistema para soportar la licitación y entrega de anuncios en tiempo real.

En cada parada en el camino, Puentes ha hecho uso creciente de Hadoop y tecnologías relacionadas con software de grandes datos.

"Empecé como ingeniero de software, escribiendo código para mí mismo. En aquellos días era una combinación de Java y SQL. Entonces empecé a trabajar con Hive, MapReduce y Cascading", dijo, refiriéndose respectivamente al software de código abierto para data warehouse –el marco de procesamiento de lotes (batch) y programación atado a las versiones iniciales de Hadoop– y a una plataforma de desarrollo de aplicaciones y una capa de abstracción de software para Hadoop.

Trabajar con herramientas de software de código abierto

El software código abierto para big data sigue evolucionando rápidamente, con nuevas funcionalidades que se añaden para llenar agujeros y tecnologías emergentes como Spark que compiten por tener un puesto en las preferencias de los usuarios, mientras que las más establecidas como Hadoop continúan madurando. Con el tiempo, Puentes ha desarrollado algunos métodos para hacer frente al rápido ritmo de desarrollo así como a las deficiencias técnicas que lo acompañan. Su primer paso es la creación de entornos sandbox donde las fallas pueden ser toleradas sin afectar los sistemas de producción y operaciones de negocios.

"Desde una perspectiva de la ingeniería, es cierto que hay una gran cantidad de herramientas interesantes", dijo. "Pero tratamos de poner las cosas a través de un período de incubación. Siempre estoy probando diferentes tecnologías, si tienen sentido. Pero primero hay que jugar con ellas."

Otra serie de requisitos entran en juego más adelante, cuando se necesita un punto de vista operacional más estricto. En ese momento, dijo Puentes, los líderes de TI tienen que ver las herramientas bajo una luz diferente, evaluando su papel potencial en lo que él llama un "pipeline de datos" funcional. Eso significa que las organizaciones que implementan plataformas de big data deben considerar cosas como la redundancia, agregó Puentes, quien dijo que es particularmente importante preguntar qué tan rápido pueden recuperarse los sistemas si hay un problema con el software.

"Cuando se trabaja con grandes volúmenes de datos, a veces tiene procesos que pueden tardar horas, si no días, para ejecutarse", dijo. Si esos procesos fallan, los equipos de TI deben saber si tienen que volver al punto de partida en sus tareas, y cómo tales cortes afectan a otros procesos.

Como resultado, las herramientas de grandes datos relativamente estables que proporcionan un cierto nivel de tolerancia a fallos son del agrado de Puentes, que ha utilizado la distribución de Hadoop y el software relacionado de MapR Technologies Inc. en Altitude y en sus trabajos anteriores. "Es agradable ser capaz de obtener datos de una tienda de forma rápida, pero la atención que deben poner los proveedores para asegurarse de que los productos son operacionalmente eficientes es otro nivel a considerar", dijo.

Ponga las aplicaciones de big data en contexto

Puentes piensa que el contexto empresarial también es importante para las implementaciones de tecnología en entornos de grandes datos. Para ayudar a proporcionarlo, él hace un esfuerzo consciente para garantizar que los miembros del equipo de desarrollo entiendan los objetivos de negocio globales de Altitude. Tal vez a usted le guste asegurarse de que todo el mundo está en el autobús –o, en este caso, el Winnebago– sobre cómo los servicios de análisis específicos con los que están trabajando se ajustan a la estrategia más amplia de la empresa.

"Es una analogía", explicó Puentes. "Yo digo: ‘Es hora de la reunión de Winnebago’ y hacemos un viaje virtual. Vamos a través de todos los productos y explicamos por qué son importantes para la empresa, para el mercado." A partir de ese punto, continuó, los desarrolladores pueden obtener una perspectiva sobre cuál es su posición dentro de un panorama más amplio.

"Soy un gran promotor de esto, porque me parece que todos en la mesa terminan cubriendo los defectos de los demás", dijo Puentes. Eso crea un mejor proyecto, agregó, y también promueve la noción de datos grandes como núcleo para el negocio.

Investigue más sobre Gestión y metodologías

ComputerWeekly.com.br
Close