Release 3.1.0-kickoff de la Onesait Platform

Header Onesait Platform Release

El segundo cuatrimestre de 2021 ya ha terminado, y con ello viene una nueva iteración de versión de la Onesait Platform, la 3.1, repleta de novedades y mejoras.

La Comunidad de la Plataforma ha decidido llamar a esta versión «KickOff», nombre más votado en la encuesta que realizamos hace un par de semanas para escoger el nombre. Como de costumbre, la elección del nombre sigue nuestra la política de versionado que tenemos establecida.

En esta release hemos completado lo que teníamos en mente llevar a cabo en el Roadmap a lo largo de este cuatrimestre:

Pincha en la imagen para acceder al roadmap.

Pues dicho esto, pasemos a ver qué nuevas e interesantes novedades tenemos en esta nueva versión.

Engine

Esta distribución de la Plataforma da soporte al desarrollo de microservicios y todo tipo de aplicaciones. Para ayudar en este tipo de desarrollos, la Plataforma permite un desarrollo visual con un enfoque LowCode incorporando una consola web centralizada que soporta la administración, configuración, desarrollo y despliegue.

En esta versión hemos incorporado las siguientes características:

Renombrado del concepto Ontología a Entidad

Hasta ahora, en la Plataforma usábamos el nombre de Ontología para referirnos a las Entidades gestionadas por la Plataforma, nombre que provenía de los orígenes de la Plataforma en el ámbito I+D europeo. Como nos habéis transmitido en varias ocasiones, el término a veces resultaba confuso así que a partir de esta versión, en el Control Panel veréis que pasamos a referimos a las Entidades de la Plataforma:

Nueva interfaz de usuario «Home» del Control Panel

Esta nueva funcionalidad da a los usuarios administradores información relevante sobre el estado global de la Plataforma. Utilizando las métricas proporcionadas por Prometheus, la nueva interfaz de usuario permite al usuario tener una visión unificada del estado y rendimiento de cada uno de los componentes que se encuentran desplegados en su instalación.

Podéis encontrar más información al respecto en esta guía del Portal de desarrollado.

Creación de Web Projects

Hasta esta versión, la creación de proyectos web en Control Panel sólo permitía subir un archivo donde el usuario adjuntaba todos los archivos que va a necesitar para el funcionamiento de su proyecto web. Con esta nueva mejora, el usuario puede decidir si quiere usar como base de su proyecto web la plantilla web que provee la Plataforma, lo que nos da integrados y configurables vía JSON login, seguridad, menús, encabezados, etc.

Entidades sin ContextData

Se ha añadido una nueva configuración a la hora de crear una Entidad (antes Ontología) que permite habilitar o deshabilitar la opción de añadir el objeto «ContextData» a la información que se inserta en la Plataforma.

Esto os lo contamos con detalle en este artículo del Portal de desarrollo.

Intelligence

Esta distribución de la Plataforma da soporte al desarrollo de sistemas que usan las capacidades de Inteligencia de la Plataforma, bien sea con sus capacidades IA, de ingesta desde diferentes fuentes, analítica, visualización, etc.

En este trimestre hemos trabajado en las siguientes novedades:

Almacenamiento Big Data sobre Presto + MinIO

Presto es un motor Open Source de consultas SQL distribuido que permite lanzar consultas analíticas interactivas contra un gran número de fuentes de datos, y MinIO es un almacenamiento distribuido que implementa la API de AWS S3. Estas dos tecnologías unidas nos permiten reemplazar los servicios de almacenamiento de Hadoop (HDFS) y de Datawarehouse (HIVE). El uso de estas dos tecnologías nos va a permitir también tener una solución más elástica, dinámica y fácilmente gestionable que con Hadoop (más información).

Si estáis interesados en esta nueva funcionalidad, hemos creado una guía de uso que indica cómo usar esta característica.

Gestión del ciclo de vida de Machine Learning con MLFlow

Con el objetivo de ofrecer nuevas herramientas a los científicos de datos y que hagan su trabajo más productivo, hemos integrado MLFlow para ayudar a la gestión del ciclo de vida de Machine Learning.

Por tanto, ahora el usuario con un rol de tipo «Analytics» podrá acceder a esta nueva herramienta desde la nueva opción «My ML Lifecycle management»:

