A pesar de que ya han pasado algunos meses desde la celebración de la Codemotion Madrid 2024, todavía nos siguen llegando comentarios positivos y entusiastas sobre las charlas y talleres que se llevaron a cabo. Incluso algunas personas ya nos están preguntando cuándo será la próxima Codemotion y qué nuevas experiencias podrán vivir. Y aunque todavía no podemos contaros gran cosa, podemos deciros que ya estamos trabajando en ello😁.
Para seguir manteniendo el espíritu de aprendizaje y colaboración que vivimos en la Codemotion Madrid de este año, estamos repasando algunas de las charlas más destacadas del evento. Una de ellas fue la de “Build and Deploy Your First Snowflake Native App”, impartida por Niels ter Keurs, Startup Program Architect en Snowflake.
Contexto de la charla
En la actualidad, el desarrollo de aplicaciones nativas que aprovechan las infraestructuras cloud se ha convertido en una de las estrategias más efectivas a la hora de impulsar el crecimiento empresarial y generar nuevas fuentes de ingresos.
Desde hace ya bastante tiempo, los desarrolladores han tenido que enfrentarse a numerosos desafíos para construir y desplegar este tipo de aplicaciones, desde la gestión de la infraestructura hasta el almacenamiento y la seguridad de los datos, entre muchos otros. Diseñar aplicaciones nativas, rentables, seguras y escalables, no es tan sencillo como pueda parecer a primera vista.
Más allá de todo eso, y a pesar de todas las posibilidades que tenemos hoy en día, los silos de datos siguen planteando dificultades en la mayoría de los proyectos. Integrar los datos de múltiples fuentes sigue siendo un reto para muchas organizaciones, ya que, además de ser costoso y complicado, limita la agilidad y la capacidad de adaptación de las empresas.
Aunque hay infinidad de herramientas y plataformas disponibles que prometen facilitar el proceso, la elección de la tecnología adecuada puede resultar en ocasiones abrumadora. Es precisamente en este contexto donde Snowflake entra en juego, pues ha demostrado ser una solución robusta y fiable para desarrollar aplicaciones nativas en la nube.
Utilizando el marco Snowflake Native Application, los proveedores pueden crear aplicaciones con funcionalidades de Snowflake como funciones definidas por el usuario (user-defined functions, UDF), procedimientos almacenados, Snowpark, Snowpark Container Service, Hybrid Tables y Streamlit UIs. Los proveedores también pueden desplegar y operar Snowflake Native Apps con versiones listas para usar y soporte de monitorización, distribuirlas en Snowflake Marketplace a través de listas públicas o privadas, y aprovechar la infraestructura de facturación para monetizar las aplicaciones utilizando modelos de facturación personalizables.
Los consumidores pueden comprar aplicaciones con una tarjeta de crédito o su crédito de Snowflake, instalar y utilizar estas aplicaciones dentro de sus cuentas Snowflake, y ejecutarlas directamente contra sus datos de forma segura en el Data Cloud.
¿Qué es Snowflake?
Tal y como nos contó Niels Tes Kleurs durante la charla, una de las opciones que mejor acogida está teniendo últimamente entre desarrolladores y empresas es Snowflake.
Snowflake es un SaaS o plataforma de Data Cloud global que ofrece todo lo necesario para diseñar, distribuir y escalar aplicaciones nativas, seguras y flexibles. En la actualidad casi 10 000 empresas confían en ella, con más de 2500 registros en su Marketplace y más de 500 millones de consultas de datos cada día.
Una de las grandes ventajas de Snowflake es que permite elegir con qué proveedor de la nube pública queremos trabajar. Ofrece compatibilidad con las principales plataformas como AWS, Microsoft Azure y Google Cloud Platform. También permite seleccionar la región geográfica que queremos utilizar en cada una de ellas.
Una vez seleccionado nuestro proveedor en la nube favorito, Snowflake permite crear un repositorio de datos centralizado de manera virtual, a pesar de que los datos puedan estar almacenados en diferentes ubicaciones geográficas. Esto facilita la integración de datos de diferentes fuentes, agiliza el acceso a los mismos y mejora la eficiencia en la toma de decisiones.
Por otro lado, Snowflake dispone de un motor SQL propio que permite a los desarrolladores crear y desplegar aplicaciones de forma más eficiente. Este motor ofrece una interfaz intuitiva y fácil de usar que facilita la escritura y ejecución de consultas SQL.
Mediante una arquitectura bien organizada y múltiples opciones en la gestión de los datos, Snowflake es perfecto para aquellos que quieren evitar depender de un proveedor, necesitan una plataforma que permita manejar grandes volúmenes de datos con soltura y desean gestionar workloads pesados de una manera eficiente.
La charla: Build and Deploy Your First Snowflake Native App
La charla “Build and Deploy Your First Snowflake Native App” se celebró el segundo día de la Codemotion Madrid 2024 y corrió a cargo de Niels ter Keurs, Startup Program Architect en Snowflake.
En un tono muy ligero y apto para cualquier asistente, Niels nos explicó las capacidades de esta plataforma que tantas alegrías les está dando. Cualquier persona interesada puede crear, distribuir, monetizar e implementar aplicaciones de forma nativa en su Data Cloud. Además, se puede aprovechar la funcionalidad de Snowflake Marketplace, donde se puede publicar y distribuir cualquier tipo de aplicación empleando listados privados y públicos.
Tras una breve introducción pasó a una demostración práctica donde mostró cómo construir y desplegar una aplicación nativa de Snowflake. Niels nos guió paso a paso por el proceso, desde la definición de los datos hasta la implementación y publicación de la aplicación, e hizo hincapié en las facilidades que ofrece Snowflake para tareas que suelen ser complejas en otros entornos.
Aplicaciones privadas o públicas, integración con otras herramientas, múltiples opciones de monetización, control de versiones, pruebas de usuarios controladas, Marketplace propio, seguridad granular… Niels cubrió todos estos aspectos en su charla, lo que ofreció una visión completa y detallada sobre cómo sacar el máximo provecho de Snowflake. También resaltó la importancia de contar con un soporte sólido y una comunidad de desarrolladores dinámica, algo que Snowflake está construyendo activamente.
Al finalizar la charla, los asistentes salieron de la sala con una idea bastante detallada de la plataforma. También tuvieron la oportunidad de plantear sus preguntas y dudas a Niels, quien se mostró encantado de resolverlas. Seguro que para muchos de los presentes fue todo un descubrimiento y varios de ellos estaban deseando volver a casa para empezar a explorar por sí mismos las posibilidades que ofrece.
El ponente: Niels ter Keurs, Startup Program Architect at Snowflake
Niels es Program Architect en el equipo de Snowflake for Startups. Cuenta con una gran experiencia en aplicaciones de datos y su propósito se centra en maximizar el valor que las startups pueden obtener de la plataforma con el objetivo de que estas puedan reducir la complejidad de la arquitectura de datos en sus aplicaciones. Niels trabajó en ServiceNow y Workday en funciones de arquitectura orientadas al cliente y fue fundador y arquitecto de una startup de analíticas para el sector hotelero.