16 módulos83 lecciones~15h 15min

Terraform desde Cero

Infraestructura como código con Terraform: HCL, state, módulos, backends remotos, workspaces, seguridad, CI/CD y un proyecto final. Laboratorio 100% local con LocalStack.

Temario del curso

1

Introducción e instalación

0 / 2 lecciones

1
Qué es Terraform e Infraestructura como Código, y quién lo usa7 min
2
Instalar Terraform (Windows/macOS/Linux)12 min
2

Primer despliegue y fundamentos

0 / 7 lecciones

1
Levantar el laboratorio local con LocalStack y Docker13 min
2
Tu primer archivo .tf: init, plan, apply y destroy11 min
3
Anatomía de un proyecto Terraform11 min
4
Leyendo el plan: cómo interpretar +/-/~ antes de aplicar11 min
5
Qué es Terraform y cómo se compara (CloudFormation, Pulumi, Ansible)10 min
6
Cómo funciona Terraform por dentro: providers, plugins y el ciclo plan/apply8 min
7
Declarativo vs imperativo: por qué Terraform describe un resultado10 min
3

Fundamentos de HCL

0 / 6 lecciones

1
Sintaxis de HCL: bloques, argumentos y atributos13 min
2
Tipos de datos: string, number, bool, list, map, object13 min
3
Comentarios y organización del código10 min
4
Referencias entre recursos (interpolación)11 min
5
terraform fmt y terraform validate11 min
6
Gotcha: el orden en el archivo no importa (el grafo de dependencias)12 min
4

Providers y Resources

0 / 6 lecciones

1
Qué es un provider y cómo se instala10 min
2
Configurar el provider de AWS contra LocalStack8 min
3
Tu primer resource: un bucket S3 local8 min
4
El ciclo de vida de un resource9 min
5
Múltiples providers y alias8 min
6
Práctica: desplegar una VPC completa9 min
5

El State

0 / 6 lecciones

1
Qué es el state y por qué existe8 min
2
Anatomía de terraform.tfstate9 min
3
terraform state list, show, mv y rm13 min
4
El problema del state compartido en equipo9 min
5
Drift: cuando la realidad y el state se desincronizan12 min
6
Gotcha: por qué nunca editar el tfstate a mano11 min
6

Variables, Outputs y Locals

0 / 5 lecciones

1
Input variables y tipos11 min
2
Valores por defecto y validación de variables13 min
3
terraform.tfvars y precedencia de valores12 min
4
Outputs: exponer valores del despliegue9 min
5
Locals: evitar repetición13 min
7

Expresiones y meta-argumentos

0 / 6 lecciones

1
Funciones built-in (string, colección, numéricas)11 min
2
count: crear múltiples recursos11 min
3
for_each: la alternativa más segura a count11 min
4
Expresiones condicionales y expresiones for12 min
5
depends_on: dependencias explícitas9 min
6
dynamic blocks10 min
8

Data Sources

0 / 4 lecciones

1
Qué es un data source y cuándo usarlo15 min
2
Consultar infraestructura existente11 min
3
Combinando resources y data sources11 min
4
Gotcha: los data sources se leen en cada plan11 min
9

Módulos

0 / 6 lecciones

1
Qué es un módulo y por qué organizar así10 min
2
Crear tu primer módulo reutilizable14 min
3
Inputs y outputs de un módulo14 min
4
Módulos locales vs Terraform Registry10 min
5
Versionado de módulos11 min
6
Práctica: refactorizar el proyecto en módulos13 min
10

Backends remotos y colaboración

0 / 5 lecciones

1
Por qué el state local no funciona en equipo9 min
2
Backend remoto: S3 y DynamoDB12 min
3
State locking: evitando corrupción por applies simultáneos10 min
4
Migrar de state local a remoto10 min
5
Gotcha: el state contiene secretos en texto plano10 min
11

Workspaces y entornos múltiples

0 / 4 lecciones

1
Qué son los workspaces y qué problema resuelven10 min
2
Crear entornos dev/staging/prod con workspaces12 min
3
Alternativa: separación por directorios y módulos13 min
4
Cuándo NO usar workspaces (el debate real)11 min
12

Terraform y contenedores

0 / 5 lecciones

1
Provisionando contenedores Docker con Terraform11 min
2
El provider de Kubernetes13 min
3
Terraform vs Helm vs kubectl: cuándo usar cada uno9 min
4
Caso real: cluster e infraestructura en un solo apply10 min
5
Gotcha: Terraform no es para todo (el rol de Ansible)12 min
13

Testing, validación y seguridad

0 / 5 lecciones

1
tflint: linting de código Terraform13 min
2
Escaneo de seguridad con checkov y tfsec12 min
3
Gestión de secrets: variables sensibles13 min
4
Policy as Code: introducción a OPA y Sentinel14 min
5
Testing de infraestructura con terraform test14 min
14

CI/CD con Terraform

0 / 5 lecciones

1
Por qué automatizar el pipeline de Terraform10 min
2
GitHub Actions: plan automático en cada PR9 min
3
Apply controlado tras aprobación8 min
4
Manejo de secretos en CI/CD9 min
5
Gotcha: el riesgo de auto-apply sin revisión9 min
15

Buenas prácticas y troubleshooting

0 / 5 lecciones

1
Estructura de proyecto recomendada para equipos15 min
2
Errores comunes y cómo diagnosticarlos13 min
3
Refactorizar sin downtime con state mv13 min
4
terraform import: adoptar infraestructura existente14 min
5
Checklist de un PR de Terraform en producción11 min
16

Proyecto final: infraestructura completa con CI/CD

0 / 6 lecciones

1
Arquitectura del proyecto final12 min
2
Setup del proyecto y estructura de módulos10 min
3
Desarrollo: red y seguridad12 min
4
Desarrollo: cómputo y almacenamiento14 min
5
CI/CD y despliegue final10 min
6
Conclusiones: qué sigue después de este curso9 min