Một Infra Developer thường chịu trách nhiệm xây dựng, tự động hóa và duy trì hạ tầng cho các hệ thống phần mềm – bao gồm server, CI/CD, container, mạng, bảo mật, và cloud infrastructure như AWS, GCP, Azure.
Trong vai trò này, state diagrams (sơ đồ trạng thái) thường không phổ biến như với các nhà phát triển phần mềm ứng dụng, nhưng chúng vẫn rất hữu ích trong một số tình huống nhất định, đặc biệt khi cần mô hình hóa hành vi của các thành phần trong hạ tầng. Dưới đây là cách Infra Developer sử dụng state diagrams hiệu quả:
🔧 1. Mô hình hóa trạng thái hệ thống/phân phối
-
Khi dùng: quản lý các trạng thái của máy chủ, container, hoặc dịch vụ.
-
Ví dụ:
- Trạng thái của một EC2 instance (Stopped → Pending → Running → Terminated).
- Trạng thái của một Pod trong Kubernetes (
Pending → Running → Succeeded/Failed → Terminating
).
-
Lợi ích: giúp hiểu rõ luồng chuyển trạng thái để xử lý lifecycle hooks, log, sự kiện bất thường.
🧩 2. CI/CD Pipeline State
- Khi dùng: mô tả trạng thái của một build/deploy pipeline.
- Ví dụ:
Queued → Running → Success | Failed | Canceled
- Lợi ích: hỗ trợ thiết kế logic retry, rollback, hoặc timeout trong pipeline.
🛠️ 3. Infrastructure Provisioning / Automation (e.g., Terraform, Ansible)
-
Khi dùng: mô tả trạng thái resource hoặc hành vi automation.
-
Ví dụ:
Resource Not Created → Plan → Apply → Created
Playbook Not Started → Executing → Failed | Success
-
Lợi ích: giúp kiểm soát các transition logic trong automation và phát hiện idempotency issues.
🔐 4. Quản lý trạng thái bảo mật, chứng chỉ, token
- Ví dụ:
Token Issued → Active → Expiring Soon → Expired
- Lợi ích: xây dựng logic tự động gia hạn cert/token hoặc cảnh báo khi sắp hết hạn.
🧠 5. Mô hình hóa trạng thái failover hoặc HA (High Availability)
-
Ví dụ:
Primary Node → Degraded → Standby Node Promoted
Load Balancer Health Check: Healthy → Unhealthy → Removed
-
Lợi ích: mô tả rõ logic failover trong hạ tầng cloud hoặc on-premise.
🔄 Cách sử dụng thực tế
-
Công cụ dùng để vẽ:
-
Tích hợp trong tài liệu kỹ thuật: như confluence, README.md, hoặc trong runbook vận hành.
Ví dụ áp dụng mô tả AWS batch job hoạt động
💡 Kết luận
Mặc dù không phải công cụ chính yếu hàng ngày như scripts hay IaC tools, state diagrams giúp Infra Developer thiết kế và truyền đạt hệ thống phức tạp một cách trực quan – đặc biệt khi có nhiều trạng thái hoặc bước chuyển tiếp cần được đảm bảo chính xác và an toàn.