Visión general de Snowflake
Snowflake es una plataforma de data cloud que las organizaciones usan para almacenar, procesar y analizar datos. Para el hosting, Snowflake se apoya en los tres grandes proveedores de nube: AWS (Amazon Web Services), GCP (Google Cloud Platform) y Microsoft Azure. Se trata de una plataforma totalmente gestionada, por lo que los usuarios no tienen acceso directo a la infraestructura subyacente. Esto responde al objetivo de Snowflake de ofrecer una plataforma fácil de usar, gestionando la complejidad sin renunciar a un conjunto de funcionalidades potente.
Entre las características más destacadas de Snowflake están las capas desacopladas de almacenamiento y cómputo, el aprovisionamiento just-in-time y la suspensión automática de las instancias de cómputo inactivas (conocidas como virtual warehouses). La capa de almacenamiento desacoplada habilita funcionalidades como el zero-copy cloning y el data sharing.
El modelo de precios de Snowflake
Como la mayoría de las plataformas SaaS (Software as a Service) en la nube, Snowflake aplica un modelo de precios basado en el uso. En lugar de una tarifa fija mensual o anual, mide los volúmenes de uso en cómputo, almacenamiento y transferencia de datos, y calcula los costos a partir de precios predefinidos para cada concepto.
Snowflake tiene una moneda interna llamada "credits". Los Snowflake Credits se consumen al realizar actividades dentro de la plataforma, como ejecutar virtual warehouses. El costo de cada credit depende de tres factores principales: la edición de Snowflake, la región de hosting y el proveedor de nube.
Ediciones de Snowflake
Las ediciones de Snowflake se pueden entender como los distintos planes que ofrece la plataforma.
Actualmente, Snowflake ofrece cuatro ediciones: Standard, Enterprise, Business Critical y Virtual Private Snowflake (VPS). Cada edición se diferencia por la disponibilidad de ciertas funcionalidades. La principal diferencia es que los clientes Enterprise acceden a multi-cluster warehouses (escalado horizontal), mientras que las ediciones Business Critical y VPS se enfocan casi por completo en mayor seguridad y protección de datos. Para conocer todos los detalles sobre las funcionalidades de cada edición, consulta la documentación de Snowflake.
Regiones de Snowflake
Cada cuenta de Snowflake se ejecuta en una única región. Los clientes pueden crear tantas cuentas como quieran, repartidas entre distintos proveedores de nube y regiones. Snowflake ofrece más de 35 regiones para elegir. Lo habitual es que, para su cuenta principal, los clientes elijan el mismo proveedor y la misma región donde ya tienen su infraestructura.
Ventajas del modelo de precios de Snowflake
Con el modelo de precios basado en el uso de Snowflake, solo pagas por los recursos que consumes. Esto, sumado a la velocidad de aprovisionamiento de Snowflake (por lo general, menos de un segundo), permite a los clientes usar el escalado automático para apagar virtual warehouses inactivos sin sufrir problemas de rendimiento cuando vuelven a necesitarlos.
Desventajas del modelo de precios de Snowflake
La principal desventaja del modelo de precios de Snowflake, como en todo modelo basado en el uso, es la variabilidad. Resulta complicado estimar los costos con precisión antes de adoptar Snowflake, y los costos varían según el consumo. A esto se suma que los usuarios tienen la libertad de gastar mucho dinero si utilizan virtual warehouses sobredimensionados, por lo que es esencial contar con prácticas sólidas de monitoreo y control de presupuesto.
¿Snowflake es rentable?
Snowflake es extremadamente rentable, siempre que se sigan las prácticas adecuadas. Recomendamos implementar un monitoreo sólido del consumo, ya sea con los reportes integrados en la UI de Snowflake, creando dashboards personalizados o usando un producto como SELECT.
Precio del credit de Snowflake (costo por credit)
El costo de cada Snowflake Credit depende de cuatro factores:
- Edición de Snowflake
- Región de hosting
- Proveedor de nube
- Descuentos
Este es el rango de costo por credit de cada edición, con condiciones de pago on-demand, donde el uso se factura mes a mes. El valor más bajo de cada rango corresponde a las típicas regiones de AWS en EE. UU. que usa la mayoría de los clientes, y los valores más altos a regiones fuera de EE. UU.
| Standard | Enterprise | Business Critical | VPS (Virtual Private Snowflake) |
|---|---|---|---|
| $2.00 - $3.10 | $3.00 - $4.65 | $4.00 - $6.20 | $6.00 - $9.30 |
La mayoría de los clientes opta por pagar Snowflake mediante contratos de capacity commitment (capacity pricing), en los que el uso se compra por adelantado. Optar por un contrato de capacity commitment otorga descuentos sobre el precio por credit en una escala progresiva.
Para consultar una tabla completa de los costos por credit de Snowflake en todas las nubes y regiones, revisa la Snowflake Credit Consumption Table.
Precios de cada servicio de Snowflake
Precios de los Virtual Warehouses
Los virtual warehouses suelen ser la principal fuente de costos, ya que son los que ejecutan las consultas. Los clientes los llaman habitualmente "compute costs". El precio de los warehouses de Snowflake varía según su tamaño. Aquí tienes la lista de cada tamaño de virtual warehouse con sus costos asociados:
| Tamaño del warehouse | Credits / hora | Credits / hora (Snowpark-Optimized) |
|---|---|---|
| X-Small | 1 | N/A |
| Small | 2 | N/A |
| Medium | 4 | 6 |
| Large | 8 | 12 |
| X-Large | 16 | 24 |
| 2X-Large | 32 | 48 |
| 3X-Large | 64 | 96 |
| 4X-Large | 128 | 192 |
| 5X-Large | 256 | 384 |
| 6X-Large | 512 | 768 |
Cada incremento de tamaño duplica los recursos disponibles. Los warehouses Snowpark-optimized son un tipo más reciente, con 16x la memoria del warehouse "normal" para cada tamaño, a 1.5X el costo.
El cómputo de los virtual warehouses suele representar el 80% de la factura de un cliente de Snowflake. Por eso, casi siempre es el foco de cualquier esfuerzo de optimización de costos.
Precios de los servicios serverless
Para las funcionalidades serverless de Snowflake, como Snowpipe, Automatic Clustering y Serverless tasks, los credits se consumen aplicando un multiplicador específico de cada funcionalidad. Los servicios más baratos en términos de multiplicador son Query Acceleration y Snowpipe Streaming, ambos con un multiplicador 1X. Los más caros son el Search Optimization Service y las Materialized Views, con un multiplicador 2X.
| Funcionalidad | Multiplicador de credits de cómputo | Multiplicador de Cloud Services | Extras |
|---|---|---|---|
| Clustered Tables | 2 | 1 | - |
| Data Quality Monitoring | 2 | 1 | - |
| Hybrid Tables Requests | 1 | 1 | 1 credit por cada 30 GB de lectura y 1 credit por cada 7.5 GB de escritura |
| Logging | 1.25 | - | 0.28 credits por cada 1000 file batches |
| Mantenimiento de Materialized Views | 2 | 1 | - |
| Open Catalog | - | - | 0.5 credits por cada 1 millón de requests |
| Query Acceleration | 1 | - | - |
| Replication | 2 | 0.35 | - |
| Search Optimization Service | 2 | 1 | - |
| Sensitive Data Classification | 0.9 | 1 | - |
| Serverless Alerts | 0.9 | 1 | - |
| Serverless Tasks | 0.9 | 1 | - |
| Serverless Tasks Flex | 0.9 | 1 | - |
| Snowpipe | 1.25 | - | 0.06 credits por cada 1000 archivos |
| Snowpipe Streaming | 1 | - | 0.01 credits por instancia de cliente por hora |
| Trust Center | 1 | 1 | - |
Precios de almacenamiento
Snowflake almacena los datos en un formato de archivo propio llamado micro-partitions, dentro del servicio de almacenamiento en la nube del proveedor subyacente (es decir, Amazon S3, Azure Blob Storage o Google Cloud Storage).
Snowflake aplica precios directos en dólares para el almacenamiento. De nuevo, los precios varían según el proveedor de nube y la región. Los clientes en regiones de AWS de EE. UU. pagan $23 por TB al mes. Las regiones fuera de EE. UU., una vez más, son más caras. Puedes ver el desglose completo de los costos de almacenamiento en todas las regiones en el sitio web de Snowflake.
Si quieres profundizar en los costos de almacenamiento de Snowflake, no te pierdas nuestro post aquí. Para conseguir mejoras rápidas y reducir costos de almacenamiento innecesarios, puedes consultar tu cuenta para identificar tablas sin uso y eliminarlas.
Costos de transferencia de datos
La transferencia de datos es el proceso de mover datos hacia dentro y hacia fuera de Snowflake. A los datos que entran a Snowflake se les suele llamar "ingress", y a los que salen, "egress". Estas son algunas notas importantes sobre cómo funcionan los costos de transferencia de datos en Snowflake:
- Snowflake no cobra por el ingress de datos.
- Transferir datos dentro de la misma región y el mismo proveedor de nube es gratis.
- Solo ciertas funcionalidades de Snowflake generan costos de transferencia de datos (descarga de datos, replicación de datos, uso de external functions, etc. — ver aquí).
- Los cargos por egress de datos no aplican cuando un cliente o driver de Snowflake recupera los resultados de una consulta, ¡aunque ocurra entre distintas plataformas de nube o regiones!
De nuevo, los costos completos están disponibles en el sitio web de Snowflake.
Costos de Cloud Services
La capa de cloud services de Snowflake se encarga de todo aquello que no es el almacenamiento ni el procesamiento de datos en sí. Eso incluye autenticación, compilación de consultas y zero-copy cloning, por mencionar algunos. El precio de los cloud services en Snowflake funciona con un modelo tipo "fair-use": mientras el uso de cloud services no supere el 10% del uso de cómputo, no se generan costos adicionales. Por ejemplo, si un cliente consume 100 credits de cómputo y 5 credits de cloud services, se cancelan entre sí:
| Servicio | Credits usados |
|---|---|
| Cómputo | 100 |
| Cloud Services | 5 |
| Reembolso de Cloud Services | -5 |
| Total | 100 |
Sin embargo, si los credits de cloud services suben a 15:
| Servicio | Credits usados |
|---|---|
| Cómputo | 100 |
| Cloud Services | 15 |
| Reembolso de Cloud Services | -10 |
| Total | 105 |
Solo se reembolsan 10 credits, calculados como el 10% de los credits de cómputo usados. Por lo tanto, al cliente se le cobran 5 credits de cloud services.
La mayoría de los clientes nunca paga por cloud services gracias a esta política del 10%. Los escenarios donde sí se paga suelen darse cuando se ejecutan muchas consultas simples, ya que tienen un costo de cloud services alto en comparación con su costo de cómputo.
Precios de Snowpark Container Services
Snowpark Container Services (SPCS) es una oferta nueva (desde 2024) de Snowflake, totalmente gestionada, para ejecutar contenedores. SPCS permite a los clientes de Snowflake correr workloads contenedorizados directamente dentro de Snowflake. Puedes obtener más información sobre el servicio en la documentación de Snowflake.
SPCS se ejecuta sobre Compute Pools, que son distintos a los virtual warehouses. A continuación se muestran los credits por hora de cada tipo de cómputo:
| Tipo de nodo de cómputo | XS | S | M | L |
|---|---|---|---|---|
| CPU | 0.06 | 0.11 | 0.22 | 0.83 |
| High-Memory CPU | N/A | 0.28 | 1.11 | 4.44 |
| GPU | 0.25 | 0.57 | 2.68 | 14.12 |
Aquí tienes el desglose detallado de cada tipo de nodo de cómputo:
| INSTANCE_FAMILY | vCPU | Memoria (GiB) | Almacenamiento (GiB) | GPU | Memoria GPU por GPU (GiB) | Límite máx. | Descripción |
|---|---|---|---|---|---|---|---|
| CPU - XS | 2 | 8 | 250 | N/A | N/A | 50 | La instancia más pequeña disponible para Snowpark Containers. Ideal para ahorrar costos y dar los primeros pasos. |
| CPU - S | 4 | 16 | 250 | N/A | N/A | 50 | Ideal para alojar varios servicios o jobs ahorrando costos. |
| CPU - M | 8 | 32 | 250 | N/A | N/A | 20 | Ideal para una aplicación full stack o varios servicios. |
| CPU - L | 32 | 128 | 250 | N/A | N/A | 20 | Para aplicaciones que requieren una cantidad inusualmente alta de CPU, memoria y almacenamiento. |
| High-Memory CPU - S | 8 | 64 | 250 | N/A | N/A | 20 | Para aplicaciones intensivas en memoria. |
| High-Memory CPU - M | 32 | 256 | 250 | N/A | N/A | 20 | Para alojar varias aplicaciones intensivas en memoria en una sola máquina. |
| High-Memory CPU - L | 128 | 1024 | 250 | N/A | N/A | 20 | La máquina high-memory más grande disponible para procesar grandes volúmenes de datos en memoria. |
| GPU - S | 8 | 32 | 250 | 1 NVIDIA A10G | 24 | 10 | Nuestro tamaño de GPU NVIDIA más pequeño disponible para Snowpark Containers, ideal para empezar. |
| GPU - M | 48 | 192 | 250 | 4 NVIDIA A10G | 24 | 5 | Optimizada para escenarios de uso intensivo de GPU, como Computer Vision o LLMs/VLMs. |
| GPU - L | 192 | 2048 | 250 | 8 NVIDIA A100 | 40 | Bajo solicitud | La instancia de GPU más grande para casos especializados y avanzados como LLMs y clustering, entre otros. |
Ejemplo de precios de Snowflake
Veamos un ejemplo realista de los precios de Snowflake a lo largo de un mes. Imagina que operamos una plataforma de datos para una organización relativamente pequeña, con jobs de carga de datos, transformaciones y una herramienta de BI consultando los datos transformados. También tenemos algunos Snowpipes haciendo ingesta desde S3 y un par de tablas con automatic clustering activado para mantener el buen rendimiento de los predicados sobre una columna de fecha. En total, la cuenta tiene 5 TB de almacenamiento y se ejecuta en AWS US East 1 con la edición Enterprise. Cada credit cuesta $3.
Frequently asked
questions
¿Snowflake ofrece un plan gratuito o una prueba gratis?
Sí, puedes crear una prueba gratuita de Snowflake con $400 en credits desde aquí.
¿Cuál es el cargo mínimo de facturación en Snowflake?
Snowflake no exige un mínimo de facturación en el modelo on-demand. El monto mínimo para un contrato de capacity commitment es de $25,000.
¿Cómo funcionan los contratos de capacidad de Snowflake?
Para cualquier cliente que gaste más (o cerca) de $25,000 al año en Snowflake, tiene sentido considerar firmar un contrato anual de capacity commitment, ya que Snowflake te dará descuentos y un account manager dedicado. El mayor descuento se aplica al almacenamiento, donde el precio baja del valor on-demand de $40/TB a $23/TB.
Con los contratos de Snowflake, pagas por adelantado una capacidad comprometida. A medida que usas Snowflake y consumes credits, Snowflake va deduciendo esos cargos de tu saldo disponible. Si consumes más de lo comprometido, puedes comprar capacidad adicional. Si consumes menos de lo que compraste, puedes trasladar la capacidad no utilizada al siguiente contrato, siempre que el nuevo contrato sea por el mismo monto o uno mayor.
Por esta misma razón, es importante no comprometerte por más capacidad de la que necesitas, ya que podrías terminar perdiendo toda la capacidad no utilizada para renovar a un valor más bajo y dejar de sobrecomprometerte.
¿Snowflake ofrece descuentos?
Snowflake ofrece descuentos en los contratos de capacity commitment, que aumentan según la capacidad contratada y la duración del contrato (por ejemplo, 1 año vs. 3 años). Los niveles y montos de descuento no son públicos.
BigQuery vs. Snowflake: ¿cómo se comparan en precios?
Google BigQuery tiene dos modelos de precios: on-demand y capacity. Aunque comparten los mismos nombres con los modelos de Snowflake, son muy distintos. En on-demand, BigQuery cobra por los datos escaneados por cada consulta. En el modelo capacity, BigQuery cobra por slot/hora, donde un slot es una unidad de cómputo. Esto se parece bastante al modelo de precios de Snowflake y comparte el mismo incremento de facturación por segundo y el cargo mínimo de 1 minuto. Al igual que Snowflake, BigQuery cuenta con varias ediciones disponibles, con distintas funcionalidades.
Databricks vs. Snowflake: ¿cómo se comparan en precios?
Databricks se diferencia de Snowflake y BigQuery en que ejecuta los workloads sobre instancias de cómputo que pagas en tu propia cuenta de nube. Por lo tanto, hay costos tanto hacia Databricks directamente como en tu cuenta de nube. Databricks también ofrece un modelo Serverless SQL en el que las instancias de cómputo están gestionadas por Databricks. En este servicio, los costos se pagan únicamente a Databricks. Esto se alinea mucho más con los modelos de precios y operación de Snowflake y BigQuery.
Redshift vs. Snowflake: ¿cómo se comparan en precios?
Amazon Redshift tiene dos modelos de operación y precios disponibles: DC2 y RA3. DC2 es el modelo de despliegue más tradicional de data warehouse, donde las instancias de cómputo y el almacenamiento local están vinculados. RA3, en cambio, separa el almacenamiento del cómputo. La ventaja de este modelo es que se minimiza la capacidad sobrante, ya que el cómputo y el almacenamiento pueden escalar de forma independiente según las necesidades del cliente. RA3 es la opción más parecida a Snowflake.
¿Snowflake es caro?
Existe una idea muy extendida de que Snowflake es caro y, mal gestionado, puede serlo. Los clientes que no eligen el tamaño correcto de warehouse o crean demasiados warehouses sin controles adecuados suelen ser los principales responsables de los costos descontrolados. Sin embargo, cualquier plataforma en la nube basada en uso se vuelve cara cuando no se usa con criterio: esto no es exclusivo de Snowflake. Con los procesos, el monitoreo y la gestión adecuados, Snowflake puede ser una opción muy rentable como plataforma de datos en la nube. En SELECT construimos toda nuestra plataforma de datos sobre Snowflake gracias a su facilidad de uso, escalabilidad y rentabilidad.
Niall Woodward·Co-founder & CTO de SELECT
Niall es Co-Founder & CTO de SELECT, una plataforma SaaS de gestión y optimización de costos de Snowflake. Antes de fundar SELECT, Niall fue data engineer en Brooklyn Data Company y en varias startups. Como entusiasta del open-source, también es mantenedor de SQLFluff y creador de tres paquetes de dbt: dbt_artifacts, dbt_snowflake_monitoring y dbt_query_tags.
Ian Whitestone·Co-founder & CEO de SELECT
Ian es Co-founder & 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 e ingeniería en Shopify y Capital One. En Shopify, Ian lideró los esfuerzos para optimizar el data warehouse y aumentar la visibilidad de los costos.