Course Information
Course Overview
Complete guide to Managing Snowflake with Terraform
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.
Course Content
- 5 section(s)
- 35 lecture(s)
- Section 1 Introduction
- Section 2 Modules
- Section 3 Advanced Features
- Section 4 More Modules!
- Section 5 Best Practices
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
Skills covered in this course
Reviews
-
SSergio Huerta Lara
This course is a good starting point if you do not know nothing about terraform neither snowflake. The course itself is not good. The instructor haven't curated his lessons. He make mistakes and thus you lose your time. Of course we all make mistakes, but... these are previously recorded lessons; not an online streaming. Sections 1 and 2 (Intro and Modules) are really nice, a lot of insights Sections 3 and 4 (Advanced features and More Modules) are not really good, a lot of time for really few new concepts. Let's see what happens with last section
-
SSrinivas Pachari
Very good course
-
SStéphane Bizard
on voit des sessions réalistes de développement avec des erreurs et des corrections d'erreur. Ce qui fait que l'on voit les limites de l'utilisation de Terraform pour Snowflake et l'obligation de corriger les blocages via SQL.
-
JJack Jones
Outdated, no code repo shared that could save time in typing.