Saltar al contenido principal
mayo 12, 2022

Sidra Data Platform | Versión 2022.R2: Kind Kanzi

El objetivo principal de esta versión ha sido la migración completa de .NET Core 3.2 a .Net 6 en Sidra.

Sin embargo, esta versión también incluye importantes mejoras funcionales. La más significativa de ellas es la compatibilidad con la evolución del esquema en sistemas de origen de base de datos. Mientras que las versiones anteriores de Sidra ya detectaban los cambios en los esquemas de las tablas de la fuente de datos y notificaban al usuario de estos cambios, esta versión trae el soporte para la modificación del esquema de forma totalmente automatizada en la tabla DSU, añadiendo nuevos atributos y entidades cuando aparecen en la fuente de datos.

También se han incluido mejoras en el rendimiento y la operatividad de la ingesta de documentos, para cumplir con los diferentes escenarios derivados de la ingesta de archivos binarios, lo que lleva al Knowledge Store a un escenario totalmente soportado ahora.

Además de todos estos cambios, se han incluido algunos otros temas de evolución técnica en esta versión, que incluyen la actualización del tiempo de ejecución del clúster Databricks a la última versión 10.4 de soporte a largo plazo (LTS), y la migración de todos los pipelines de lanzamiento de CI/CD Azure DevOps para apoyar al agente actual Windows 2022.

Sidra también continúa consolidando las mejoras operativas en torno al despliegue de Aplicaciones Cliente y la gestión de plugins.

Novedades de Sidra 2022.R2

Migración a .NET

Uno de los mayores cambios incluidos en esta versión ha sido la migración completa de la versión .NET de la 3.2 a la 6. Este ha sido un esfuerzo crítico y muy necesario, ya que Sidra estaba utilizando .Net Core 3.2, que iba a salir de EOL a finales de 2022. Al pasar a .Net 6, no solo estamos cosechando los beneficios de la nueva plataforma, sino que, al ser LTS esta nueva versión, estamos asegurando la compatibilidad hasta noviembre de 2024. Este trabajo de migración ha afectado a todos los módulos de Core, DSU y Client Apps, lo que incluye:

  • Los plugins de Sidra
  • API de Sidra
  • Aplicaciones Cliente de Sidra
  • Servidor de identidades
  • Marco de autorización Balea
  • Otros módulos de backend de Sidra; por ejemplo, trabajos de backend, backoffice y herramientas y módulos de despliegue

Pipelines Windows 2022

El grupo de agentes en el pipeline de liberación de Sidra Azure DevOps se ha actualizado a Windows 2022, lo que afecta a los pipelines de Core y Aplicaciones Cliente. Puedes consultar más información sobre esta evolución tecnológica en este enlace.

Evolución del esquema para las columnas y tablas añadidas en origen

En esta versión, Sidra incorpora una nueva característica destinada a evolucionar automáticamente el esquema de las tablas de origen, lo que significa que, siempre que se añadan nuevas columnas de datos, se crearán nuevos Atributos en los metadatos de Sidra Core para cada nueva columna añadida.

Siguiendo el proceso de Sidra, se crearán nuevas columnas en sus respectivas tablas de Databricks para esa Entidad. Luego, una vez en cada ejecución del pipeline de extracción de datos, se crearán Assets que incluyen estas nuevas columnas en Databricks. Además, siempre que se añadan nuevas tablas en el sistema fuente, si estas tablas están configuradas para ser incluidas en la extracción de datos (en las opciones de extracción de metadatos de la configuración del Proceso de Captación de Datos), se crearán nuevas Entidades para estas tablas añadidas y se asociarán al pipeline de extracción de datos, con el fin de que puedan incluirse en el conjunto de extracción de datos.

Para más detalles, puedes ver la documentación relacionada con la evolución del esquema.

Actualizada la configuración del cluster Databricks a 10.4 LTS

La versión de ejecución del clúster Databricks para los grupos de recursos DSU se ha actualizado a la última versión estable a largo plazo (LTS) que ha publicado Databrick. Puedes consultar esta información en la documentación de Azure Databricks.

Soporte de múltiples pipelines de Aplicaciones Cliente por Entidad

Se ha incluido un mecanismo más robusto para gestionar múltiples pipelines de Aplicaciones Cliente por Entidad.

Esto se ha hecho a través de un par de mejoras en el lado de las Aplicaciones Cliente:

  • Sidra soporta ahora un nuevo PipelineSyncBehavior (WebJob de sincronización que sincroniza los metadatos entre la DSU y la Aplicación Cliente). Este comportamiento carga cualquier Asset anterior al día más reciente en el que hay Assets disponibles. El estado de los Assets se rastrea a través de la tabla ExtractPipelineExecution, para trabajar y rastrear el estado de múltiples pipelines por Entidad. Este es el comportamiento de sincronización obligatorio (PipelineSyncBehavior) para cargar una Entidad con varios pipelines. Este es también el SyncBehavior recomendado para los nuevos pipelines de carga.
  • Todas las plantillas de pipelines de la Aplicación Cliente han sido actualizadas para llevar un registro y actualizar el estado de ejecución de cada pipeline del Cliente. Puede consultar esta información en las páginas de documentación de los conceptos de la Aplicación Cliente de Sidra y de los pipelines de la Aplicación Cliente de Sidra.

