Product and Technology

Accelerate Development and Productivity with DevOps in Snowflake

Accelerate Development and Productivity with DevOps in Snowflake

Today's data-driven world requires an agile approach. Modern data teams are constantly under pressure to deliver innovative solutions faster than ever before. Fragmented tooling across data engineering, application development and AI/ML development creates a significant bottleneck, hindering the speed of value delivery required to stay competitive. Disparate tools create a complex landscape for developers and data teams, hindering efficient pipeline development and deployment. Additionally, reliance on third-party solutions adds complexity while driving up the total cost of operations. We’re excited to provide all Snowflake customers with the core building blocks needed to streamline development workflows, aligned with DevOps best practices, paving a seamless path to production.

DevOps with Snowflake accelerates development and productivity for data teams

Snowflake provides an integrated approach to accelerate development lifecycles and improve overall productivity for data teams. This cohesive approach integrates Git version control, Python APIs, declarative object management and seamless CI/CD automation, and it offers powerful ways to:

  • Maintain a single source of truth: With all files residing within Git, your data assets, code and configurations are centrally managed and version-controlled. This helps ensure consistency, simplifies collaboration and streamlines rollbacks if needed — all within Snowflake's secure perimeter, which is crucial for production-ready environments.
  • Declaratively manage database objects: Embrace a declarative approach for defining and managing Snowflake objects, using Python or SQL, with Database Change Management. This eliminates the need for complex scripts and promotes readability.
  • Automate and enable CI/CD workflows: Modernize your development pipeline with industry-standard CI/CD automation. Seamlessly integrate with your existing CI/CD tools or utilize the Snowflake CLI, combined with Snowflake Notebooks, to automatically execute commands and orchestrate your entire pipeline, enabling efficient and reliable deployments.

This integrated approach is applied in Snowflake's core DevOps building blocks, providing new pathways for data teams to work collaboratively, manage objects with ease and automate repetitive tasks. Ultimately, this lays the foundation for a more efficient value-delivery cycle, enabling your data teams to deliver faster and with greater impact.

Snowflake Notebooks + Git integration + CLI for collaborative development and an easy CI/CD setup

Our recently introduced Git integration, in public preview (PuPr), provides a centralized source of truth for your code. Securely connect your Git repository (GitHub, GitLab, Azure DevOps or Bitbucket) to a Snowflake Notebook (PuPr) or to SQL/Python files to provide seamless management of SQL scripts, Snowpark functions, procedures, Snowflake Native Apps and Streamlit apps.

Developers can also achieve CI/CD workflows using a Snowflake Notebook, along with the newly improved Snowflake CLI. You can trigger the Snowflake CLI GitHub Action, or connect any CI/CD tool of your choice, to automatically execute CLI commands and orchestrate your entire pipeline. This setup offers a way to automate tests using the Notebooks scheduler and streamlines deployment, while offering a faster way to debug with access to run history results.

A new and improved Snowflake CLI

The latest improvement of the Snowflake CLI (GA soon) offers a powerful, open source command line interface that enables developers to automate various tasks and workflows. Developers can use the Snowflake CLI to create and manage Snowflake objects; automate the deployment of Snowpark procedures and functions; manage Snowpark Container Services; and build, package and deploy Snowpark apps. In addition, it streamlines the creation, deployment, sharing and management of Streamlit apps; facilitates the execution of SQL queries; and has a dedicated Git integration command. In sum, the Snowflake CLI improves overall productivity and enables CI/CD automation for a smoother DevOps experience.

See what a Snowflake customer is saying about their experience with Snowflake CLI: 

"Since switching to the Snowflake CLI for our CI/CD pipelines, our team has seen a significant increase in development velocity. Our commit rates have peaked at an impressive 89 commits per week — a stark contrast to the limits we could achieve with Databricks, where exceeding 20 commits per week was a constant challenge. Snowflake's streamlined approach has empowered our development team to be more efficient and productive, ultimately allowing us to deliver innovative features to our customers at a much faster pace." —David Webb, Data Architect at Travelpass

Build modern data pipelines with Snowflake Python APIs

Snowflake's latest suite of Python APIs (GA soon) simplifies the data pipeline development process with Python. Built on REST APIs, they offer rich functionality, enhanced performance and streamlined integration with existing tools. A simple pip install snowflake grants developers access, eliminating the need to juggle between SQL and Python or wrestle with cumbersome syntax. These Core APIs allow users to create, delete and modify tables, schemas, warehouses, tasks, RBAC (role-based access controls), Snowpark Containers, Cortex and much more. 

Declarative Database Change Management

Database Change Management (DCM) simplifies the delivery lifecycle around your data. DCM allows you to declaratively manage changes (CREATE or ALTER) (PuPr) across supported Snowflake objects at scale, directly from your Git repository or staging environment. With support for Tables and Tasks (and more resources coming), developers can now define or alter these resources without maintaining the current state of it. You can store your Data Definition Language (DDL) scripts in source control, and Snowflake will automatically apply the necessary changes to maintain consistency across objects. This eliminates the need for complex third-party tools and cumbersome state files, freeing you to focus on building high-quality, production-grade data applications.

Embrace a new way to deliver value with Snowflake

Unifying data engineering, application development and AI/ML development within a single platform, Snowflake offers a streamlined path to production-ready environments, freeing developers from the limitations of fragmented tools. Our built-in DevOps functionalities pave the way for automated workflows, seamless CI/CD pipelines and collaborative development.

With these native DevOps features, users now have the building blocks for efficient development — some fully open sourced — allowing Snowflake community members to expand their existing set of capabilities, remove the busywork of scripting complex workflows and gain that competitive edge in the ever-evolving era of AI.

Check out the DevOps documentation to get started.

Devops for Data Apps on Snowflake

Share Article

Subscribe to our blog newsletter

Get the best, coolest and latest delivered to your inbox each week

Start your 30-DayFree Trial

Try Snowflake free for 30 days and experience the AI Data Cloud that helps eliminate the complexity, cost and constraints inherent with other solutions.