# Fundamentos de Terraform e Ansible

Este tutorial introduz as ferramentas de Infrastructure as Code (IaC) usadas neste projeto.

## Visão Geral

### O que é Infrastructure as Code?

Infrastructure as Code (IaC) é a prática de gerenciar infraestrutura através de código, permitindo:
- **Reprodutibilidade**: criar ambientes idênticos
- **Versionamento**: histórico de mudanças com Git
- **Automação**: reduzir erros manuais
- **Documentação**: código é a documentação

### Terraform vs Ansible

**Terraform** (HashiCorp):
- **Foco**: Provisionamento de infraestrutura
- **O que faz**: Criar/modificar/destruir recursos (VMs, redes, etc)
- **Quando usar**: Criar VMs no vSphere, AWS, Azure, etc

**Ansible** (Red Hat):
- **Foco**: Configuração de servidores
- **O que faz**: Instalar software, configurar serviços, gerenciar arquivos
- **Quando usar**: Instalar Docker, configurar aplicações

### Workflow Neste Projeto

```
1. Terraform → Cria VMs no vSphere
2. Cloud-init → Configura rede inicial (automático)
3. Ansible → Instala Docker e prepara ambiente
4. RKE → Cria cluster Kubernetes (próximos tutoriais)
```

---