Intro a Microsoft Fabric la solución Data Platform todo en uno

Recientemente Microsoft ha realizado fantásticos anuncios durante la conferencia MS Build 2023. Si bien la misma suele tener un foco en desarrollo de software, el apartado de la industria de data ha tenido un revuelco enorme con sus anuncios.

En este artículo vamos a introducir características y funcionalidades de la nueva herramienta de Microsoft que va a intentar tomar todos los roles de data trabajando en un mismo espacio. 

¿Qué es Microsoft Fabric?

Durante el lanzamiento de la nueva herramienta que contemplaría un end to end de proyectos de data se lanzó mucha documentación. Microsoft define a su herramienta de la siguiente manera:  Microsoft Fabric es una solución de análisis todo en uno para empresas que abarca todo, desde el movimiento de datos a la ciencia de datos, Real-Time Analytics y la inteligencia empresarial. Ofrece un conjunto completo de servicios, como data lake, ingeniería de datos e integración de datos, todo en un solo lugar. La definición nos permite ver que quieren unir los mundos de BI o Data Analysis con Data Engineering, Data Science y hasta Governance bajo un mismo software como servicio (SaaS) buscando la simplicidad. Fabric es un producto que tiene su propio dominio y esta dentro de Azure.

¿Qué servicios tiene?

Fabric llegó buscando simpleza y conceptos familiares de la herramienta que más venía sonando en el mercado, PowerBi. A partir de PowerBi tomó su entorno y conceptos para crear Fabric. Su interfaz y experiencia de usuario es sumamente similar. PowerBi quedará como parte de una de las secciones de servicio de Fabric. La pantalla principal se ve casi identico a Power Bi Service. El menú si cambió con nuevos conceptos y abajo a la izquierda veremos la un botón para cambiar las posibilidades (lo que marca la diferencia con el power bi de todos los dias). Veamos sus secciones.

image

Como pueden ver hay muchos productos centrado en los mayores éxitos de data en los servicios de Azure. Data Factory es un orquestador y herramienta de integración por pipeles predilecta asi como Power Bi lo es para reporting y respuesta en modelos tabulares. Se incorpora de synapse lo referido a Notebooks y modelos en ciencia de datos y Lakehouse para data enginierring. Existen dos apartados que pienso no serían tan frecuentes como el caso de Aarehouse y Real Time Analytics. Sabemos que real time no es algo para desarrollar en todos los escenarios sino en puntuales en que es necesario para el proceso de negocio que el dato esté y no porque un cliente quiere estar al día con todo todo el tiempo, por eso digo no tan frecuente. Warehouse me parecía interesante pero creo que no sería tan elegido luego de ver que su motor será literalmente un lakehouse pero visiblemente tendrá todo una capa para trabajar con esquemas de bases de datos para sentirnos en un pool deciado con scripts SQL.

Lo más interesante y diferente me pareció el concepto de Lake. Fabric con tiene un único Lake que será como dicen "el OneDrive for Data". Un único espacio que puede tener varios lakehouses con punteros a otros lakehouse de tecnología delta. Con esto me refiero a que si un departamento como Recursos Humanos tiene cargado en su LakeHouse una tabla de Dimension de Empleados que necesitan usar otras áreas. Las otras áreas pueden nutrirse de ella creando un punturo a ese origen siempre y cuando seal del tipo Delta. Lo más fascinante es que no solo podemos crear punturos dentro del mismo OneLake, sino también contra otros origenes del estilo como un Azure Data Lake Gen2 y hasta un AWS S3. En demos a futuro hasta mostraron Delta de DataBricks corriendo en cualquier nube. Esto puede estar sonando confuso asique veamos un poco de orden.

¿Cómo se organiza?

Nutriendose de la organización de PowerBi, los espacios de trabajo de todos los componentes serán organizados por Areas de Trabajo (workspaces). Éstos contienen distintos componentes según la sección seleccionada, por ejemplo, el Workspace LaDataWebTest en la sección Power Bi puede tener informes, datasets, dashboards y apps, mientras que el mismo Workspace en la sección Data Engineering contiene pipelines, lakehouses, notebooks o dataflows gen2.

Una vez prendido Fabric los datos transcurren en un único transfondo de lake llamado OneLake. Si bien cada workspace puede tener su lakehouse, el almacenamiento es el mismo pero organizado en distintos workspaces. 

image

De este modo cada profesional de datos bajo un mismo proyecto estaría trabajando en un mismo workspace. Seguramente se vería así:

image

Repleto de componentes varios. Aqui podemos ver un Lakehouse y Warehouse llenados con un Dataflow Gen2 y dieron lugar a datasets. Asi mismo hay un SQL Endpoint para hacer consultas SQL al Lakehouse. Tal vez más adelante tenga notebooks de un data scientist trabajando en algun modelo.

Roles de data

Los Data Engineers pienso que estarán contentos de seguir trabajando con Data Factory y notebooks tal como lo hacían en Azure. Solo les cambiará la interfaz de la plataforma. Del mismo modo los Data Scientist deberán acostumbrarse a sus nuevos accesos pero mantienen las esencias de trabajo que tenían antes con diferencia en la puesta en marcha de modelos. El rol más empoderado pienso que es el Bi o Data Analyst. Incorporaría en la plataforma, que ya manejaba a la perfección, los servicios de otros roles al mejor estilo PowerBi. Por si fuera poco ahora DataFlow Gen2 como evolución de Power Bi DataFlows se convirtió en una herramienta total de ETL. ¿Por qué digo eso? porque nuestro Power Query Online tiene el poder de sus connectores como siempre con una supuesta optimización de performance y sobre todo porque permite elegir el destino del procesamiento. Dataflows permitirá seleccionar el destino del procesamiento de datos. Podremos depositar nuestro desarrollo como DeltaTables en un Lakehouse o directos a un Warehouse. De ese modo se empodera el rol puesto conocería un modo de hacer Integración de Datos que comunmente lo trabajan los Data engineers. Cabe aclarar que no estoy afirmando que sea la mejor práctica ni que los Engineers quedarían sin trabajo, para nada, solo menciono que se empodera el rol del Analista.

