Infrastructure as a Code | Module 5.9 | Surfalytics
Last lesson of Module 5: Cloud Infrastructure as Code. Why it matters for data engineers, how to deploy with CloudFormation, Bicep, Terraform, and more—plus best practices, CI/CD, and a Terraform hands-on. 📚 What you'll learn Theory • What is infrastructure as code (IaC) and why use it • Manual vs IaC: why console/CLI doesn't scale for teams • Four ways to deploy: AWS CloudFormation, Azure Bicep/ARM, GCP Deployment Manager, Terraform • Terraform: multicloud, state management, S3 + Glue and Azure/BigQuery examples • Terragrunt: DRY configs, backends, multi-account • Alternatives: AWS CDK, Pulumi, OpenTofu • Best practices: version control, CI/CD, env separation, secrets, modules, state, security • Use cases: data lake, warehouse, ETL, streaming, pet projects • CI/CD for IaC: validate, plan, test, review, apply • GitHub Actions + Terraform example and data-engineer workflow • Tool stack and getting-started checklist Hands-on • Terraform workshop to repeat and learn from ⏱️ Timestamps 0:00 – Intro: why IaC matters for data engineers and interviews 0:47 – What is infrastructure as code 2:30 – Why IaC and benefits for data teams 4:44 – Manual vs IaC 5:36 – Four ways: CloudFormation, Bicep, Deployment Manager, Terraform 7:32 – Terraform deep dive and state 9:10 – Terraform for Azure and BigQuery 10:13 – Terragrunt 12:24 – CDK, Pulumi, OpenTofu 14:03 – Best practices (version control, CI/CD, modules, security) 16:01 – State management and security-first 17:40 – Use cases for data engineers 19:41 – CI/CD for IaC 22:11 – GitHub Actions + Terraform example 24:24 – Data engineer deploy scenario 27:33 – Tool stack and checklist 30:46 – Start simple: bucket, variables, dev, CI/CD 31:03 – Hands-on: Terraform workshop 📌 Resources mentioned • Surfalytics Discord (CI/CD project, questions) • Snowflake + Terraform project (RBAC, workshop) • GitHub Actions, GitLab Pipelines, Azure DevOps • Terraform docs/reference pages for resources ✅ Key takeaways • IaC = infra in code files, versioned and automated—essential for teams and interviews. • Use native (CloudFormation, Bicep, Deployment Manager) or Terraform/OpenTofu; know at least one per cloud. • Terraform state + optional Terragrunt for DRY and multi-account; remote state + locking recommended. • Best practices: Git, CI/CD, env separation, no secrets in code, modular design, security-first. • Use IaC for data lakes, warehouses, ETL, streaming; same flow as app CI/CD. • Start with a simple resource (e.g. S3), variables, dev env, then CI/CD and a Terraform workshop. --- Surfalytics – FREE course for beginners. Module 5: Cloud Computing. Lesson 9 (final). #Surfalytics #InfrastructureAsCode #IaC #Terraform #CloudFormation #Bicep #AWS #Azure #GCP #DataEngineering #DevOps #CICD #FreeCourse #Beginners