Scryer: Netflix's Predictive Auto Scaling Engine
Bài tóm tắt Netflix 2013 3. Quy mô lớn Độ khó: Trung bình
Netflix · 2013 · 3. Quy mô lớn · Độ khó: Trung bình — bài gốc
Bài giới thiệu ngắn (phần đầu của series hẹn trước); không có chi tiết thuật toán.
Bối cảnh
- Netflix dùng Amazon Auto Scaling (AAS): tăng giảm số instance theo metric hiện tại (thường là load average). Theo Netflix, AAS hiệu quả cho availability và chi phí, nhưng phản ứng sau khi tải đã đổi.
- Ba trường hợp AAS không xử lý tốt (2013):
- Tải tăng nhanh: instance mất 10 đến 45 phút mới khởi động xong; trong lúc đó máy đang chạy bị quá tải.
- Sau sự cố: traffic tụt đột ngột kích hoạt scale-down, rồi khi sự cố hết thì retry storm ập vào một cụm đã bị thu nhỏ.
- Mẫu tải thay đổi trong ngày: có lúc tải tăng nhanh khi cụm chỉ ở 20% kích thước tối đa, có lúc tăng chậm ở 80%, khó chỉnh một policy cho cả hai.
- Scale-up hung hãn thì dao động lên xuống; chạy dư máy thường trực thì tốn tiền.
Thay đổi chính
- Scryer dự đoán nhu cầu trước khi cần dựa trên mẫu traffic lặp lại theo giờ trong ngày và theo ngày trong tuần, rồi gọi API AWS để đặt lịch thay đổi số instance theo bậc khớp đường dự đoán.
- Hybrid dự đoán + phản ứng: Scryer lo phần đoán được, AAS giữ vai lưới an toàn cho đột biến ngoài dự đoán.
- Theo Netflix, sau vài tháng production: hiệu năng cụm tốt hơn, availability tốt hơn, chi phí EC2 giảm.
Vì sao
- Traffic streaming có chu kỳ rõ; độ trễ khởi động instance dài làm mô hình phản ứng luôn chậm một nhịp.
Bài học cho SWE
- Autoscale theo metric hiện tại chỉ đúng khi thời gian thêm capacity ngắn hơn thời gian tải tăng. Khi khởi động mất hàng chục phút, phải dự đoán hoặc giữ đệm.
- Scale-down theo traffic tụt trong sự cố là cái bẫy: cụm nhỏ đi đúng lúc sắp hứng retry dồn lại.
- Dự đoán không thay phản ứng; hai cơ chế bổ sung cho nhau.
Liên quan
- Load test và kiểm chứng capacity · Hot partition và thundering herd · Chi phí hạ tầng và build vs buy
- Autoscale theo việc đang chờ cho LLM, cùng lý do cold start dài: Hạ tầng phục vụ LLM inference
#predictive autoscaling#reactive autoscaling#Amazon Auto Scaling#retry storm#scheduled scaling#instance startup time#hybrid
Được nhắc tới trong
Chủ đề (3)
Công ty (1)