One of the most frequently asked questions we get, deals with the costs associated with using Snowflake. At the time of writing, they did not provide a dynamic snowflake pricing calculator yet. In this post, we lift the veil and will explain the drivers that make up your bill.
Eventually you’ll be able to build your own Snowflake pricing example, so let’s get started.
Update 2021/4: Based upon large demand, we built an interactive cost estimator to help you estimate the cost of your first Snowflake workloads.
First of all, you have full control over the Snowflake cost at all points in time. The cost of using Snowflake is entirely based on the capacity you use on the platform. If you don’t consume any capacity, there likely won’t be a bill, even though you have an account with them.
What if you do consume? To work with data, you’ll need to store it, query on it, and manage metadata such as access control on it. This breakdown translates into a high level architecture of Snowflake. As such, the cloud data platform consists of 3 layers, i.e. the service-, compute- and storage layers.
While using the platform, each layer uses more or less capacity, depending on the nature of the use.
The sum of of costs generated by using each layer of the 3 layers makes up the cost. It’s that simple.
However, the cost of using each individual layer is calculated differently, as we’ll see below.
The Storage Layer: charges related to storing data.
Storing data comes with a cost associated, whether that data is used in analytics or not. The cost is metered per megabyte, is balanced per month and the price is quoted per gigabyte for convenience.
Just like any other SAAS company, Snowflake favours upfront payments for the services one plans to use over a period of one year. This includes a hefty 55% discount on the storage costs at the time of writing.
The Compute Layer: charges related to querying data.
Now here is where things get a little more complicated.
First, let’s talk measurements. The cost unit for compute capacity is in credit. A credit is simply the dollar amount to have one XS compute node work for one full hour. The meter starts running as soon as a warehouse is started, and stops as soon as the warehouse stops. Again for simplicity, this cost is quoted in credits per hour. Compute power is charged by the second. However, Snowflake will charge you for one full minute if your warehouse is online for less than one full minute.
Then, let’s talk license model. Snowflake has 5 different editions available, and each of them comes with a different set of capabilities. As we add capabilities to the Standard edition, the snowflake credit cost increases. It’s good to know that every Snowflake account is tied to one specific edition. Pricing comes straight off their website at the time of writing.
We did not mention the Virtual Private Snowflake edition. That’s a custom installation for organizations who have strict compliance requirements, so let’s leave that out of scope.
The compute engine size
We now know our price per credit as well as the way credits are measured. The third parameter to take into account it the instance size. These are measured in t-shirt size (ranging from XS to 4XL). Every time one steps up and takes the bigger size, the instance capabilities (CPU, memory) double, but so do the credits that are burned per hour.
As an example: having an XS warehouse online for one full hour, would consume 1 credit. Scaling that warehouse up to a S would account for 2 credits per hour, a M for 4 credits etc.
The Services Layer: charges related to interacting with the platform.
Some actions a user takes on the platform don’t answer question based on data, but are nonetheless required to interact with a data platform. Think of actions such as: logging in, checking your capacity usage, or listing all available tables. Snowflake charges for these actions, as a service is delivered.
The costs associated to this layer are waived as long as they don’t make up over 10% of your monthly bill at the time of writing.
Total Cost Calculation
To calculate the monthly Snowflake charges, take this formula:
storage cost + (minutes consumed * cost per node * nodes per cluster) by cluster.
Based on the architecture of your platform, take the number of virtual warehouses/custers, make a guesstimate of the number of minutes required per month.
Buy off the vendor vs off a partner
Pricing software is often a complex mechanism. Buying capacity off a partner typically gives you access to field knowledge, project benchmarks and experienced consultants who know how to drive and control capacity cost.
As Belgium’s first Snowflake partner, we are in a unique position to resell Snowflake capacity for projects and platforms. Don’t hesistate to reach out and discuss your project with us.