Respecto a MLflow, se trata de una plataforma Open Source para gestionar el ciclo de vida del desarrollo Machine Learning, incluyendo tracking de experimentos para registrar y comparar parámetros y resultados (MLflow Tracking), empaquetado el código ML de forma reutilizable y reproducible para compartirlo con otros científicos de datos y desplegarlo en producción (MLflow Projects), gestión y despliegue de modelos (MLflow Models) y almacén central de modelos para gestionar de forma colaborativa el ciclo de vida completo de un modelo MLflow, incluyendo el versionado de modelos, las transiciones de etapas y las anotaciones (MLflow Model Registry).

Podemos usar MLFlow desde los Notebooks que ya tienen establecido la Plataforma como Tracking Server:

También podemos usarlos desde nuestro propio código en diversos lenguajes, simplemente estableciendo como variable la URL de nuestro Tracking Server:

export MLFLOW_TRACKING_URI=https://jailbreak.onesaitplatform.com/controlpanel/mlflow

Podéis encontrar más información al respecto en este artículo del Portal de desarrollo: Gestión del Ciclo de Vida ML: Integración MLFlow en la Plataforma.

Soporte TimescaleDB como BD TimeSeries sobre Entidades

TimescaleDB es una base de datos Open Source para el almacenamiento y análisis de Time Series con la potencia y ventajas de usar SQL. Se encuentra construida sobre PostgreSQL, lo que tiene la ventaja de poder usar las herramientas del ecosistema Postgresql. Incluye también capacidades de gestión de datos específicas, como retención de datos, downsamplings, compresión nativa, gestión del ciclo de vida de los datos, políticas de agregado además de funciones orientadas a analítica Time Series, como la creación de ventanas, relleno de huecos, queries LOCF, etc. Además, al estar construida sobre PostgreSQL, puede almacenar tus datos de negocio en la misma base de datos permitiendo hacer JOINS.

A la hora de crear la Entidad tipo TimeSeries, podremos seleccionar TimescaleDB:

A partir de ahí, configuraremos el modo de uso de Timescale, como el Chunk time interval, que define la ventana temporal que se tiene en cuenta para crear los chunks.

También podemos definir el Window frequency, indicando si queremos que la TimeSeries tenga intervalos discretos a la hora de almacenar las medidas o no:

Otro parámetro que podemos configurar es el de funciones de agregación, que en el caso de seleccionar una frecuencia, se podrá elegir entre distintas funciones de agregación (LAST, SUM) para saber cómo agregar los datos de cada señal si se reciben más de un registro para un conjunto de etiquetas y una frecuencia/timestap en concreto.

Things

Esta distribución de la Plataforma da soporte al desarrollo de sistemas IoT, tanto en el ámbito Cloud como Edge.

A lo largo del trimestre hemos avanzado en los siguientes puntos:

Monitorización activa y telemetría Landscape

Hemos añadido al IoT/Edge Agent la capacidad de reportar mediante el Canal de Control (Flujo Device2Cloud) información relativa al uso de recursos (RAM, CPU y disco) del Edge Device correspondiente por cada una de las cargas desplegadas en el dispositivo. Esta telemetría es configurable mediante CLI en el propio Edge Device y el comando «iotagent».

Conector Nativo Kafka IoT/Edge HUB

Dentro de la sección de conectores, ya se encuentra disponible la creación y despliegue de un conector bidireccional (Productor y Consumidor), multi-tópico Kafka<->MQTT que permite conectar de forma sencilla el Canal de Negocio de todos los tipos de dispositivos incluidos en el Lanscape. Un sistema de gestión de properties, permite la configuración dinámica de todos los parámetros habituales de Kafka para su versión >= 2.7

Agente Edge Agent (basado en Go 1.15.8) en Orquestación Edge Device con interface avanzado para Podman

Hemos llevado a cabo una actualización del IoT/Edge Agent para poder interactuar con despliegues de Podman>=3.0 sobre RHEL 8 o distribuciones relacionadas. Ahora, es posible la ejecución aislada de contenedores o mediante el empleo de emulación docker-compose disponible en Podman.

Despliegue IoT/Edge HUB sobre VM/Baremetal usando microk8s

Hemos certificado y liberado el despliegue de IoT/Edge HUB sobre microk8s empleando VMs o Baremetal. Ya se encuentra disponible el despliegue Helm parametrizado para un despliegue mediante el Addon Helm v.3 de microk8s.

Despliegue IoT/Edge HUB para VM/Baremetal usando Rancher 2.5

