Một điều quan trọng cần lưu ý khi thiết kế hệ thống, đó là tính sẵn sàng cao, hệ thống luôn luôn sẵn sàng để truy cập, thời gian downtime hầu như là không có.

- Sử dụng ElasticIP để gắn cho một EC2 Instance.
- Tạo một Standby EC2 Instance.
- Sử dụng CloudWatch Event để theo dõi các thông số của EC2 Instance chính, nếu có nó có vấn đề gì bất thường(vd CPU nhảy lên 100% -> lỗi rồi) -> Gửi cho Lambda Function để thực hiện attach ElasticIP qua EC2 Instance. Thế là hệ thống đỡ mất thời gian để launch lại EC2 vì có sẵn rồi.

- Sử dụng ASG để tự động mở rộng hệ thống tuỳ theo lưu lượng. Giảm khả năng bị quá tải của hệ thống.
- Có thể bật Multi-AZs, tránh khả năng datacenter đang sử dụng gặp sự cố.

- Có một vấn đề là khi Terminate EC2 Instance, cả EBS Volume sẽ bị xoá theo, để có thể giữ lại nó, ASG sẽ sử dụng lifecycle hook, nó sẽ triggerd khi EBS Volume bị terminate -> tạo ra một EBS Snapshot, khi ASG launch một EC2 Instance mới, EBS cũng sẽ được tạo từ EBS Snapshot. Dữ liệu vẫn sẽ được giữ nguyên.