La ejecución de sistemas de big data en contenedores se ha convertido en una opción viable. Hadoop, Spark y otras plataformas de big data se pueden implementar en clústeres de contenedores Docker administrados por marcos de orquestación como Kubernetes. Incluso las bases de datos convencionales están adoptando grandes contenedores de datos. Por ejemplo, SQL Server 2019 permite a los usuarios mezclar Spark, Hadoop y bases de datos relacionales en contenedores basados en Kubernetes.
Pero las tecnologías disponibles aún están madurando y las utilizan principalmente los primeros usuarios que desean realizar algún trabajo de desarrollo por sí mismos. JD.com Inc. es un ejemplo de ello. El minorista en línea con sede en Beijing ha creado una gran arquitectura de contenedores basada en Kubernetes que ejecuta aplicaciones de análisis de datos grandes e inteligencia artificial en varios sistemas, incluidos Spark, Flink, Storm y TensorFlow.
Las aplicaciones ahora pueden «empaquetarse automáticamente en imágenes y desplegarse en contenedores casi en tiempo real», dijo Haifeng Liu, vicepresidente de ingeniería y arquitecto en jefe de JD.com, en una sesión de preguntas y respuestas publicada en el sitio web de Cloud Native Computing Foundation en agosto de 2018. Pero , agregó, la compañía tuvo que personalizar Kubernetes para solucionar problemas de rendimiento, un paso que incluía agregar nuevas funciones, eliminar las innecesarias y optimizar el programador de la tecnología.
Este manual explora el uso de contenedores de big data y ofrece consejos sobre cómo implementarlos y administrarlos. Primero, analizamos más en profundidad las aplicaciones potenciales y los obstáculos a los que se enfrentan los usuarios. A continuación, detallamos una lista de tareas pendientes para contener los sistemas de big data. Cerramos con la visión de un consultor de cómo encajan los macrodatos, los microservicios y los contenedores.