Hemos certificado y liberado también el despliegue de IoT/Edge HUB sobre Rancher 2.5 empleando VMs o Baremetal. Ya está disponible el despliegue Helm parametrizado para dos ingress distintos Traefik (default en Rancher) y Apache Kong.

Agente Edge (basado en Go 1.15.8) en Orquestación de Clusters Edge con interfaces para microk8s

Ya es posible orquestar workloads sobre microk8s en clústeres remotos con el despliegue de la nueva versión del IoT/Edge Agent. Ahora podemos diseñar nuestros despliegues con Helm v.3, incluyéndolos en la estructura de despliegues de IoT/Edge HUB y el agente se encargará de distribuir y levantar la carga de forma segura, dando acceso mediante kubectl al clúster remoto.

DevOps

Dentro de esta línea de trabajo, incluimos todas las herramientas, utilidades y capacidades de plataforma que ayudan en el Desarrollo y la Operación.

Charts Helm de despliegue de recursos de Plataforma en alta disponibilidad

En esta versión hemos creado charts Helm para desplegar diferentes componentes de Plataforma en alta disponibilidad, tanto en Kubernetes como en Openshift. Podemos destacar el Chart para desplegar un Replica-Set de MongoDB en Kubernetes.

Onesait Platform Community

Esta línea de trabajo incluye las tareas que realizamos en relación con la Comunidad de la Plataforma, de la que forma parte la versión Open Source de la Plataforma Onesait, así como los diferentes canales de comunicación de la Plataforma.

A lo largo de este trimestre hemos estado trabajando en:

Versión 2.3.0-ce en Github

Hemos publicado la versión 2.3.0 de nuestra versión de Comunidad, la cual podéis encontrar en nuestro repositorio de GitHub para descargarla gratuitamente.

La lista de cambios que trae esta versión es la siguiente:

  • Perfiles a nivel de atributos de la ontología.
  • Despliegue por defecto en MongoDB 4.4 y nuevo motor SQL.
  • Nodo FlowEngine para usar las APIs de gestión de la plataforma.
  • Mejoras en la integración entre DataFlow y FlowEngine.
  • Varias mejoras en la Plataforma en el ámbito de la seguridad.
  • Nuevas y grandes mejoras en el Dashboard Engine.
  • Generación de WebApps Vue.js a partir de diseños FIGMA.
  • Mejoras en la configuración centralizada.
  • Exportación de consultas desde la Herramienta de Consultas.
  • Caché en las APIs.
  • Soporte de DocumentDB en Semantic DataHub.
  • Soporte de AuroraDB en Semantic DataHub.

Actualización de CloudLab

¿Recordáis que en la última release trajimos importantes cambios visuales? Pues la versión 3.0.0-jailbreak ya está disponible en nuestro entorno de pruebas gratuito de CloudLab.

¿Que aun no sabéis lo que es CloudLab? Os lo contamos hace poco en este artículo.

Webcast de la Onesait Platform

En cada release, llevamos a cabo un webcast en la que os explicamos de primera mano las novedades de la nueva versión. Este cuatrimestre realizamos el webcast de la versión 3.0.0-jailbreak, que os dejamos a continuación por si todavía no lo habéis visto.

Seguramente tras el verano llevemos a cabo el webcast de esta release, por lo que si no os lo queréis perder, suscribíos a nuestra comunidad de Meetup, en donde hay ya más de 700 suscritos.

Canales de la Comunidad

Estos canales son los que utilizamos para estar en contacto con vosotros, y seguimos creciendo tanto en contenidos como en seguidores (¡muchas gracias a todos!). A lo largo de esta segundo trimestre del año hemos:

  • Alcanzado los 1.073 usuarios en el CloudLab de la Onesait Platform, nuestro entorno gratuito y de experimentación.
  • Crecido en +16 nuevos suscriptores en nuestro canal de YouTube, superando los 145 suscriptores totales, sumando +70 horas de visualización y consiguiendo +8.000 impresiones durante este trimestre.
  • Superado las 80 clonaciones en GitHub de nuestra versión Community de la Plataforma, ganando +4 nuevos desarrolladores, alcanzando un total de 248 desarrolladores siguiendo el proyecto.
  • Seguido preparando contenidos para DZone, y que de momento nuestros artículos suman un total de +50.000 lecturas.
  • Publicado un total de 24 entradas en nuestro Blog, alcanzando +30.000 lecturas trimestrales.
  • Alcanzado los 287 seguidores en Twitter, tuiteando 165 veces, consiguiendo 50 retweets y superando las 30.000 impresiones.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *