Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Terraform Snowflake from Scratch
Rating: 4.3 out of 5(48 ratings)
541 students

Terraform Snowflake from Scratch

Complete guide to Managing Snowflake with Terraform
Created byJeremy Holtzman
Last updated 12/2021
English

What you'll 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

Course content

5 sections35 lectures10h 26m total length
  • Introduction1:16
  • Installations4:32

    Snowflake signup: https://signup.snowflake.com/

    Install Terraform: https://learn.hashicorp.com/tutorials/terraform/install-cli

  • Connecting Terraform to Snowflake11:17

    General Snowflake Documentation: https://docs.snowflake.com/en/

    General Terraform Documentation: https://www.terraform.io/docs/index.html

    Chan Zuckerberg Terraform Provider: https://registry.terraform.io/providers/chanzuckerberg/snowflake/latest

  • Managing Account Objects12:50

    Snowflake Objects: https://docs.snowflake.com/en/user-guide/security-access-control-overview.html#securable-objects

    Chan Zuckerberg Documentation: https://registry.terraform.io/providers/chanzuckerberg/snowflake/latest/docs

  • Practice Account Objects
  • Managing Schema Objects18:54

    Chan Zuckerberg Documentation: https://registry.terraform.io/providers/chanzuckerberg/snowflake/latest/docs

  • Practice Schema Objects
  • Granting Account and Schema Objects21:10

    Snowflake Access Control: https://docs.snowflake.com/en/user-guide/security-access-control-overview.html#access-control-framework

  • Practice Account and Schema Grants

Requirements

  • SQL
  • git
  • Ability to work in the command line

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.

Who this course is for:

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