EC2 Placement Groups

New words
- placement/ˈpleɪs.mənt/: một vị trí hoặc công việc tạm thời trong một tổ chức
EC2 Placement Groups
- Đôi khi bạn muốn kiểm soát chiến lược phân bố của các EC2 instance.
- Chiến lược này có thể được định nghĩa thông qua placement group.
- Khi bạn tạo một placement group, bạn sẽ chỉ định một trong các chiến lược sau:
Cluster
- Gom các instance vào một Cluster có độ trễ thấp, nằm trong cùng một Availability Zone

✅ Ưu điểm:
- Mạng rất mạnh (băng thông 10 Gbps giữa các instance)
❌ Nhược điểm:
- Nếu rack gặp sự cố, tất cả các instance sẽ bị lỗi cùng lúc
🧩 Trường hợp sử dụng:
- Công việc Big Data cần xử lý nhanh
- Ứng dụng yêu cầu độ trễ cực thấp và băng thông cao
Spead
- Phân tán các instance trên các phần cứng vật lý khác nhau để giảm thiểu rủi ro sự cố ảnh hưởng đồng thời đến nhiều instance.
- Mỗi placement group chỉ được tối đa 7 instance trên mỗi AZ.

✅ Ưu điểm:
- Có thể trải dài qua nhiều Availability Zones (AZ)
- Giảm rủi ro bị lỗi đồng thời
- Các EC2 instance được đặt trên phần cứng vật lý khác nhau
❌ Nhược điểm:
- Giới hạn tối đa 7 instance trên mỗi AZ cho mỗi placement group
🧩 Trường hợp sử dụng:
- Ứng dụng cần tối đa hóa tính sẵn sàng cao
- Ứng dụng quan trọng (Critical Applications) mà mỗi instance cần được cách ly để không bị ảnh hưởng lẫn nhau khi xảy ra lỗi
Partition
- Phân tán các instance qua nhiều phân vùng (partition), mỗi phân vùng sử dụng một nhóm rack phần cứng riêng biệt.

- Có thể hiểu rack là tập hợp nhiều hardware
- Tối đa 7 partition cho mỗi Availability Zone (AZ)
- Có thể trải dài qua nhiều AZ trong cùng một khu vực (region)
- Hỗ trợ lên đến hàng trăm EC2 instances
- Các instance trong cùng một partition không chia sẻ cùng rack với các instance ở partition khác
- Một partition bị lỗi có thể ảnh hưởng đến nhiều EC2, nhưng sẽ không ảnh hưởng đến các partition khác
- Các EC2 instance có thể truy cập thông tin partition dưới dạng metadata
🧩 Trường hợp sử dụng:
- HDFS, HBase, Cassandra, Kafka
Phân biệt Spead và Partition
Tóm tắt dễ nhớ:
- Spread = mỗi EC2 đứng riêng lẻ, tránh rủi ro tập trung.
- Partition = nhóm EC2 theo cụm riêng biệt để cách ly lỗi theo cụm.
| Đặc điểm | Spread | Partition |
|---|---|---|
| 🔐 Mức độ cách ly lỗi | Rất cao – từng EC2 trên phần cứng riêng | Cao – cách ly theo nhóm (partition) |
| 📈 Quy mô hỗ trợ | Nhỏ – tối đa 7 EC2/AZ | Lớn – lên đến hàng trăm EC2 |
| 🧠 Kiến trúc cụm (cluster aware) | Không | Có – EC2 biết nó nằm trong partition nào |
| 💼 Dùng cho loại ứng dụng nào? | App quan trọng, độc lập, cần độ sẵn sàng tối đa | App phân tán như Kafka, Cassandra, HDFS… |
| ⚙️ Quản lý cụm dữ liệu lớn | Không phù hợp | Rất phù hợp |
🔥 Ví dụ thực tế:
Nếu bạn đang chạy 7 web server cho một hệ thống live-critical, bạn dùng Spread.
Nếu bạn chạy Kafka với 100 EC2 node, bạn dùng Partition để group chúng thành 3–5 partition.
👉 Kết luận nhanh:
| Spread cách ly lỗi tốt hơn, nhưng không mở rộng được tốt. | | Partition cách ly theo nhóm, và thiết kế để scale, đặc biệt cho cluster-based workload. |
Bạn thấy bài này thế nào?