Actualización de herramientas en CloudLab
Como bien conoceréis, Onesait Platform tiene un entorno de experimentación que ofrecemos de manera pública para realizar desarrollos y probar las funcionalidades que ofrece la Plataforma. De manera periódica, actualizamos la versión de los módulos de la Plataforma desplegados para ofrecer una versión reciente de la misma.
En este caso, vamos a hablar del resto de módulos de apoyo que no es necesario actualizar para el normal funcionamiento de la Plataforma, pero veíamos necesario poner la última versión para ofrecer lo último también de estas piezas auxiliares. Vamos a listar las herramientas que se han actualizado y para qué se utilizan en la Platforma:
- Zookeeper + Kafka
- Onesait Platform DataFlows
- Notebooks (Zeppelin)
- RealtimeDB (MongoDB)
- Identity Manager
Zookeeper + Kafka
Zookeeper es un servicio centralizado para el mantenimiento de la información de configuración (en nuestro caso, se utiliza para el descubrimiento del resto de servicios), mientras que Kafka es utilizado para la ingesta y el procesamiento de datos de manera masiva, que utiliza colas (llamadas tópicos) para gestionar los diferentes flujos de entrada.
La actualización ha consistido en el cambio de versión 2.7.0 de Kafka a la versión 3.4. Para más información sobre la utilización del módulo, se puede ampliar información en este artículo del Portal del Desarrollador.
Onesait Platform DataFlows
El módulo de DataFlows de Onesait Platform es la herramienta que provee a la Plataforma para crear y configurar flujos de datos entre orígenes y destinos tanto para procesos tipo ETL/ELT como flujos en Streaming, incluyendo en estos flujos transformaciones y procesos de calidad del dato.
Durante varios años, Onesait Platform ha contado con Streamsets Data Collector (SDC) como motor para implementar el módulo de Onesait Platform DataFlow. SDC era un software open source con un enfoque low code para desarrollar y monitorizar flujos de datos. Durante este tiempo hemos usado con éxito esta tecnología en multitud de proyectos y productos. A mediados de 2021, Streamsets, la compañía que está detrás del SDC, cambió su política de licencias y a partir de la versión 4.0, SDC no es open source.
Debido a este cambio en la licencia, en Onesait Platform se ha creado un fork del repositorio open source de SDC, que parte de la versión 3.23.0. Desde esta release, el equipo de Onesait Platform llevará a cabo tanto correcciones como nuevas funcionalidades. Este nuevo producto, derivado de SDC tiene el nombre de Onesait Platform DataFlow y seguirá manteniendo la licencia Apache License 2.
Por esta razón, se ha actualizado la versión del módulo de la versión 3.18.0 de Streamsets a la versión 3.23.1 de Onesait Platform DataFlows. Lo contamos con detalle en este artículo del Portal del Desarrollador.
Notebooks (Zeppelin)
El módulo de Notebooks provee a los científicos de datos de un entorno web multiusuario en el que elaborar modelos de análisis de la información almacenada en la Plataforma con sus lenguajes favoritos (Python, Spark, R, Tensorflow, Keras, SQL, etc.) de manera interactiva.
En este caso se ha actualizado la versión 0.8.2 que estaba instalada en el entorno a la versión 0.10.1. Las nuevas funcionalidades se detallan en este artículo.
RealtimeDB (MongoDB)
En cuanto a MongoDB, se utiliza en el entorno CloudLab como RealtimeDB. MongoDB es un sistema de base de datos NoSQL orientado a documentos de código abierto, que en lugar de guardar los datos en tablas lo hace en estructuras de datos BSON (similar a JSON) con un esquema dinámico. Mongo alcanza un equilibrio perfecto entre rendimiento y funcionalidad gracias a su sistema de consulta de contenidos. Lo explicamos con detalle en este artículo del Portal del Desarrollador.
En este caso se ha actualizado de la versión 3.4 (en la que se utilizaba Quasar en Plataforma para las consultas SQL) a la 6.0 ya con la librería SQL directamente implementada en el código de la Plataforma. En el siguiente gráfico se muestran las funcionalidades que se han añadido en las versiones intermedias.
Identity Manager
El Identity Manager es el módulo de la Plataforma que se utiliza para la autenticación y gestión de accesos en la Plataforma. Previamente, se utilizaba el módulo OAuth Server para realizar esta función, pero se ha actualizado para usar Keycloak.
Esta decisión se ha tomado debido a que, a partir de la versión 6.0.0-Vegas, el módulo OAuth Server desaparece y solamente se utiliza Keycloak como Identity Manager. Para adelantarnos a esta situación en la futura actualización, se ha realizado ya el cambio de Identity Manager. La pantalla de inicio de sesión muestra un nuevo aspecto, pero el acceso se realiza de manera muy similar:
Imagen de cabecera: Erik Mclean en Unsplash.