IaC là quản lý hạ tầng bằng file cấu hình có version thay vì thao tác thủ công trên console — hạ tầng được mô tả bằng code, review qua Git, tái tạo nhất quán.
Lợi ích: lặp lại được (tạo lại y hệt môi trường), version + review, giảm lỗi thủ công (config drift), tự động hóa, tài liệu sống.
Terraform (HashiCorp) là công cụ IaC phổ biến:
- Declarative: bạn mô tả trạng thái mong muốn (HCL), Terraform tự tính các bước để đạt được.
- Provider: hỗ trợ đa cloud (AWS, GCP, Azure...) qua cùng một cú pháp.
- State file: ghi lại trạng thái thực đang quản lý để so sánh và cập nhật.
- Quy trình: plan (xem trước thay đổi) → apply (thực thi) → destroy.
Phân biệt: Terraform lo provisioning hạ tầng (tạo VPC, EC2...); Ansible/Chef nghiêng về config management (cài đặt bên trong máy). Terraform declarative, khác kiểu imperative script.