Skip to content

Squillacky/snowflake-learning-resources

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 

Repository files navigation

Overview Through this quickstart guide, you will explore Snowpark Container Services. You will learn the basic mechanics of working with Snowpark Container Services and build several introductory services. Please note: this quickstart assumes some existing knowledge and familiarity with containerization (e.g. Docker) and basic familiarity with container orchestration.

What is Snowpark Container Services? Snowpark Container Service

Snowpark Container Services is a fully managed container offering that allows you to easily deploy, manage, and scale containerized services, jobs, and functions, all within the security and governance boundaries of Snowflake, and requiring zero data movement. As a fully managed service, SPCS comes with Snowflake's native security, RBAC support, and built-in configuration and operational best-practices.

Snowpark Container Services are fully integrated with both Snowflake features and third-party tools, such as Snowflake Virtual Warehouses and Docker, allowing teams to focus on building data applications, and not building or managing infrastructure. Just like all things Snowflake, this managed service allows you to run and scale your container workloads across regions and clouds without the additional complexity of managing a control plane, worker nodes, and also while having quick and easy access to your Snowflake data.

The introduction of Snowpark Container Services on Snowflake includes the incorporation of new object types and constructs to the Snowflake platform, namely: images, image registry, image repositories, compute pools, specification files, services, and jobs.

Development to Deployment

For more information on these objects, check out this article along with the Snowpark Container Services documentation.

How are customers and partners using Snowpark Container Services today? Containerized services on Snowflake open up the opportunity to host and run long-running services, like front-end web applications, all natively within your Snowflake environment. Customers are now running GPU-enabled machine learning and AI workloads, such as GPU-accelerated model training and open-source Large Language Models (LLMs) as jobs and as service functions, including fine-tuning of these LLMs on your own Snowflake data, without having to move the data to external compute infrastructure. Snowpark Container Services are an excellent path for deploying applications and services that are tightly coupled to the Data Cloud.

Note that while in this quickstart, we will predominantly use the direct SQL commands to interact with Snowpark Container Services and their associated objects, there is also Python API support that you can use. Refer to the documentation for more info.

What you will learn

The basic mechanics of how Snowpark Container Services works How to deploy a long-running service with a UI and use volume mounts to persist changes in the file system How to interact with Snowflake warehouses to run SQL queries from inside of a service How to deploy a Service Function to perform basic calculations Prerequisites Download the git repo here: https://github.com/Snowflake-Labs/sfguide-intro-to-snowpark-container-services.git. You can simply download the repo as a .zip if you don't have Git installed locally.

Docker Desktop installed Python 3.10 installed Note that you will be creating a Python environment with 3.10 in the Setup the Local Environment step (Optional) Git installed Download the git repo here: https://github.com/Snowflake-Labs/sfguide-intro-to-snowpark-container-services.git. You can simply download the repo as a .zip if you don't have Git installed locally. (Optional) VSCode (recommended) with the Docker, Python, and Snowflake extensions installed. A non-trial Snowflake account in a supported AWS region. A Snowflake account login with a role that has the ACCOUNTADMIN role. If not, you will need to work with your ACCOUNTADMIN to perform the initial account setup (e.g. creating the CONTAINER_USER_ROLE and granting required privileges, as well as creating the OAuth Security Integration). What You'll Build A hosted Jupyter Notebook service running inside of Snowpark Container Services with a basic notebook A Python REST API to perform basic temperature conversions A Snowflake Service Function that leverages the REST API

About

Snowflake Projects created to gain proficiency and a better understanding of snowflake services and related, supporting skills

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published