Quản lý hạ tầng thủ công qua console không còn được chấp nhận ở hầu hết tổ chức nghiêm túc — IaC đảm bảo hạ tầng có thể tái lập, review được (qua pull request), và version control được như code ứng dụng.
State file là gì và tại sao quan trọng? — Terraform lưu trạng thái hạ tầng hiện tại trong state file để biết sự khác biệt giữa cấu hình mong muốn (declared) và thực tế (actual) khi chạy terraform plan. Mất hoặc hỏng state file là sự cố nghiêm trọng — vì vậy nên lưu state ở remote backend (S3 + DynamoDB lock, Terraform Cloud) thay vì local, đặc biệt khi làm việc theo team.
Idempotency nghĩa là gì trong ngữ cảnh Terraform? — Chạy terraform apply nhiều lần với cùng cấu hình cho kết quả giống nhau (không tạo trùng tài nguyên) — đây là nguyên tắc cốt lõi giúp IaC an toàn hơn script thủ công.
"2 người cùng chạy terraform apply đồng thời, điều gì xảy ra?" — Nếu dùng remote backend có locking (vd. S3 + DynamoDB), người thứ 2 sẽ bị chặn cho tới khi người đầu hoàn tất — tránh race condition làm hỏng state. Không có locking là rủi ro lớn khi làm việc nhóm.
"terraform plan cho thấy sẽ xoá và tạo lại 1 tài nguyên (thay vì update tại chỗ), tại sao?" — Một số thuộc tính của tài nguyên là immutable (không thể update trực tiếp, vd. đổi tên 1 số loại resource trên AWS) — Terraform buộc phải destroy rồi create lại. Cần cẩn trọng với tài nguyên có dữ liệu quan trọng (database) — kiểm tra kỹ plan trước khi apply, cân nhắc dùng lifecycle { prevent_destroy = true }.
Terraform module giúp tái sử dụng cấu hình hạ tầng (vd. module "vpc" dùng chung cho nhiều môi trường staging/production) — câu hỏi thường gặp: "làm sao thiết kế module để dùng được cho cả staging và production mà không trùng lặp code" — đáp án tốt nhắc tới biến đầu vào (variables) để tham số hoá sự khác biệt giữa môi trường, thay vì viết code trùng lặp.
Nếu từng dùng Terraform quản lý hạ tầng thật, kể cụ thể: quy mô hạ tầng quản lý (bao nhiêu resource, môi trường nào), cách tổ chức state (workspace riêng theo môi trường hay tách repo), và 1 lần gặp sự cố với state/plan không như mong đợi và cách xử lý.