En 2022, Snowflake hizo grandes anuncios alrededor de su nuevo framework de Native Applications y las hybrid tables (anunciadas inicialmente como Unistore). El año pasado mantuvieron el listón muy alto con nuevas funciones como Snowpark Container Services y el soporte para Iceberg.
Tras haber asistido a las dos últimas ediciones del summit, a Niall y a mí nos sigue sorprendiendo el ritmo de desarrollo de Snowflake. Cerrado ya el Summit 2024, esa sensación no ha cambiado.
Entremos en materia.
Resumen de los anuncios
Si andas corto de tiempo, acá tienes el listado completo de lo que se anunció, con una breve explicación de cada punto.
Data Engineering
- En 90 días liberarán Polaris Catalog como open source, lo que permitirá a los clientes alojar ellos mismos sus catálogos de Iceberg y dará mayor interoperabilidad entre distintos motores de cómputo.
- Serverless Tasks Flex, que permite a los clientes ahorrar hasta un 42% al darle más flexibilidad a Snowflake sobre cuándo ejecutar las tareas (Private Preview).
- Las event-driven tasks ya están en public preview, lo que permite disparar automáticamente la ejecución de una task cada vez que se actualiza un stream de Snowflake.
- Low Latency Tasks, ahora en private preview, permite reducir los intervalos de scheduling hasta los 15 segundos.
- Las Iceberg Tables, un formato de tabla open source que permite a los clientes almacenar sus datos en cloud storage como archivos parquet sin perder la posibilidad de consultarlos desde Snowflake, ya están en General Availability (GA).
- Las Dynamic Tables ya están en GA y ofrecen un enfoque declarativo para crear transformaciones incrementales y pipelines de datos simples con sentencias SQL SELECT.
- Data Quality Monitoring: Snowflake ya ofrece métricas de sistema listas para usar (como el conteo de nulos) o métricas personalizadas que los clientes pueden definir y medir automáticamente sobre las tablas. Esta función está en public preview y solo está disponible en las ediciones Enterprise o superiores de Snowflake.
- Los conectores nativos para Postgres y MySQL estarán pronto en public preview. Permitirán replicar fácilmente datos CDC desde las bases de datos internas de la empresa hacia Snowflake con muy baja latencia y, lo más importante, sin pagarle a un tercero (como Fivetran) por cada fila que cargues.
Herramientas para analistas y desarrolladores
- Los Snowflake Notebooks ya están en public preview, con un entorno UI interactivo end-to-end para los equipos de data y AI.
- Snowflake anunció una nueva suite de funciones de observabilidad con el lanzamiento de Snowflake Trail, que da a desarrolladores y partners más herramientas para monitorear y depurar sus pipelines de datos.
- Snowpark Container Services (SPCS) ya está en GA, lo que permite a los usuarios de Snowflake correr de forma segura cualquier workload en Snowflake a través de un contenedor.
- Como parte de esto, Snowflake anunció soporte en public preview para SPCS con el framework de native apps, lo que permite a los partners construir y desplegar aplicaciones más completas.
- El Copilot propio de Snowflake estará pronto en GA y permitirá a analistas y usuarios de negocio generar automáticamente consultas SQL a partir de texto directamente desde la UI de Snowflake.
- La integración con Git de Snowflake ya está en Public Preview y permite sincronizar archivos entre Github/Gitlab/Bitbucket y Snowflake para un mejor control de versiones y gestión.
Gobierno de datos y seguridad
- Un nuevo marketplace interno en private preview, que permitirá a las grandes organizaciones y a los equipos compartir de forma privada datasets, apps y notebooks dentro de la empresa.
- Nuevas Table Governance Views en public preview, que muestran los principales roles y usuarios que acceden a cada tabla de tu cuenta de Snowflake.
- El Trust Center de Snowflake, una interfaz UI para detectar riesgos de seguridad con recomendaciones para resolverlos, llegará pronto a GA.
- Universal Search ya está en GA y permite a los usuarios buscar y descubrir rápidamente todos sus activos de Snowflake directamente desde la UI.
- Snowflake mostró una nueva interfaz de Data Lineage Visualization en la UI, actualmente en private preview, que permitirá ver las dependencias upstream y downstream de todas las tablas y vistas.
- Se anunciaron las AI-Powered Object Descriptions, que añaden automáticamente contexto y comentarios relevantes a tablas y vistas mediante AI.
AI y ML para empresas
- Snowflake lanzó una nueva API de Snowpark pandas que permite a los usuarios de Python ejecutar su código pandas sobre el cómputo de Snowflake de forma paralelizada, eliminando las limitaciones habituales de pandas en cuanto a volúmenes de datos y rendimiento.
- Document AI llegará pronto a GA. Document AI ofrece procesamiento serverless de documentos basado en LLMs para extraer datos estructurados a partir de documentos de negocio no estructurados (PDF, imágenes, Word, etc., como facturas, contratos, hojas de prueba de productos, etc.). Más información aquí.
- El Snowflake Feature Store, ya en public preview, permite a los usuarios crear, gestionar y servir features de ML con refresh automático y continuo sobre datos batch o streaming, ya sea desde la UI o con las APIs de Snowpark ML. Más información aquí.
- El Snowflake Model Registry ya está en GA y ofrece una solución integrada para gestionar, hacer seguimiento, versionar y compartir modelos de AI/ML y sus metadatos de forma nativa en Snowflake, ya sea desde la UI o con las APIs de Snowpark ML. Más información aquí.
- Snowsight AI & ML Studio ya está en GA y ofrece una UI que facilita la creación de distintos modelos y pipelines de ML y AI.
- Cortex Finetuning ya está en Public Preview y permite entrenar modelos LLM fundacionales directamente desde la UI.
- Cortex Analyst, actualmente en private preview, es un servicio LLM serverless y de alta precisión que permite a los usuarios de negocio hacer una pregunta y recibir una respuesta concreta, no solo el texto SQL. Analyst se apoyará en un archivo YAML que define elementos como el esquema de datos, las métricas y los sinónimos para controlar el alcance y la precisión.
- Cortex Search, también en private preview, es un servicio de búsqueda híbrida (Vector + Keywords) serverless basado en LLM que extrae datos de forma incremental desde docs, tablas y vistas, los divide en chunks automáticamente y los vectoriza para lograr consultas rápidas (< 200ms) y resultados de búsqueda de alta precisión.
¡Hay bastante para digerir! En el resto del post, profundizaré en lo que se comentó sobre la dirección de Snowflake y entraré en detalle en algunos de los anuncios más relevantes, junto con su impacto.
Apertura y filosofía de Snowflake
En la apertura del keynote del summit, Sridhar y Benoit arrancaron reiterando los principios fundamentales de la plataforma Snowflake. Recalcaron que Snowflake es una sola plataforma construida sobre un solo engine, y que simplemente funciona. La mantienen simple y no te dan 20 formas distintas de hacer lo mismo. Este punto no me terminó de calar hasta que asistí al Databricks Summit la semana siguiente y comprobé lo complejo que es su producto.
Como Snowflake hizo recientemente un rebranding pasando de "Data Cloud" a "AI Data Cloud", la apertura giró en gran parte en torno a cómo la plataforma ofrece todo lo que necesitas para AI empresarial:
- Data. Snowflake ofrece almacenamiento nativo de muy alto rendimiento y soporta el formato abierto Iceberg para los clientes que quieran mantener el control total sobre sus datos y hacerlos accesibles a otros motores de cómputo (por ejemplo, Spark o Trino).
- Cómputo. Todo el mundo conoce los virtual warehouses de Snowflake, usados principalmente para consultas SQL. Internamente, Snowflake llama a su tecnología de virtual warehouse un "data flow engine". Todos los lenguajes (Java, Python y Scala) se compilan hacia ese engine, no solo SQL. Con Snowpark Container Services, Snowflake ofrece ahora una opción de cómputo aún más flexible que permite a los usuarios correr cualquier aplicación o workload dentro de un contenedor seguro (la idea: si se puede correr en Docker, se puede correr en Snowflake).
- AI, el gran tema del día. Con Cortex, los clientes de Snowflake tienen acceso a una suite de herramientas que simplifica el uso y la construcción de aplicaciones de AI. También hablaron de Arctic, una nueva familia de LLMs diseñada por Snowflake y orientada específicamente a casos de uso empresariales.
- Seguridad, gobierno y colaboración. Snowflake se ha caracterizado desde hace tiempo por sus sólidas garantías de seguridad, su gobierno sencillo y su robusto control de accesos. Aunque no sea algo en lo que piense el usuario típico, estas funciones y garantías son requisitos básicos para cualquier empresa.
Polaris Catalog y mayor interoperabilidad en la industria
Uno de los anuncios de los que más se habló se dio días antes del inicio del Summit, cuando Snowflake anunció que liberaría como open source su Iceberg Catalog, Polaris. La gran razón por la que esto es significativo es que ayudará a mejorar la usabilidad y a dar más interoperabilidad a los data lakes con Iceberg entre plataformas cloud.
Otra razón por la que se habló tanto del tema es que Databricks anunció en paralelo la adquisición de Tabular, una empresa fundada por los creadores y las personas clave detrás del desarrollo de Iceberg.
Esto significa claramente que Databricks añadirá soporte de primera clase para Iceberg en su producto, y me imagino que veremos a Snowflake seguir el mismo camino en algún momento, sumando soporte para Delta Lake. Aunque resulta un poco inquietante saber que una sola empresa va a "poseer" los dos formatos de datos open source más populares, creo que al final beneficiará considerablemente a los clientes, ya que todas las plataformas de datos en la nube se verán obligadas a soportar más formatos de datos abiertos.
Como parte de esto, Snowflake también anunció una importante expansión de su alianza con Microsoft Fabric. En el corazón de Fabric está OneLake, que históricamente eran archivos parquet de delta-lake. Ahora, Microsoft soportará Iceberg y Snowflake se integrará con OneLake.
Para quienes se pregunten por qué hace falta un catálogo aparte para Iceberg, este fragmento de la documentación de Iceberg me pareció útil:
Puedes pensar en Iceberg como un formato para gestionar datos en una sola tabla, pero la librería de Iceberg necesita una forma de llevar el control de esas tablas por nombre. Tareas como crear, eliminar y renombrar tablas son responsabilidad de un catálogo. Los catálogos gestionan una colección de tablas que normalmente se agrupan en namespaces. La responsabilidad más importante de un catálogo es llevar el control de los metadatos actuales de una tabla, que el catálogo entrega cuando cargas la tabla.
El proyecto Iceberg no ofreció un catálogo propio; en su lugar, fijó los estándares de qué debían hacer los catálogos y cómo podían interactuar con Iceberg. Al puro estilo Snowflake, están bajando drásticamente la barrera de entrada para adoptar tecnologías complejas como Iceberg al aportar las piezas que faltaban.
Serverless Tasks Flex en Private Preview
Para quienes les interese la optimización de costos en Snowflake, Snowflake anunció una nueva función muy interesante llamada Serverless Tasks Flex.
Con las Serverless Tasks, defines un schedule y Snowflake ejecuta automáticamente tu consulta sobre recursos de cómputo gestionados por ellos. Solo pagas por segundo el tiempo de cómputo exacto utilizado.
Con Serverless Tasks Flex, indicas tanto un schedule como un SLA que define el tiempo máximo de ejecución de la task (es decir, a qué hora tiene que terminar, en relación con la hora de inicio programada). Snowflake toma estos dos parámetros y encuentra el momento más barato para correr tu task, asegurándose de que termine dentro del SLA (por ejemplo, 3 horas) que especifiques.
Snowpark Container Services en Native Apps, ahora en Public Preview
Snowflake anunció que los desarrolladores de native apps ya pueden aprovechar Snowpark Container Services en sus aplicaciones, lo que permite construir y correr UIs más completas (por ejemplo, React/Javascript personalizado) y aplicaciones más complejas íntegramente dentro de Snowflake.
Fue un anuncio enorme para los partners de Snowflake, porque permitirá a empresas como SELECT ofrecer sus productos de forma más segura y fluida.
Snowflake Notebooks en Public Preview
Snowflake anunció que su función de Notebooks ya está en Public Preview. Los Notebooks te permiten combinar Python, SQL y Markdown para crear reportes, jobs o realizar análisis ad hoc.
También puedes programar la ejecución de los notebooks sobre un virtual warehouse o un contenedor de Snowpark. Snowflake también anunció que ofrecerá Copilot integrado en los notebooks (actualmente en public preview).
Anuncios de Snowflake Horizon
Snowflake Horizon es la suite de funciones de Snowflake relacionada con gobierno de datos, descubribilidad, seguridad y privacidad. Hubo varios anuncios relacionados con Horizon:
- Universal Search
- Table Governance Views
- AI-Powered Object Descriptions
- Data Lineage Visualization para tablas y vistas
- ML Lineage Visualization
- Trust Center
- Internal Marketplace
Voy a comentar algunos de los que, en mi opinión, serán más relevantes para la mayoría de los usuarios de Snowflake.
Universal Search ya está en General Availability
Search, accesible desde la UI, te permite buscar en todo lo que tienes en Snowflake, desde tus datos internos hasta el marketplace. Search se apoya en la tecnología del motor de búsqueda de Neeva, que Snowflake adquirió en 2023.
Acá va un ejemplo desde nuestra cuenta de Snowflake:
Pestaña de Table Governance en Public Preview
En la página de la tabla, Snowflake mostró una nueva pestaña de Governance que reúne información sobre las principales consultas, usuarios y roles que acceden a una tabla. Será útil para quienes quieran entender quién está usando una tabla y de qué manera.
Table Lineage en Private Preview
Snowflake mostró una nueva vista de Table Lineage en la página de la tabla, que muestra las dependencias upstream y downstream de vistas y tablas.
Esta es una de las funciones más populares que ofrecen las herramientas de Data Catalog y observabilidad, así que es genial ver que Snowflake la pone al alcance de todos sus clientes.
Varias mejoras de rendimiento
Para quienes les interese la optimización de consultas, Snowflake destacó una serie de mejoras de rendimiento lanzadas a lo largo de los últimos 12 meses. Todas ocurren tras bambalinas y mejoran de forma silenciosa la experiencia del desarrollador y del usuario para todos los clientes de Snowflake.
Conectores nativos para Postgres y MySQL
Sobre la base del éxito de sus conectores nativos recientes —el Snowflake Connector for Kafka y los conectores para aplicaciones SaaS como ServiceNow y Google Analytics—, Snowflake anunció que los conectores nativos para Postgres y MySQL estarán pronto en public preview. Esto permitirá a los clientes replicar fácilmente datos CDC desde sus bases de datos internas hacia Snowflake con muy baja latencia y, sobre todo, sin pagarle a un tercero por cada fila cargada.
Será interesante ver qué implica esto para empresas como Fivetran. Si tuviera que arriesgarme, diría que probablemente más de la mitad de sus ingresos viene de la replicación de datos de Postgres y MySQL. Snowflake ha dicho que construirá más conectores para otras bases de datos líderes, así que la canibalización de ingresos solo puede ir en una dirección: hacia arriba.
Snowflake Trail en Private Preview
Snowflake sigue apostando fuerte por las funciones de observabilidad, tanto para datos como para desarrollo de aplicaciones.
Este año en el Summit anunciaron Snowflake Trail, un conjunto de capacidades de Snowflake para que los desarrolladores puedan monitorear, diagnosticar, depurar y tomar acción sobre pipelines, apps, código de usuario y uso de cómputo.
Snowflake Trail se apoya en las Event Tables y ayuda a los usuarios a ganar automáticamente mayor visibilidad sobre el rendimiento del código de Snowpark y el uso de recursos.
Snowflake Trail cumple con la especificación open telemetry, así que se integra fácilmente con tecnologías de partners. Además tendrán una UI básica encima de las event tables.
API de Snowpark Pandas
A finales de 2023, Snowflake adquirió Ponder para potenciar sus capacidades en Python.
Como resultado de esa adquisición, Snowflake lanzó una nueva API de Snowpark pandas que permite a los usuarios de Python ejecutar su código pandas sobre el cómputo de Snowflake de forma paralelizada, eliminando las limitaciones habituales de pandas en cuanto a volúmenes de datos y rendimiento.
Los usuarios ahora pueden escribir código pandas normal y que, por debajo, se ejecute automáticamente como SQL de Snowflake, con un rendimiento mucho mejor y la posibilidad de manejar datasets más grandes que la memoria disponible.
Por debajo, esto funciona tomando tu código pandas y traduciéndolo a consultas SQL cuyos resultados se devuelven como objetos nativos de Python. ¡Muy interesante!
Imágenes del anuncio de Snowflake: https://www.snowflake.com/blog/snowpark-pandas-api-run-at-scale/
Snowflake Cortex
Snowflake Cortex es la suite de funciones y herramientas de AI de Snowflake. Cortex te da acceso a una variedad de LLMs, incluidos los de Mistral, Reka, Meta, Google y Snowflake Arctic.
En el Summit, Snowflake anunció 3 nuevas funciones dentro de la suite de Cortex.
Cortex Finetuning (Public Preview)
Cortex Finetuning ya está en Public Preview y permite entrenar modelos LLM fundacionales directamente desde la UI.
La mayoría de los LLMs listos para usar no sirven tal cual para las empresas, porque no conocen sus datos ni sistemas internos. Con el fine-tuning, las empresas pueden entrenar modelos más relevantes para sus casos de uso internos.
Cortex Analyst (Private Preview)
Cortex Analyst, actualmente en private preview, es un servicio LLM serverless y de alta precisión que permite a los usuarios de negocio hacer una pregunta y recibir una respuesta concreta, no solo el texto SQL.
Este es uno de los casos de uso de AI más comentados en la industria. Si le das a un LLM todo el conocimiento semántico y los metadatos de tu data warehouse, junto con la capacidad de ejecutar consultas SQL directamente e interpretar los resultados, tienes algo de mucho valor.
Cortex Analyst se apoyará en un archivo YAML que define elementos como el esquema de datos, las métricas y los sinónimos para controlar el alcance y la precisión. Tenemos muchas ganas de ver cómo evoluciona esta función. Dada la complejidad de construir un sistema así y las implicaciones de negocio de las respuestas que entrega, espero que pase un tiempo antes de que llegue a manejar volúmenes significativos de consultas reales del negocio.
Cortex Search (Private Preview)
Cortex Search, también en private preview, es un servicio de búsqueda híbrida (Vector + Keywords) serverless basado en LLM, que extrae datos de forma incremental desde docs, tablas y vistas, los divide en chunks automáticamente y los vectoriza para lograr consultas rápidas (< 200ms) y un rendimiento de búsqueda de alta precisión.
Durante el keynote del Summit, invitaron al escenario a una persona al azar del público. Solo había entrado a Snowflake un par de veces y consiguió tener un servicio funcionando en menos de 5 minutos solo con clics en la UI.
Durante la demo, seleccionaron un stage que tenía precargados varios PDFs de ejemplo y, en pocos minutos, apareció una interfaz de chat donde podían hacer preguntas y el LLM respondía con respuestas basadas directamente en el contenido de esos PDFs.
¡Dark Mode!
Para cerrar el keynote, Snowflake anunció que una de las funciones más pedidas, el Dark Mode, ya estaba disponible para todos los clientes. Puedes ver el video aquí.
Lo he estado usando desde entonces y me tiene bastante contento con la experiencia.
Reflexiones finales
Aunque no hubo anuncios de plataforma tan fundacionales como los de años pasados, tipo Native Apps o Snowpark Container Services, el Summit 2024 dejó claras algunas cosas:
- El ritmo al que se lanzan nuevas funciones y se llevan a General Availability se ha acelerado significativamente. Aunque no vimos ningún anuncio individual tan grande como el lanzamiento del app store de Snowflake o una forma fundacionalmente nueva de correr workloads (Snowpark Container Services), la sensación fue que recibimos muchísimo más en todos los frentes.
- Snowflake les está dando a sus clientes más funcionalidad lista para usar y reduce la necesidad de salir a comprar otras herramientas de terceros típicamente requeridas para operar un data warehouse. Han profundizado sus inversiones en calidad de datos y data governance, todos los clientes pronto tendrán data lineage (la función más popular de los data catalogs), tienen una nueva función de Notebooks excelente y están por liberar conectores nativos gratuitos para Postgres y MySQL (¿adiós, Fivetran?).
- AI y ML son el foco principal de Snowflake. Esto se ha hecho cada vez más evidente también en las llamadas con inversores, ya que el mercado espera que estos nuevos workloads (junto con Snowpark) representen una porción significativa de los ingresos en los próximos 5 años. Hoy por hoy, la mayor parte de los ingresos de Snowflake (yo diría que más del 90%) viene de workloads tradicionales de data warehousing y business intelligence. En el Summit se mostraron muchas funciones impresionantes. Si están a la altura de lo que se vio en el escenario, no hay duda de que tendrán un impacto enorme en muchas organizaciones a la hora de acelerar la adopción de AI.
Ian Whitestone · Cofundador y CEO de SELECT
Ian es Cofundador y CEO de SELECT, una plataforma SaaS de gestión y optimización de costos de Snowflake. Antes de fundar SELECT, Ian pasó 6 años liderando equipos full stack de data science y engineering en Shopify y Capital One. En Shopify, Ian lideró los esfuerzos para optimizar su data warehouse y aumentar la observabilidad de costos.