Mejoras en la Aplicación Cliente

Esta característica consiste en algunas mejoras en el lado de la Aplicación Cliente:

  • Se ha introducido una condición a la actividad del orquestador en los pipelines de carga de la Aplicación Cliente, para gestionar si el parámetro del procedimiento almacenado está vacío o crear una nueva plantilla sin el orquestador.
  • Desde el punto de vista de la seguridad, se han revisado todas las plantillas de canalización de la Aplicación Cliente propiedad de Sidra, para garantizar que las configuraciones sensibles sean gestionadas por el recurso KeyVault dentro de la Aplicación Cliente.
  • Se ha añadido un nuevo modo de sobreescritura de consolidación para sobrescribir los datos de las Aplicaciones de Cliente. Para activarlo y señalarlo, se ha añadido un nuevo parámetro de canalización de la Aplicación Cliente, denominado PipelineExecutionProperties. En el modo fusión de consolidación por defecto, los datos se fusionarán si hay una clave primaria; de lo contrario, los datos se añadirán. Si el modo de consolidación es sobrescribir, se sobrescribirá siempre toda la tabla.

Puede consultar más información sobre esta función en la web de documentación.

Inclusión de información de Entidades en Aplicaciones Cliente

Para esta nueva versión de Sidra, se ha incluido información sobre las Aplicaciones Cliente de la tabla de Activos en Sidra Core, como el recuento de filas (Entidades), los errores (Errores de Validación) y el tamaño de los bytes (ByteSize), con el fin de mantener un seguimiento detallado de todo el proceso desde el lado de la Aplicación Cliente. La adición de estos campos controlados permite una lógica avanzada de configuración para casos de uso en el lado de la Aplicación Cliente.

Mejoras en la gestión de los plugins

Hemos refactorizado el código de los plugins para trasladar cada plugin a su propia rama de publicación, independientemente de la publicación de Sidra y de otros plugins. Además, hemos añadido un nuevo punto final de registro para los plugins de Sidra, con el fin de facilitar la configuración de la compatibilidad entre cada nueva versión del plugin y la versión de Sidra.

Proceso automatizado de eliminación y reindexación de artefactos de indexación de archivos

Esta función complementa la capacidad actual de ingesta de Knowledge Store en Sidra, para apoyar escenarios en los que necesitamos un proceso semiautomatizado con el que eliminar artefactos del índice, o preparar el entorno para una reindexación de los documentos, evitando que los documentos previamente ingestados afecten al índice. Este escenario podría darse siempre que haya un cambio en la estructura del índice, una actualización del modelo de habilidades, etc.

Se ha desarrollado un nuevo endpoint de la API del núcleo, que orquesta las diferentes acciones necesarias para preparar todas las piezas móviles de la ingesta de archivos binarios en Sidra, con el fin de eliminar los documentos antiguos del índice de documentos y los artefactos intermedios y finales de la ingesta de datos (almacenamiento en bruto, índice, almacén de conocimientos, tablas de Databricks).

Este endpoint admite dos modos básicos. En ambos modos, se eliminan del Core las estructuras intermedias y el estado de los Assets para los Assets ingeridos por un pipeline específico. El conjunto de los artefactos que siempre se eliminan son los siguientes:

  • Índices
  • Indexadores
  • Fuentes de datos de Azure Search
  • Archivos de Knowledge Store
  • Tablas y datos ingeridos de Databricks

En cuanto a qué hacer con los documentos sin procesar en el contenedor de almacenamiento intermedio sin procesar, se han definido dos modos diferentes para este endpoint:

  • Modo Borrar: Mueve al contenedor de backup los archivos binarios de los Assets de las Entidades asociadas al pipeline de Azure Search, y establece el estado de indexación de los Assets como Archivado.
  • Modo PrepareToReindex: Mueve al contenedor /indexlanding todos los archivos binarios de los Assets desde el contenedor sin procesar de cada una de las Entidades asociadas al pipeline. En este caso, en la siguiente ejecución del trabajo del indexador, este volverá a registrar los Assets y los reindexará en lote.

Permitir configuraciones SMTP diferentes de Sendgrid en la instalación de Sidra

Ahora admitimos configuraciones SMTP personalizadas, lo que permite el uso de un servidor SMTP diferente a la cuenta predeterminada de Sendgrid. Esta característica era necesaria para permitir ciertos escenarios avanzados de recuperación de contraseñas y otros requisitos de algunos de nuestros clientes y socios. Hay un nuevo conjunto de parámetros opcionales en la CLI para apoyar esto en el momento de la instalación/actualización. Se puede encontrar más información en la web de documentación de Sidra.

