Release 3.3.0-Moonwalker de la Onesait Platform
Pues 2021 ha tocado a su fin, así que en este último trimestre hemos sacado nueva release de la Onesait Platform, la cual alcanza la versión 3.3.0 con nuevas novedades y mejoras.
Como ya es tradición, la Comunidad de la Plataforma ha colaborado en elegir el nombre de versión en una encuesta que llevamos a cabo por Twitter, decidiéndose el nombre de «Moonwalker», tal como tenemos definido en nuestra la política de versionado.
¿Y qué cambios traemos en esta nueva versión? Pues bastantes novedades, tal como tenemos definido en el Roadmap de la Plataforma:
Engine
Esta distribución de la Plataforma ofrece las herramientas necesarias para el desarrollo ágil de microservicios y todo tipo de aplicaciones a través de un enfoque LowCode incorporando una consola web centralizada que soporta la administración, configuración, desarrollo y despliegue de estas aplicaciones.
En esta versión hemos incorporado importantes características:
Versionado de elementos de la Plataforma sobre Git
Esta funcionalidad nos permite tener versionados los elementos de la Plataforma, tales como Entidades, Dashboards, Gadgets, APIs, etc. en un repositorio Git, de tal forma que podamos tener un control de cambios sobre dichos elementos y restaurar una versión anterior en cualquier momento.
Además, podremos generar versiones etiquetadas de los elementos (tags en Git), para que en caso de migración o de querer restaurar una versión en concreto de los elementos, podamos hacerlo sin problemas.
En primer lugar, configuramos el repositorio Git asociado a nuestra instancia de la Plataforma:
Seguidamente se genera un snapshot de los recursos de la Plataforma en ese momento:
A partir de ahí, cada vez que creemos o editemos un elemento, éste además de guardarse en la ConfigDB se persistirá en el Git configurado:
Si estáis interesados en conocer más al respecto, en este artículo describimos la funcionalidad completa.
Trazabilidad de procesos de negocio
Esta característica nos permite monitorizar la ejecución de procesos, lo cual es muy útil si tenemos procesos que se ejecutan periódicamente y queremos saber el estado de estos proceso (saber si se han realizado correctamente las operaciones o si ha habido algún problema en alguna de las ejecuciones). En esta primera versión se han tenido en cuenta operaciones con Entidades (Insert, Update, Delete, etc.) desde distintas fuentes (IoTBroker, Dataflow, etc.).
La funcionalidad está accesible en la sección Data Governance, y permite configurar las operaciones a monitorizar, cada cuánto monitorizarlas, etc.
El detalle de esta funcionalidad la podéis encontrar en este artículo del Portal de Desarrollo.
Nueva UI para ver módulos desplegados
Esta interfaz de usuario nos permite comprobar de un vistazo qué módulos de la Plataforma tenemos desplegados, además de que la pantalla también permite la exportación de los resultados a un archivo CSV.
Podéis encontrar más información de forma extendida en este otro artículo.
Mejoras y resolución de bugs
En esta versión se han resuelto los bugs identificados por los usuarios de la Plataforma, además de incorporar numerosas mejoras como:
- Gestión centralizada de parámetros de configuración para contraseñas (longitud, complejidad, caducidad). Os lo contamos con más detalle en este artículo.
- Actualización a la última versión de Keycloak en el Identity Manager.
Intelligence
Esta distribución de la Plataforma da soporte al desarrollo de sistemas que usan las capacidades de Inteligencia de la Plataforma, incluyendo la ingesta desde diferentes fuentes, analítica, generación y visualización de KPIs y modelos de Inteligencia Artificial y Machine Learning.
En este cuatro trimestre hemos trabajado en:
Gadget CRUD para Entidades
Esta funcionalidad permite crear Gadgets que ofrecen la funcionalidad CRUD (Create, Read, Update y Delete) sobre una Entidad sin tener que programar. La funcionalidad permite crear, editar, borrar y buscar elementos además de la exportación del listado a CSV.
En este artículo se describen con detalle todas las opciones del componente.
Gadget Import de ficheros sobre Entidades
Este nuevo Gadget (implementado como Gadget Template) permite importar registros hacia una Entidad desde fichero en formato CSV y JSON.
Os contamos cómo utilizar este importador en este artículo del Portal de Desarrollo.
Actualización UI Dashboards en el Control Panel
Continuando con el rediseño del interfaz de usuario del Control Panel, se ha mejorado el interfaz para la creación de Dashboards, incluyendo una nueva interfaz más sencilla de utilizar. Esto nos va a permitir añadir o crear Gadgets en los Dashboards de una forma más sencilla, simplemente arrastrando el elemento deseado y soltándolo en el lienzo del Dashboard.
Podéis encontrar toda la información al respecto en este artículo.
Diseño de formularios en Gadgets Templates
Hemos redefinido la forma de crear formularios para los Gadget Templates y se ha desacoplado del código (manteniendo compatibilidad), pudiendo recuperarse su definición del propio Gadget Template, lo que permite generar formularios en otras tecnologías o con otras librerías de forma externa.
Se puede consultar el detalle de la funcionalidad en este artículo.
Otras mejoras y resolución de bugs en Dashboards
En esta release se han incorporado mejoras en la funcionalidad de Dashboards, tales como:
- Mejoras en APIs de gestión de Dashboards.
- Eventos en todo el ciclo de vida de los Gadgets.
- API para generar imágenes de un Dashboard.
- Asociación de imagen a un Gadget y a un Dashboard.
- Edición en pantalla completa de los gadgets para macOS.
Things
En esta distribución de la Plataforma damos soporte al desarrollo de sistemas IoT, tanto en el ámbito Cloud como Edge.
En este trimestre hemos avanzado en:
TPM.2.0 sobre RHEL
Almacenado seguro de credenciales de atestación de dispositivos en TPM.2.0 para cifrado de comunicaciones y cifrado en storage.
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.
Monitorización avanzada sobre los componentes de la Plataforma
Tanto Rancher como OpenShift permiten monitorizar los despliegues usando Prometheus y Grafana. En esta versión se ha completado el despliegue de las métricas generadas por todos los módulos de la Plataforma con este sistema de monitorización.
De este modo, desde la misma herramienta de monitorización se pueden consultar las métricas no sólo a nivel de Kubernetes, sino a nivel de cada módulo; por ejemplo, estado de la memoria RAM de cada proceso, o métricas de más detalle como por ejemplo, los registros procesados por cada Dataflow, estado de los consumidores Kafka, número de operaciones en las distintas bases de datos etc.
Si estáis interesados en conocer cómo habilitar esta monitorización, os lo contamos con detalle en este artículo del Portal de Desarrollo.
Backups de ConfigDB de Plataforma sobre MinIO
Este sistema, una vez habilitado, periódicamente lanza un backup de las bases de datos de la ConfigDB y lo almacena como un zip en MinIO, de modo que siempre podremos recuperar una versión de los elementos de la Plataforma:
Podéis encontrar toda la información técnica al respecto en este artículo.
Certificación de PostgreSQL como ConfigDB
Hemos realizado la certificación de PostgreSQL como ConfigDB, para dar aún más flexibilidad a los clientes de la Plataforma, y que puedan elegir si utilizar MariaDB o PostgreSQL como su base de datos de configuración. Esto nos va a permitir optimizar los costes de infraestructura cuando ya usan una de estas bases de datos en sus repositorios.
En este artículo podéis encontrar más información al respecto.
Actualización a Rancher 2.6 y Kubernetes 1.21 sobre container.d
Con el creciente uso y popularización de las tecnologías de contenerización han ido surgiendo alternativas a Docker, incluso los orquestadores de referencia, como Kubernetes u Openshift, han implementado su propio runtime de ejecución de contenedores agnóstico de Docker.
Es el caso de Kubernetes, que a partir de versiones superiores a la 1.20 ha deprecado Docker como runtime permitiendo elegir entre CRI-O o container.d, ambas compatibles con contenedores Docker. Tanto CRI-O como container.d son implementaciones de CRI (Container Runtime Interface) este último runtime es el usado también por Docker, con lo cual la compatibilidad es total.
Es por ello que otras herramientas que hacen uso de Kubernetes hayan querido marcar un hito en el camino coincidiendo con este cambio. Como por ejemplo Rancher y RKE (el runtime de Kubernetes de Rancher) que han dado un lavado de cara a la versión 2.6 de Rancher y una «reforma integral» a RKE2, haciendo ambos más sencillos e intuitivos de instalar y usar.
Nuevo canal para la gestión de tickets
En diciembre de 2021 se ha completado la migración del sistema de ticketing de la Plataforma al JIRA Service Desk. Esta migración nos permite tener un mayor control sobre los SLAs de la Plataforma y tener una completa trazabilidad de las issues de la Plataforma y de los productos integrados con JIRA.
Los usuarios con suscripción activa de la Plataforma pueden abrir un ticket de soporte desde el Portal. En caso de que no se tenga un usuario, pueden crearlo desde un formulario:
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 último trimestre de 2021, hemos trabajado en:
Canales de la Comunidad
Son los que utilizamos para estar en contacto con vosotros y que estéis al día de nuestras novedades. Seguimos expandiéndonos poco a poco por los diversos canales.
Canales de la Comunidad: 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 este cuarto trimestre del año hemos:
- Ganamos +30 usuarios y sumamos 1.130 usuarios en el CloudLab de la Onesait Platform, nuestro entorno gratuito y de experimentación.
- Alcanzamos los 160 suscriptores en nuestro canal de YouTube, sumando +80 horas de visualización y consiguiendo +9.400 impresiones durante este trimestre.
- Nuestra versión Community de la Plataforma suma +75 clonaciones en GitHub , sumando un total de +540 clonaciones, y con un total de 255 desarrolladores implicados en el proyecto.
- Nuestro Blog suma un total de +140.000 lecturas de nuestros artículos, aumentando este mes es +11.000 (¡gracias a todos!).
- Superamos las +15.000 impresiones en Twitter, con 60 retweets y 90 me gustas de nuestros píos.
Si queréis estar al día con nuestros webcasts, no dejéis de apuntaros a nuestra comunidad de Meetup, en donde hay ya +720 suscritos.
- Publicación de la release 3.0.0-ce en GitHub: la cual podéis descargar y probarla desde nuestro repositorio.
- Actualizada la instancia de CloudLab: con la versión 3.2-Legend.
Esperamos que os gusten las nuevas novedades que traemos y os sean útiles para vuestros proyectos. Cualquier duda o consulta que tengáis, por favor dejadnos un comentario.