Terraform Snowflake from Scratch

Complete guide to Managing Snowflake with Terraform

Ratings: 4.45 / 5.00




Description

Background

Terraform is an incredibly powerful tool to manage infrastructure, especially Snowflake. The first few sections in this course set you up with the fundamentals for success, while the advanced sections in the end provide more details on completely building out your architecture.

The price of the course is based on the time and effort put into it, but at the same time, I want it to be affordable for all. If the price is an issue, please reach out and I'll be happy to figure it out with you.

What you'll learn

By the end of the class, you'll have completely connected your own Terraform and Snowflake accounts following best practices, and you'll be able to manage your Snowflake objects (users, roles, warehouses, databases, etc.) with Terraform. Some of these skills you'll gain include:

  • Manage all types of Snowflake objects using modules that can easily be reused

  • Grant privileges on all of these objects, including future grants that simplify the management of databases and schemas

  • Creation and management of roles in a hierarchical structure to simplify grants

  • Ability to import existing Snowflake objects into your Terraform configuration

  • Setting up a DEV and PROD Snowflake account, and using GitHub to manage it all

Why you should use Terraform to manage your Snowflake account

Snowflake is an incredible data warehouse critical to thousands of organizations. But effectively managing Snowflake at scale has been difficult, until we start taking advantage of Terraform.

Some of the benefits of using Terraform with Snowflake include:

  • Speeding up manual and repetitive tasks

  • Standardization of roles and privileges

  • Auditability of privileges

  • Code review for the management of Snowflake objects

Essentially, Terraform allows you to use Infrastructure as Code to manage your Snowflake account. The state of Snowflake objects is controlled by the configuration you set up in Terraform, which makes it simple to manage.


About Terraform

Terraform is an open-source infrastructure as code software tool that provides a consistent CLI workflow to manage hundreds of cloud services. Terraform codifies cloud APIs into declarative configuration files. There is a specific provider plugin that allows you to manage your Snowflake account with Terraform.

What You Will Learn!

  • Connect Terraform to Snowflake
  • Run Terraform plans and applies
  • Create and manage Snowflake objects with Terraform
  • Grant privileges on Snowflake objects to roles using Terraform
  • Create custom modules to manage Snowflake objects with Terraform at scale
  • Advanced Terraform features including imports, moves, and removes
  • How to set up and use Terraform Cloud
  • Proper Snowflake authentication with Key Pair or OAuth
  • Connecting Terraform to Github to view plans before merging in
  • Managing a DEV and PROD Snowflake account with Terraform
  • Terraforming Snowflake best practices

Who Should Attend!

  • Data Engineers looking to manage Snowflake with Terraform
  • Data Analysts and Data Scientists looking to manage components of their Snowflake environment with Terraform