Snowpark Container Services costs

The costs associated with using Snowpark Container Services can be categorized into storage cost, compute pool cost, and data transfer cost.

Storage cost

When you use Snowpark Container Services, storage costs associated with Snowflake, including the cost of Snowflake stage usage or database table storage, apply. For more information, see Exploring storage cost. In addition, the following cost considerations apply:

  • Image repository storage cost: The implementation of the image repository uses a Snowflake stage. Therefore, the associated cost for using the Snowflake stage applies.

  • Log storage cost: When you store local container logs in event tables, event table storage costs apply.

  • Mounting volumes cost:

    • When you mount a Snowflake stage as a volume, the cost of using the Snowflake stage applies.

    • When you mount storage from the compute pool node as a volume, it appears as local storage in the container. But there is no additional cost because the local storage cost is covered by the cost of the compute pool node.

  • Block storage cost: When you create a service that uses block storage, you are billed for block storage and snapshot storage. For more information about storage pricing, see the CreditConsumptionTable.pdf file. The SPCS Block Storage Pricing table in this document provides the information.

Compute pool cost

A compute pool is a collection of one or more virtual machine (VM) nodes on which Snowflake runs your Snowpark Container Services jobs and services. The number and type (instance family) of the nodes in the compute pool (see CREATE COMPUTE POOL) determine the credits it consumes and thus the cost you pay.

You incur charges for a compute pool in the IDLE, ACTIVE, STOPPING, or RESIZING state, but not when it is in a STARTING or SUSPENDED state. To optimize compute pool expenses, you should leverage the AUTO_SUSPEND feature (see CREATE COMPUTE POOL). For more information, see the CreditConsumptionTable.pdf file.

The following views provide usage information:

  • ACCOUNT_USAGE views

    The following ACCOUNT_USAGE views contain Snowpark Container Services credit usage information:

  • ORGANIZATION_USAGE views

Data transfer cost

Data transfer is the process of moving data into (ingress) and out of (egress) Snowflake. For more information, see Understanding data transfer cost. When you use Snowpark Container Services, the following additional cost considerations apply:

  • Outbound data transfer: Snowflake applies the same data transfer rate for outbound data transfers from services and jobs to other cloud regions and to the internet, consistent with the rate for all Snowflake outbound data transfers. For more information, see the CreditConsumptionTable.pdf file (table 4a).

    You can query the DATA_TRANSFER_HISTORY ACCOUNT_USAGE view for usage information. The transfer_type column identifies this cost as the SNOWPARK_CONTAINER_SERVICES type.

  • Internal data transfer: This class of data transfer refers to data movements across compute entities within Snowflake, such as between two compute pools or a compute pool and a warehouse, that resulted from executing a service function. For more information, see the CreditConsumptionTable.pdf file (tables 4(a) for AWS, 4(b) for Azure, and the column titled “SPCS Data Transfer to Same Cloud Provider, Same Region”).

    To view the costs associated with internal data transfer, you can do the following: