Bloc 3 - Terraform
Objectius del bloc
En aquest tercer bloc aprendràs:
- Entendre el paradigma d'Infrastructure as Code i com difereix de Configuration Management
- Declarar infraestructura amb el llenguatge HCL
- Gestionar el state de Terraform de forma segura en equip (backends remots, locking)
- Organitzar codi reutilitzable amb mòduls i gestionar múltiples entorns amb workspaces
- Integrar Terraform en un pipeline de CI/CD seguint el patró GitOps
Contingut
| Tema | Descripció |
|---|---|
| Introducció a Terraform i IaC | Què és Terraform i Infrastructure as Code |
| Arquitectura de Terraform | Workflow, providers i graf de dependències |
| Llenguatge HCL | Sintaxi, variables, data sources |
| State Management | El state, backends remots i locking |
| Providers i Recursos | Recursos cloud més habituals (AWS) |
| Mòduls | Reutilització i organització de codi |
| Workspaces i Gestió d'Entorns | Múltiples entorns (dev, staging, prod) |
| Integració amb CI/CD i GitOps | Pipelines de Terraform i GitOps |
| Comparativa amb Altres Eines | Terraform vs CloudFormation, Pulumi, OpenTofu |
Resum del bloc
flowchart LR
A[Introduccio a Terraform] --> B[Arquitectura i HCL]
B --> C[State Management]
C --> D[Providers i Moduls]
D --> E[Workspaces]
E --> F[GitOps i CI-CD]
F --> G[Practica 4 i 5]
Requisit previ
Aquest bloc dona per fet que ja domines els conceptes de CI/CD (Bloc 1) i Configuration Management (Bloc 2). Terraform provisiona la infraestructura; Ansible/Puppet en configuren el contingut.