Release 3.0.0-jailbreak de la Onesait Platform
Este primer cuatrimestre de 2021 nos trae una nueva versión mayor de la Onesait Platform cargada de novedades y rediseños visuales. Alcanzamos pues la versión 3.0, la cual la Comunidad ha decidido denominar como «JailBreak», siguiendo la política de versionado que tenemos establecida.
Esta release completa lo que teníamos en mente en el Roadmap de la Onesait Platform para este Q1:
¿Y qué novedades trae esta nueva versión mayor? Pues echémosle un ojo:
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 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 importantes características:
Nueva UX para el Control Panel
Tras meses de duro trabajo, en esta versión veréis un nuevo diseño gráfico del Control Panel de la Plataforma, adaptado a la nueva versión 3 del sistema de diseño Onesait Design System (ODS).
Seguimos trabajando en la adaptación completa a este nuevo diseño gráfico. En próximas versiones veréis una nueva UI para las pantallas principales.
Nuevo tipo de Ontología: Ontología no persistente o de control
Hasta ahora, el concepto de ontología ha representado a las entidades gestionadas por la Plataforma y persistidas en uno de los repositorios de la misma, aunque en muchos escenarios se usan las ontologías como «Ontologías de Control» que nos permiten desencadenar procesos como:
- Lanzamiento de una Regla.
- Ejecución de un Flow del FlowEngine.
- Ejecución de un Pipeline del DataFlow.
- Comunicación con Broker Kafka para inserción y notificación.
- Etcétera.
Por ello, hemos creado el concepto de Ontología No Persistente/Ontología de Control, que es un nuevo tipo de ontología que no se persistirá, pero si que desencadenará todos los procesos que pueden lanzarse en la Plataforma tras inserción de una ontología. Puede crearse desde la opción «Advanced Settings» a la hora de crear una ontología:
Log centralizado integrado en Control Panel
En la release anterior, integramos Graylog como solución para centralizar los logs de la Plataforma, y a su vez ser usada por las soluciones construidas sobre la Plataforma. En esta versión, hemos integrado la potente UI de Graylog con el Control Panel permitiendo el acceso a los usuarios administradores. También se ha disponibilizado su API REST, como podéis ver aquí.
Si estáis interesados en conocer más al respecto, os lo contamos en esta entrada.
Integración de Keycloak como Advanced Identity Manager
Aunque esta funcionalidad se completó en el Q4 previo, hemos incluido funcionalidades que nos habéis venido solicitando.
Así, la Plataforma incluye un Identity Manager construido sobre Spring Cloud Security que cubre los casos de uso de seguridad típicos como la autenticación, autorización, realms, plugins, etc. Hemos integrado Keycloak como un Identity Manager alternativo para escenarios avanzados, mapeando los realms de Keycloak con los verticales de plataforma, los Keycloak Clients con los Realms de Plataforma y como Provider por defecto la ConfigDB de la Plataforma (aunque puede utilizarse también LDAP).
Podéis encontrar más información sobre la integración en esta guía: Soporte a Keycloak como Identity Manager Advanzado.
Broker Kafka de la Plataforma actualizado a Kafka Confluent Version 6.1.1
Hemos actualizado la versión de Kafka, Zookeeper y KSQL (ahora KsqlDB) al Confluent versión 6.1.1, por lo que con esta actualización pasamos a tener la versión 2.7.0 de Kafka.
Ajustes al despliegue de microservicios sobre Onesait DevOps
Hemos ajustado el despliegue de microservicios sobre Onesait DevOps para que el usuario de esta funcionalidad no necesite configurar más que lo imprescindible.
Podéis echar un ojo al uso de esta funcionalidad aquí.
Nuevas opciones de configuración en integración con Elasticsearch
Hemos aumentado las posibilidades de configuración de ontologías definidas sobre Elasticsearch permitiendo la configuración de Shards y Réplicas para cada ontología, así como la configuración de Templates (para almacenar datos de auditoría, logs, timeseries, etc.). Elasticsearch recomienda crear varios índices por bloques temporales, especialmente si los datos son más o menos homogéneos por dicho bloque temporal; por ejemplo, crear un índice por mes, o por semana, o por día, etc.).
Os lo explicamos con más detalle en esta entrada.
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:
Nueva herramienta para linaje del dato
Seguimos ampliando nuestras capacidades de Gobierno del Dato (¡y lo que queda por llegar!), incorporando esta funcionalidad que permite consultar las relaciones de un elemento (Ontología, Dashboard, etc.) con todos los demás elementos de la Plataforma, lo que ayudará a dar una visión global de la repercusión que puede tener un cambio en alguno de los elementos del linaje. Se ha creado una nueva opción de menú DATA GOVERNANCE con esta funcionalidad:
Esto permite mostrar la trazabilidad sobre la ontología seleccionada:
En esta entrada os explicamos su uso.
Nueva versión del Rules Engine
Hemos ampliado las funcionalidades del Rules Engine conforme a las solicitudes que nos habéis ido haciendo llegar (para que veáis que os escuchamos atentamente). Así, en esta versión las reglas pueden definirse a través de tablas de decisión que pueden cargarse a través de la UI.
Además, en el motor está accesible una utilidad para consultar las ontologías, lo que nos permitirá cruzar los datos de entrada a la regla con otras condiciones de contexto. Todo esto os lo explicamos en esta guía.
Nueva versión de la librería cliente Python
Hemos publicado una nueva versión de la librería cliente de Python (la 1.4) que incluye diversas novedades, entre ellas la clase «BaseModelService» que da soporte para entrenar, reentrenar, desplegar y hacer inferencia de modelos de forma sencilla. Podéis ver un ejemplo de su uso aquí.
Wrapper para crear modelos sobre Notebooks
En esta versión de la Plataforma, en colaboración con el equipo de Onesait Data, hemos incluido mejoras en el cliente de Python, permitiendo entre otras funcionalidades:
- Almacenar/recuperar de forma transparente los archivos de los modelos generados por los entrenamientos en el File Repository.
- Usar datos de ontologías como input de datos de los modelos
- Gestión de una ontología de metainformación de los diferentes modelos asociados y la recuperación del modelo más preciso.
Además de esto, hemos preparado un completo tutorial sobre su uso en Notebooks para creación de Modelos como podéis ver en esta guía.
Gadgets Favoritos en Dashboards
Esta nueva funcionalidad va a permitir que cada usuario pueda asignar gadgets favoritos, de modo que luego podrá añadirlos rápidamente a sus Dashboards.
Estos gadgets favoritos pueden representarse como componentes de tipo «drag and drop» y arrastrarlos encima de nuestros Dashboards, para así añadirlos a estos.
Actualización del componente que da soporte al DataFlow
En esta release hemos actualizado la versión de Streamsets de la 3.10 a la 3.18.1, que incluye diversas mejoras en los nodos de las librerías propias de Streamsets.
Esta nueva versión incluye la librería del orquestador, que nos permitirá planificar la ejecución de flujos de las instancias de Dataflow que tengamos desplegadas en la Plataforma, incluyendo el Cron Scheduler:
Os lo contamos con más detalle en este artículo al respecto.
Mejoras en la creación de ontologías sobre las bases de datos externas
Hasta esta release, sólo era posible generar ontologías desde bases de datos externas que vinieran dadas directamente con la conexión (y, por tanto, obligando a incluir la base de datos y/o el esquema, según la tipología de la base de datos, en la url de conexión). Con la nueva versión de la Plataforma, es posible elegir la base de datos y/o el esquema (según aplique en cada base de datos) antes de seleccionar la tabla.
Podéis encontrar más información sobre esto en esta entrada.
Things
Esta distribución de la Plataforma da soporte al desarrollo de sistemas IoT, tanto en el ámbito Cloud como Edge.
En este trimestre hemos avanzado en:
Dashboard Broker
Integrado con Prometheus y Grafana, la versión de IoT/Edge HUB incluida en esta versión ahora proporciona una herramienta para monitorear el IoT/Edge Broker basado en EQMX.v.4.0. Con un conjunto completo de KPIs ya empaquetados, es posible ver fácilmente parámetros como: número de clientes conectados, número de mensajes intercambiados, concurrencia actual de recepción de mensajes por segundo, carga de los nodos del clúster Erlang, etc.
Asistente de creación de proyectos
Ahora es posible crear proyectos IoT/Edge Computing en Things a través de un asistente intuitivo. Le guiará para la asociación y el registro de dispositivos, la conexión de registros de contenedores, la edición de comandos operativos de dispositivos de borde y la fijación de repositorios Gitlab/Gitea para la configuración y la base de código.
Mejoras en Landscape
En esta nueva versión se ha mejorado la visibilidad de la disponibilidad del panorama de dispositivos, proporcionando información sobre los canales de control y de comunicación empresarial, la información Device-2-Cloud y Cloud-2-Device. Se ha incluido la identificación única (urna) siguiendo el estándar RFC-8141. También se proporcionan QRs (urls para el acceso a la información de los dispositivos) y se ha añadido un conjunto de consejos de contexto que proporcionan ayuda en el manejo de los dispositivos.
Conectores para DataFlow y FlowEngine
Se ha añadido la función de definir conectores bidireccionales a Data Flow y FlowEngine. Esto permite la ingesta automática de las mediciones de los dispositivos y el enrutamiento de comandos utilizando modelos de ontologías simples. Los transportes de estos dos conectores se realizan de forma segura a través de TLS> = 1.2 y secretos de usuario de algoritmos criptográficos configurables.
Docker Registry.v.2 Browser
Permite explorar el registro de imágenes integrado con IoT/Edge HUB para los contenedores Edge. También es posible comprobar las versiones, tamaños, analizar las diferentes capas y seleccionar automáticamente las etiquetas que se incluirán en sus proyectos de despliegue. Es posible verificar la carga de las imágenes y el estado de las versiones de forma sencilla.
KMS-Vault
Se ha añadido una sección completamente nueva para la gestión del ciclo de vida de las claves y los secretos. Gracias a este nuevo módulo, es posible generar un gran número de tokens criptográficos, almacenarlos de forma segura en HMS (hardware y software) y garantizar el cumplimiento de la normativa en la protección de los activos digitales distribuidos. Things utiliza este módulo para proteger los dispositivos y las comunicaciones.
DevOps
Dentro de esta línea de trabajo incluimos todas las herramientas, utilidades y capacidades de la Plataforma que ayudan en el Desarrollo y la Operación.
Charts Helm para Onesait Platform CE
Helm permite empaquetar el despliegue de la Onesait Platform para ser desplegadas en Kubernetes, permitiendo «aplantillar» sus ficheros o manifest, tales como Deployment, Service, PersistentVolumeClaim, Ingress, Secret, etc. en plantillas o Templates de Helm y empaquetarlos en un Chart. En esta versión hemos liberado el código de un chart de Helm para poder desplegar la Community Edition de Onesait Platform sobre k8s. Podéis encontrar el código en github además de en Artifact HUB:
Stack para Monitorización avanzada de Plataforma
Otra de las novedades de esta versión, en cuanto a la Operación, es la integración de herramientas de monitorización avanzada de los distintos módulos de la Plataforma (o externos a Plataforma). Para ello se ha elegido el stack formado por:
- Telegraf: como agente recolector de métricas de distintas fuentes (Mysql, Mongo, Redis, Apache, Cassandra, etc.)
- InfluxDB: como base de datos TimeSeries encargada de almacenar las métricas enviadas por el agente Telegraf y Grafana, como herramienta de visualización de las métricas de InfluxDB.
Certificación de la Plataforma bajo OpenJDK 15
Otro de los añadidos de la Plataforma en este primer Q de 2021 es la certificación de la Plataforma sobre OpenJDK 15, bajo demanda y en aquellos entornos que se precise. Esta versión es la implementación Open Source de la versión 15 de Java SE, se ofrece con licencia GNU de código abierto, pero también se ofrece la versión comercial con soporte (GA) desde Septiembre de 2020.
Migración del Elasticsearch integrado en Plataforma a OpenDistro for ElasticSearch
La versión gratuita de Elasticsearch que proporciona la empresa Elastic, que es su desarrollador, no tiene muchas funciones básicas que son necesarias para hacer un despliegue en producción. Por ejemplo, no tiene seguridad ni soporte SSL para comunicaciones, etc. Por ello, hemos integrado en la Plataforma OpenDistro, que es una distribución de Elasticsearch con licencia Apache 2.0 que sí incluye seguridad, soporte SSL y soporte SQL, y además está mantenida por Amazon y es la que versión que usa AWS.
Nueva Sección TRAINING en documentación
En esta release hemos creado nueva documentación para las sesiones TRAINING, creándose una formación básica, otra avanzada y otra de operación, que contienen una presentación para guiar la formación y un conjunto de videotutoriales para explicar cada tema.
Estos manuales están disponibles para los usuarios con una suscripción activa de la Onesait Plataform.
Comunidad Onesait Platform
En esta línea de trabajo se contemplan las tareas que llevamos a cabo en relación con la Comunidad de la Plataforma, de la que forma parte la versión Open Source de Onesait Platform, así como de los diferentes canales de comunicación de la Plataforma.
A lo largo de este primer trimestre de 2021, hemos trabajado en:
Curitiba Smart Hack
Hemos participado en la realización de este evento en Brasil, dando apoyo logístico sobre la Plataforma, así como realizando un Workshop formativo de dos horas y media en portugués, al que asistieron más de 100 participantes:
Webcast de la Onesait Platform
Este trimestre hemos llevado a cabo dos nuevos webcasts sobre la Plataforma:
Uno con las novedades de la release 2.3.0 de la Plataforma:
Otro sobre la gestión de los Digital Twins en la Onesait Platform:
Si queréis estar al día con nuestros webcasts, no dejéis de apuntaros a nuestra comunidad de Meetup, en donde hay ya más de 700 suscritos.
Canales de la Comunidad
Seguimos creciendo en las redes sociales y en nuestros canales web. A lo largo del trimestre hemos alcanzado los siguientes hitos:
- Hemos superado los 1.000 usuarios en nuestro entorno CloudLab de la Onesait Platform, consiguiendo +100 nuevos usuarios en este período.
- Crecemos en +35 nuevos suscriptores en nuestro canal de YouTube, superando los 130 suscriptores totales, sumando +210 horas de visualización y consiguiendo +12.000 impresiones durante este trimestre.
- Alcanzamos las 70 clonaciones en GitHub de nuestra versión Community de la Plataforma, con hasta 244 desarrolladores siguiendo el proyecto.
- Seguimos escribiendo en DZone con dos nuevas publicaciones (Making a Dashboard About COVID-19 in Portugal y Map Viewers: Main Open Source Libraries) y +48.000 lecturas de nuestros artículos.
- Mantenemos el ritmo de publicación en nuestro Blog, con 49 nuevas entradas y +21.000 lecturas trimestrales.
- Por último, seguimos creciendo en Twitter, alcanzando los 284 seguidores, con 290 tweets publicados, 145 retweets recibidos y llegando casi a las 52.000 impresiones.
Actualización del Entorno CloudLab
Hemos actualizado con la versión del trimestre (la versión 2.3-immortal). Como siempre, podéis descargarla gratuitamente desde nuestro repositorio de GitHub.
Pingback: Webcast: Release de la 3.0.0 – Onesait Platform Blog
Pingback: Mejoras en el Rules Engine – Onesait Platform Blog
Pingback: Release 3.1.0-kickoff de la Onesait Platform – Onesait Platform Blog