Mejoras en el rendimiento de la ingesta del Knowledge Store

Esta versión incluye algunas mejoras de rendimiento en relación con la ingesta de Knowledge Store en Sidra. Se han probado y ajustado diferentes configuraciones que intervienen en las distintas fases de la indexación de documentos para mejorar el rendimiento de este proceso.

Estos ajustes son el tamaño de los recursos, el grado de paralelismo y las unidades de búsqueda, así como los ajustes de despliegue de la infraestructura para las habilidades asociadas, ejecutadas por el conjunto de habilidades de Azure Search.

Además, se ha añadido una opción en el despliegue de Sidra CLI para configurar si el servicio Azure Search se eliminará y volverá a crearse o no. Este es un parámetro no obligatorio, y está configurado como falso por defecto. Esta configuración permite que el despliegue vuelva a crear el recurso Azure Search con un nivel diferente.

Mejoras en la documentación

Al igual que Sidra Data Platform sigue un desarrollo continuo, la documentación de Sidra continúa mejorando para facilitar al máximo la experiencia del usuario. Por ello, ahora incluye una sección especialmente dedicada a la API de Sidra, que muestra los diferentes endpoints de la API y sus esquemas según la sección de interés.

Problemas resueltos en Sidra 2022.R2

Accede a la lista completa de problemas resueltos y cambios relevantes en Sidra 2022.R2 aquí.

Cambios importantes de compatibilidad en Sidra 2022.R2

Sustitución de parámetros en la herramienta CLI (comando Profile)

Descripción

La herramienta CLI contiene un parámetro en el comando Profile que sustituye a otros tres en la opción de creación, lo que facilita la configuración al usuario.

Acción requerida

No se requiere ninguna acción. Los parámetros devOpsProjectUrl, devOpsProject y gitRepository han sido sustituidos por el parámetro devOpsRepositoryUrl, la URL del repositorio Azure DevOps de destino, donde se van a copiar los archivos de código y plantilla. Viene en el formato como https://dev.azure.com/organizationName/projectName/_git/repositoryName. De esta manera, internamente la URL se dividirá en tres propiedades JSON del perfil. Se puede encontrar más información en la página del comando de perfil.

Nuevo parámetro en la herramienta CLI (comando Deploy)

Descripción

La herramienta CLI contiene ahora un nuevo parámetro en el comando deploy, RecreateAzureSearch, en la opción Configure, lo que facilita al usuario la configuración.

Acción requerida

No se requiere ninguna acción.

Parámetro RecreateAzureSearch

Descripción

El parámetro RecreateAzureSearch puede haber sido configurado como verdadero desde la última ejecución, además de haber experimentado algún cambio en el currentAzureSearchSku.

Acción requerida

No se requiere ninguna acción. Sin embargo, ten en cuenta que, al realizar una actualización, si la nueva configuración se establece como verdadera y se requiere un cambio de SKU del servicio Azure Search, esto desencadenará una recreación completa del servicio y requerirá una reindexación completa de los archivos. En este caso, se eliminará el índice existente.

Por motivos de seguridad, estamos forzando la configuración de este parámetro al final de la ejecución de la CLI a falso, para evitar consecuencias no deseadas. En el caso de que el usuario quiera volver a reproducir Azure Search a propósito, tendrá que hacerlo manualmente.

Próximamente…

Esta versión 2022.R2 representa un importante esfuerzo de evolución tecnológica para mantenerse al día con las mejoras de la plataforma subyacente; a saber: .NET Core, Azure DevOps y Databricks.

Se han dado pasos importantes en la mejora de las operaciones de los plugins y de los despliegues de Aplicaciones Cliente.

Por último, se han desarrollado aceleradores para detectar automáticamente los cambios en las bases de datos/tablas de origen, como parte de las funciones de evolución del esquema. La futura evolución del esquema incorporará cambios para detectar y acomodar las eliminaciones de tablas/columnas en los sistemas de origen.

Como parte de la próxima versión, estamos planeando aumentar el catálogo de plugins para crear y editar Procesos de Admisión de Datos desde Sidra Web.

Comentarios

¡Nos encantaría saber de ti! Puedes hacer una sugerencia de producto, informar de un problema, hacer preguntas, encontrar respuestas y proponer nuevas funciones en nuestro portal de ideas de Sidra, o poniéndote en contacto con nosotros en info@sidra.dev.

logo plain concepts
Autor
Plain Concepts
Rediscover the meaning of technology

¿Ya te vas?

Suscríbete a nuestra newsletter mensual para estar al día de las últimas noticias, casos de éxito, novedades del sector y mucho más.

No mandamos spam y puedes darte de baja en cualquier momento.

Formulario de descarga

¡Gracias!