Microsoft Fabric vs. Databricks: una revisión preliminar para equipos de datos
Nota importante: El propósito de este artículo es un análisis inicial y no una comparación exhaustiva entre Fabric y Databricks. En mi opinión, Fabric no es actualmente adecuado para uso empresarial. Como consultor dedicado al análisis y dimensionamiento de proyectos, la conclusión compartida a la que llegamos junto con otros ingenieros y arquitectos es que Fabric no se adapta todavía a las necesidades de la mayoría de nuestros clientes de tamaño empresarial.
Introducción: ¿Qué es OneLake?
Es esencial entender OneLake y cómo aborda los silos de datos. OneLake es una plataforma de data lake SaaS que aprovecha la virtualización para permitir un repositorio de datos unificado para toda una organización, eliminando la necesidad de duplicación de datos. Utiliza "Shortcuts" (accesos directos), que son enlaces simbólicos que permiten el acceso en tiempo real a datos desde varias ubicaciones sin crear copias.
Fabric es una solución Todo en Uno, la cuasi evolución de Synapse. Así que pagas por todos los servicios incluidos. Si estás interesado en Purview, DataFactory, PowerBI y DataFactory, puede que sea una buena opción. Todos estos componentes están perfectamente integrados y el pricing es simple, se contrata una capacidad fija y te olvidas de mayores problemas. Eso sí, es altamente probable que estés pagando mucho más de lo que consumes.
Inicialmente se decía que era la Plataforma de Datos de Microsoft para competir con Databricks o por lo menos inspirada en ella. Creo que en la práctica no lo es porque la funcionalidad que hoy está disponible me indica que está orientada a otro tipo de cliente. Un cliente que necesita una herramienta analítica con poca administración, fácil de gestionar y que le permita explotar datos sin mucha complejidad.
Tal vez Microsoft, está buscando repetir el éxito de PowerBI y tiene mucho sentido. Es una solución que encaja en pequeñas y medianas empresas, equipos de negocio con un alcance limitado o bien usuarios apegados al ecosistema Microsoft. Además, Copilot y las capacidades Low-Code representan un valor diferencial considerando el tipo de usuario que operará en la plataforma.
Claramente hay un mercado en donde esta solución encaja perfectamente (y no tengo dudas de que la funcionalidad de la plataforma se incrementará). Es un servicio que no canibaliza ni con los servicios de Azure, como Synapse, ni con soluciones como Databricks. Tiene un público destino diferente que puede verse empoderado a futuro con herramientas como Copilot o el desarrollo low code que les permite facilitar su trabajo.
¿Por qué Fabric no es ideal para las empresas?
Las razones son varias pero el principal argumento que engloba a todas ellas es que Fabric es una versión "capada" de otros productos de Microsoft que son muy buenos y completos pero que en su versión en Fabric tienen otro alcance y nos encontramos con restricciones que generan fricción o bien disminuyen la viabilidad de desarrollar determinados tipos de proyectos en condiciones óptimas y seguras.
Por ejemplo, Data Factory es un excelente servicio de integración de datos. Sin embargo, presenta algunas limitaciones en comparación con la versión standalone. Fabric cuenta con menos conectores y opciones de configuración. Asimismo, no soporta tuberías impulsadas por metadatos en los tiempos de ejecución de integración, lo cual es una restricción adicional y crítica para algunos requerimientos.
Además, actualmente tiene capacidad limitada para utilizar Identidad Administrada, lo que representa una limitación significativa en términos de seguridad y gestión de accesos. Otra desventaja importante de Fabric es la falta de integración con Azure Key Vault, esencial para la gestión segura de secretos y claves, manteniendo altos estándares de seguridad y control en entornos de datos empresariales de manera efectiva.
También, si nos alejamos del alcance propiamente técnico, el modelo de negocio de Fabric (que es su mayor virtud también) no es nada costo-eficiente. Es caro, y carece de flexibilidad al momento de aprovisionar los recursos, lo que se traduce en tener capacidad ociosa. Las empresas a las que he sugerido Fabric (principalmente por un tema de licencias de PowerBI, dimensión, etc.) en escenarios reales consumían solo un 40-50% de lo que pagaban.
Comparativa: Microsoft Fabric vs Databricks
Databricks está diseñado para profesionales, ofreciendo una plataforma madura y robusta dirigida a clientes con un compromiso serio en el ámbito de los datos. En el mundo de los datos, Databricks es lo que Adobe Premiere Pro es para los editores de vídeo: una herramienta diferencial que permite a los equipos de datos experimentados resolver problemas complejos y alcanzar resultados excepcionales.
Comparemos estas 5 áreas fundamentales entre las 2 plataformas:
Modelo de despliegue: Fabric está completamente gestionado por Microsoft (SaaS), mientras que Databricks requiere configuración (IaC) y es una plataforma agnóstica a la nube. Resultado: Databricks es la mejor opción si tienes un equipo de datos y arquitectura; de lo contrario, Fabric es adecuado.
Transformación y Gestión del Dato: Databricks tiene una ventaja clara en el manejo de procesamiento de datos complejos, y ofrece capacidades de compartición de datos y APIs para el consumo de datos. Una característica distintiva de Fabric es su compatibilidad con T-SQL y stored procedures (beneficioso si vienes de SQL, por ejemplo). Resultado: Databricks es el ganador, aunque Fabric puede ser una opción adecuada para los nuevos en la exploración de datos con baja complejidad de procesos y transformaciones.
Gobierno del Dato y Seguridad: Databricks apoya fuertemente Unity Catalog, mientras que Fabric está en Preview con Purview. La debilidad de Purview es su falta de mecanismos de controles de seguridad y gestión de identidades, que Databricks cubre completamente. Resultado: Databricks es el ganador. Esta es un área pendiente para Fabric que probablemente mejorará.
Experiencia Visual, Asistente AI y Low-Code: Microsoft ofrece CoPilot, mientras que Databricks ha implementado un asistente de IA en sus Notebooks para facilitar el desarrollo. Ambos son bastante efectivos. Además, Microsoft tiene capacidades Low-Code en Azure y una experiencia gráfica mejorada (Databricks está trabajando en esto), lo cual es ideal para el público objetivo de Fabric. Resultado: Azure está ligeramente adelantado en la actualidad debido a sus capacidades Low-Code, que proporcionan un valor adicional para los recién llegados.
CI/CD: Databricks ofrece compatibilidad completa con Git y DevOps, mientras que Fabric tiene un soporte limitado. Nuevamente, Fabric parece estar orientado a un público menos profesional y menos enfocado en las mejores prácticas de datos. Resultado: Databricks es el ganador. Otra cuestión pendiente para Fabric.
Fabric y Databricks pueden ser complementarios
quí hay una explicación simple de las dos formas en que Databricks puede integrarse con OneLake:
Usando Data Lakes existentes:
Si tu Databricks ya está conectado a Azure Data Lake Storage Gen2 (ADLS Gen2), puedes integrarlo con OneLake creando un "Shortcut" al almacenamiento ADLS Gen2 en OneLake. Dado que OneLake y ADLS Gen2 utilizan las mismas APIs y formatos de datos (Delta parquet), puedes actualizar fácilmente tus notebooks de Databricks para usar endpoints de OneLake. Esta integración mantiene las rutas de datos consistentes, ya sea que accedas a los datos a través de Microsoft Fabric o directamente en notebooks de Databricks. Sin embargo, ten en cuenta que esto introducirá complejidad en la gobernanza.
Aprovechando datos directamente en OneLake:
En este escenario, los datos se cargan directamente en OneLake. Databricks puede entonces procesar estos datos utilizando una arquitectura medallion estándar, donde los datos se limpian y refinan en diferentes capas (bronze, silver, gold). Estos datos procesados pueden ser utilizados sin problemas por otros componentes de Microsoft Fabric, como Power BI, sin duplicar los datos. Power BI puede conectarse a estos datos en vivo de manera eficiente, beneficiándose tanto de la conexión en vivo como del alto rendimiento.
Conclusiones
En el mercado hay lugar para muchas opciones y bendito problema sea la competencia. Personalmente creo que Fabric tiene un lugar en el mercado para pequeñas empresas o instituciones que quieren aventurarse con un stack de Microsoft definido con sus pro y contras. No es una solución que compite con Databricks o con el propio stack de datos tradicional de Microsoft (ADF, Synapse, etc.).
Creo que Databricks puede complementar a los clientes a los que se dirige Fabric. Databricks y Fabric pueden operar juntos y complementarse mutuamente. En lugar de ser competidores directos, estos dos pueden combinarse para aprovechar las fortalezas de cada uno. Mientras que Databricks proporciona una plataforma robusta para el análisis de big data y machine learning, Fabric puede ofrecer una integración perfecta dentro del entorno Microsoft.
Esta combinación puede proporcionar a las empresas una solución interesante y flexible que abarca desde el procesamiento y análisis de grandes volúmenes de datos hasta la integración y automatización dentro de un ecosistema Microsoft familiar.