- Vertical (scale up): tăng sức mạnh cho một máy — thêm CPU, RAM, disk. Đơn giản, không đổi code, nhưng có trần phần cứng và là single point of failure.
- Horizontal (scale out): thêm nhiều máy cùng chạy sau load balancer. Gần như không giới hạn về quy mô và chịu lỗi tốt hơn, nhưng đòi hỏi stateless + xử lý phân tán (đồng bộ dữ liệu, cân bằng tải).
Thực tế: scale up trước cho đơn giản, chuyển sang scale out khi cần vượt trần một máy hoặc cần độ sẵn sàng cao.