Versionado de solución

Algo increible que incorporaron es integración con Git. Seguro suenda burdo para los perfiles de datos que trabajan con la diaria en Azure, pero los que venimos usando hace tiempo Power Bi además de Azure, sabemos que es una cuenta pendiente. El Workspace COMPLETO se vincularía a un repositorio Git en Azure DevOps. Esta integración tiene un camino brutal en próximos releases puesto que Power Bi Desktop permitiría guardar como "proyecto" que desmantelaría los .pbix en carpetas de código que permitan versionado y trabajo en conjunto. Por si eso fuera poco mostraron que al terminar un push de los datos automáticamente estaría actualizado el informe en el Área de Trabajo gracias a la integración.

image

Administración

Por si todo lo anterior fuera poco, incorporaron un workspace de administración que contiene un pequeño, pero mucho mejor que lo que existía antes, informe del uso de la plataforma. Además hay otro informe para entender mejor el flujo de datos que se ajustaría y acompañaría con Purview para governanza.

image

Quiero comenzar ¿que hago?

Para dar inicio a todo esto necesitamos ser viejos Administradores de Power Bi o como ahora lo llaman Administradores de Fabric. En el portal de administración que se manejan Tenant Settings veremos dos opciones claves

image

Por otro lado

image

Con esas opciones listas podremos actival el Fabric Trial y comenzar a probarlo. Si quieren conocer más detalles sobre licencias:

Direct Lake

Existe un nuevo método de lectura de datos de PowerBi. Conocíamos live connection, direct query y el más popular, import mode. Ahora se creó uno nuevo para lo que es conectividad de un dataset contra un lakehouse de Fabric. Esta conexión es directa y veloz. Dicen que no es como Direct Query sino algo superior. La premisa para justificar es bastante interesante. Considerando que al importar datos creamos un Modelo Tabular en vertipaq engine. Ese motor es un almacenamiento columnar en memoria. Ahora Lakehouse guardaría tablas delta, que son un almacenamiento columnar. Esta conexión dice que tendría la misma performance puesto que de ambas formas (import mode y direct lake) Power Bi emitía una una consulta contra un motor de almacenamiento columnar. Hay mucho por testear aún puesto que no se si las delta tables estarían en memoria como vertipaq, pero hay mucho esfuerzo detrás que motiva a un buen resultado.

Lo más importante antes de trabajar con esto, sería conocer sus limitaciones: https://learn.microsoft.com/en-us/power-bi/enterprise/directlake-overview#known-issues-and-limitations

IA

No me va a alcanzar escribir todo lo que está incluido en Fabric y no quería dejar de mencionar que es la suite de data que integraría muchisimo de IA. Cada servicio a su modo y la totalidad tendría integración con Copilot (la IA de Microsoft entrenada con Chat GPT de los servicios de Open AI). Esto fortalecería todo luegar donde necesitemos escribir código como los notebooks y hasta incluso para realizar gráficos o escribir DAX en Power Bi.

Dominios

Mientras vamos esas opciones veremos que existe una nueva llama "Dominios". Si bien aún no esta claro como funcionarían en todos esto, los dominios se los nombraron para ayudar a catalogar conjuntos de workspaces dentro de un mismo departamento en una empresa. Por ejemplo Marketing con dos workspaces como muestra la siguiente imagen.

image

Todo parece apuntar a algo de grandes compañias de nivel Enterprise que tengan maduro los desarrollos de data para contemplar una organización en muchos desarrollos.

¿Qué hay de synapse? 

Escribiendo basado en opiniones personales creo que al no haber contemplado todo el end to end de proyectos de datos la herramienta no tuvo tanto impacto. Sus servicios más fuertes fueron los de almacenamiento y transformación LakeGen2, SQL Serverless, Notebooks o Warehouses. Dejaron afuera la explotación de presentación del dato, Power Bi. La nueva solución buscó contemplar todo con la simpleza de Power Bi Service. Seguramente sus servicios seguirán existiendo en Azure, pero dudo que su uso para integración de datos y semejante sea elegido.

Conclusiones

Este nuevo camino de integración de todo en uno de Microsoft tiene un fuerte impacto a la integración de roles y plataformas. No tengo dudas que la participación activa de una inteligencia artificial que asista será un muy fuerte impacto al momento de elegir tecnología para un proyecto de datos. La tecnología promete mucho y tienen mucho que mejorar, no dejaremos de aclarar que Fabric esta en "preview", lo que significa que siguen trabajando en ella para mejorarla todos los días. Pienso que si hoy usan Power Bi y no tienen tanta madurez en Lake o warehouse, sería un momento hermoso para probar esto. Incluso si se inicia un proyecto nuevo aún teniendo otra arquitectura madura para probar y contrastar. Lo que si no iría corriendo a migrar una arquitectura madura y funcional de Azure a Fabric de golpe. Los servicios seguirán activos y será cuestión de ir probando y viendo la evolución de la herramienta para introducirse poco a poco.