Porovnání
Ansible vs Terraform
Ansible konfiguruje servery, Terraform vytváří infrastrukturu. Nejsou konkurenti — doplňují se.
Terraform
- Infrastructure as Code
- Deklarativní (HCL)
- Vytváří/ničí infrastrukturu (VM, DB, DNS)
- State file
- Idempotentní
Ansible
- Configuration Management + Orchestration
- Procedurální playbooks (YAML)
- Konfiguruje existující servery (packages, files, services)
- Agentless (SSH)
- Ad-hoc příkazy
Příklad
# Terraform — vytvořit server
resource "aws_instance" "web" {
ami = "ami-12345"
instance_type = "t3.micro"
}
# Ansible — konfigurovat server
- hosts: web
tasks:
- apt: name=nginx state=present
- service: name=nginx state=started
Kdy co
- Terraform — provisioning infrastruktury (VM, DB, VPC, DNS)
- Ansible — konfigurace serverů (packages, files, services)
- Oba — Terraform vytvoří VM, Ansible ji nakonfiguruje
Terraform + Ansible = kompletní IaC
Nejsou konkurenti. Terraform pro infra, Ansible pro konfiguraci.