Saving Millions : Leveraging EC2 Spots at scale

Bài tóm tắt Disney Hotstar 2018 2. Tăng trưởng Độ khó: Dễ

Disney Hotstar · 2018 · 2. Tăng trưởng · Độ khó: Dễ — bài gốc

Bài ngắn, thiên về mẹo sử dụng; giá trị chính là cách Hotstar chia workload nào được chạy trên Spot.

Bối cảnh

  • Spot instance là capacity EC2 chưa dùng, giá thấp hơn On-Demand nhiều, đổi lại có thể bị thu hồi. Cuối 2017 AWS đổi cơ chế: giá mượt hơn, không cần đấu giá, giá tối đa chặn ở mức On-Demand, ít bị thu hồi hơn.

Thay đổi chính

  • Service stateless và microservice: chạy trộn On-Demand và Spot ở production, thiết kế để chịu mất máy. Luật nền: luôn dùng spot fleet đa dạng loại máy (ít nhất 3 loại khi dùng 2 AZ, 2 loại khi 3 AZ), không lưu gì trên root volume, đẩy dữ liệu quan trọng lên S3/database đều đặn, gửi log về server log trung tâm (để còn log khi máy đã bị thu hồi), theo dõi thông báo thu hồi.
  • Máy lớn cho ML/data science: Spot tiết kiệm đến khoảng 80% (2018).
  • EMR: luật vàng là task node luôn chạy Spot (20–60 node tuỳ khối lượng). Cụm chạy lâu thì master và data node On-Demand, task node Spot; cụm tạm (vài phút đến 4 giờ) thì toàn bộ Spot.
  • Load test mô phỏng tải cỡ IPL: hơn 500 máy CPU lớn chạy 4 giờ; Spot tiết kiệm 75–80%.

Bài học cho SWE

  • Spot hợp với thứ không có trạng thái cục bộ hoặc chịu được mất giữa chừng: worker xử lý, task node, máy tạo tải. Phần giữ trạng thái (master, data node chạy lâu) để On-Demand (Chi phí hạ tầng và build vs buy).
  • Đa dạng loại máy và AZ là cách giảm khả năng bị thu hồi đồng loạt.

Liên quan