
Con el auge de los entornos multicloud y la necesidad de soluciones de data warehouse en la nube que sean escalables, flexibles y potentes, Snowflake se ha consolidado como la fuerza dominante del mercado, con una mayor cuota de mercado que soluciones nativas de la nube como Amazon Redshift y Google BigQuery, y casi el doble que su competidor externo más cercano.
Sin embargo, como ocurre con cualquier servicio en la nube, una gestión eficaz de los costos es clave para sacar el máximo provecho a tu inversión. Sin un monitoreo adecuado, los costos de Snowflake pueden dispararse de forma inesperada y provocar sobregiros de presupuesto y falta de transparencia financiera. En ese sentido, los datos de costo y uso de Snowflake no se diferencian de los de tus demás proveedores de nube.
A medida que tu negocio crece y los costos en la nube aumentan, el data warehousing puede llegar a representar una porción importante del gasto en la nube (entre un 10 % y un 50 %), sobre todo en empresas con altas necesidades de procesamiento y analítica. Dado el impacto que esto puede tener en tus presupuestos de IT y operaciones, queda clara la importancia de gestionar de forma eficaz los costos y el uso en todos los principales generadores de gasto en la nube.
Visibilidad integral de los costos con Snowflake Lens
Esta necesidad de un único panel de control es la motivación detrás de Snowflake Lens en DoiT Cloud Intelligence™, un dashboard listo para usar que aporta capacidades avanzadas de analítica y gobierno sobre el uso y los costos de Snowflake.
Dashboard de Snowflake Lens
Integrar los costos de Snowflake junto con los de tus otros proveedores de nube te da una visión completa del gasto total. Esta vista unificada permite identificar dónde se asignan los recursos en los distintos servicios (compute, almacenamiento, redes y data warehousing) y ofrece una mirada más profunda al impacto financiero de toda tu infraestructura en la nube. Entender cómo encaja el data warehousing en el panorama general del gasto facilita además mejores decisiones sobre asignación de recursos, planificación presupuestaria e identificación de oportunidades de ahorro.
Tras conectar tu cuenta de Snowflake con DoiT Cloud Intelligence —un proceso que toma apenas unos minutos— y cargar los datos, el dashboard se completa automáticamente sin necesidad de configuración adicional. El contenido se compone de seis widgets de reporte:
- Costo mensual por servicio
- Costo mensual por región
- Warehouses mensuales por costo
- Costo mensual por tipo de uso
- Top 10 de bases de datos por costo de almacenamiento
- Top 10 de consultas por usuario
Una vez activo el Lens, cada uno de estos widgets puede abrirse como un reporte completo de Cloud Analytics, donde puedes ajustar el período, sumar nuevos filtros o agrupaciones, o generar análisis de tendencias para apoyar la planificación y el forecasting.
Una vez ingestados, los datos también quedan disponibles en otras funciones de DoiT Cloud Intelligence incluidas en tu suscripción, como Dashboards, Attributions, Anomaly Detection y Alerts. Esto no solo ayuda a contextualizar y monitorear tus costos de Snowflake, sino también a garantizar que recibas notificaciones (en la consola o vía tu integración con Slack o correo) cada vez que un pico de costos se salga del rango esperado.
Cómo optimizar tus costos de Snowflake
Como ocurre con cualquier gasto de IT o nube, sacarle el máximo provecho a la inversión en Snowflake depende de mantener tus costos alineados con lo presupuestado y, si no lo están, asegurar que ese gasto esté al servicio de tus objetivos de negocio. Dicho de otro modo, no se trata de reducir costos siempre, sino de garantizar que el dinero invertido no se pierda.
Aclarado esto, como te confirmará cualquiera de los expertos del equipo DoiT Cloud Solve, es muy común detectar numerosas oportunidades de optimización al hacer la primera auditoría del uso de Snowflake. Así que, ya sea que lo hagas por tu cuenta o con el apoyo de nuestro equipo interno de servicios, conviene tener presentes algunas estrategias comunes al revisar estos costos.
Ahorros en compute
- Right-sizing de los virtual warehouses
Una de las formas más eficaces de reducir los costos de compute en Snowflake es asegurarte de que tus virtual warehouses tengan el tamaño adecuado para sus workloads. Los warehouses grandes suelen ser más costosos y, en muchos casos, uno más pequeño logra resultados de rendimiento similares para workloads rutinarios. Por eso conviene empezar pequeño y escalar a medida que se necesite: arranca con tamaños menores, monitorea el rendimiento y solo escala si hace falta mayor velocidad de ejecución de consultas. Muchos de nuestros clientes descubren que sus workloads corren bien en un warehouse x-small la mayor parte del tiempo, así que comenzar ahí y escalar verticalmente cuando haga falta es lo ideal.
- Consolida los virtual warehouses
Mantener varios virtual warehouses para workloads similares puede aumentar costos innecesariamente. Al consolidarlos, sobre todo en equipos o áreas con necesidades de procesamiento parecidas, reduces el tiempo inactivo y aprovechas mejor los recursos. Algunas estrategias clave:
- Agrupar recursos: consolida warehouses pequeños y subutilizados en uno más grande, capaz de manejar varias tareas en paralelo y mejorar la eficiencia.
- Auto-scaling: con un virtual warehouse compartido y auto-scaling habilitado, Snowflake puede ajustar los recursos automáticamente durante los picos de demanda, evitando el sobreaprovisionamiento y reduciendo costos en períodos de inactividad.
- Define guardrails para las consultas
Las consultas largas o ineficientes pueden consumir muchos recursos de compute y disparar los costos.
- Configura timeouts de consulta: los timeouts evitan que consultas descontroladas monopolicen los recursos del warehouse. Define límites de tiempo para terminar las consultas que excedan un tiempo razonable; así se ahorran recursos y se motiva a los usuarios a optimizar las consultas ineficientes.
- Auto-suspend y Auto-resume: también vale la pena considerar las opciones de Auto-suspend y Auto-resume del warehouse. La buena práctica es configurarlas en torno a los 5 minutos (o menos para warehouses con más actividad). Así se ahorra dinero al no mantener los warehouses corriendo cuando no están en uso.
- Optimiza las clustering keys: usar clustering keys en Snowflake puede reducir significativamente el compute requerido por las consultas, al mejorar la eficiencia de acceso y disminuir la cantidad de datos por escanear. Para sacarles el máximo provecho, elige las columnas que aparecen con más frecuencia en filtros de consulta (cláusulas 'WHERE'), condiciones 'JOIN' u operaciones de ordenamiento. De esta forma, Snowflake agrupa los datos para que esas consultas sean más eficientes.
- Refactoriza y optimiza las consultas
También conviene revisar y optimizar las consultas de forma periódica para que estén pensadas en clave de rendimiento y eficiencia de costos. Una indexación adecuada, evitar escaneos innecesarios de datos y reducir joins puede mejorar el rendimiento y bajar los costos.
Ahorros en almacenamiento
- Elimina tablas y datos sin uso
Con el tiempo, los warehouses de Snowflake pueden acumular tablas en desuso, datos obsoletos o backups innecesarios, todo lo cual eleva los costos de almacenamiento. Identificar y eliminar regularmente las tablas que ya no se usan ayuda a reducirlos. Una fuente común son las staging tables que se utilizaron para procesos ETL y nunca se eliminaron, lo que infla el almacenamiento sin necesidad. También puedes automatizar su eliminación al terminar los procesos para evitar que vuelva a pasar.
- Optimiza la compresión de datos
Snowflake comprime los datos automáticamente para reducir los requisitos de almacenamiento, pero la forma en que los almacenas puede mejorar aún más la eficiencia de la compresión. Para ello conviene elegir formatos altamente comprimibles como Parquet u ORC, que ofrecen mejor compresión que formatos como CSV. Estos formatos reducen el footprint general de datos sin sacrificar el rendimiento.
- Optimiza la configuración de retención de datos
Las funciones Time Travel y Fail-safe de Snowflake te permiten acceder a datos históricos durante cierto período, pero también tienen un costo de almacenamiento. Ajustar la retención puede ayudar a reducir costos, por ejemplo acortando el período de Time Travel o limitando la retención de Fail-safe. Aunque Fail-safe ofrece una ventana de recuperación de 7 días después de que expira Time Travel, ese almacenamiento adicional puede salir caro. Reservar Fail-safe solo para cuando sea necesario evita grandes picos de costos más adelante.
- Usa tablas temporales o transitorias
Usar tablas temporales y transitorias en Snowflake es una forma efectiva de bajar los costos de almacenamiento, sobre todo para datos de corta duración o resultados intermedios que no necesitan guardarse a largo plazo.
- Las tablas temporales son ideales para almacenar datos intermedios o específicos de una sesión durante procesos ETL, consultas complejas o transformaciones. Como solo están disponibles dentro de la sesión que las creó y se eliminan automáticamente al finalizarla, ayudan a evitar costos innecesarios de almacenamiento a largo plazo.
- Las tablas transitorias son útiles para datos que necesitan persistir entre varias sesiones, pero solo por un período corto. A diferencia de las permanentes, no cuentan con Fail-safe (la ventana de recuperación de 7 días de Snowflake), lo que ayuda a reducir costos. Sí cuentan con Time Travel, pero puedes configurar un período de retención más corto para minimizar el almacenamiento.
Tu hub en expansión para el ahorro en la nube
Snowflake Lens en DoiT Cloud Intelligence forma parte de nuestro esfuerzo continuo por brindar a los clientes de DoiT todas las herramientas y la experiencia que necesitan para gestionar y controlar de forma eficaz su entorno de nube en todos sus principales generadores de costo. De aquí en adelante, sumaremos nuevos proveedores de servicios e integraciones que te permitirán llevar todo tu gasto de IT relevante al panel único de DoiT Cloud Intelligence, reduciendo aún más la fricción en tu práctica de FinOps en crecimiento.
Para conocer más sobre Snowflake Lens y cómo funciona, haz clic en la imagen de abajo para hacer un recorrido autoguiado completo, o ponte en contacto con un experto de DoiT.
