Completing the Netflix Cloud Migration
Bài tóm tắt Netflix 2016 3. Quy mô lớn Độ khó: Dễ
Netflix · 2016 · 3. Quy mô lớn · Độ khó: Dễ — bài gốc
Bối cảnh
- 8/2008: database bị hỏng dữ liệu nghiêm trọng, 3 ngày không gửi được DVD. Netflix kết luận phải rời các điểm hỏng đơn lẻ scale dọc (DB quan hệ trong data center) để sang hệ phân tán, scale ngang trên cloud (AWS).
- Trước 2015, phần lớn hệ thống (mọi service phục vụ khách) đã lên cloud. Phần còn lại là billing và dữ liệu khách hàng/nhân viên, vốn cần một con đường an toàn và bền vững riêng.
- 1/2016: tắt phần data center cuối cùng của dịch vụ streaming, sau 7 năm.
Thay đổi chính
- Cloud-native, không "forklift": họ không nhấc nguyên hệ thống sang AWS (vì như thế là mang theo mọi giới hạn của data center), mà xây lại gần như toàn bộ.
- Monolith → hàng trăm microservice; denormalize mô hình dữ liệu và dùng NoSQL.
- Đổi cách vận hành công ty: bỏ phê duyệt ngân sách, phối hợp release tập trung, chu kỳ cấp phần cứng nhiều tuần; thay bằng continuous delivery và DevOps tự phục vụ, team tự quyết.
- Video phát qua CDN riêng Open Connect, không qua AWS.
Kết quả (2008→2016)
- Số thành viên streaming gấp 8 lần, lượng xem tăng 3 bậc độ lớn. 1/2016 mở thêm 130 quốc gia, dùng nhiều vùng AWS.
- Availability tiến gần bốn số 9. Vẫn có sự cố, nhất là giai đoạn đầu (ví dụ sự cố đêm Giáng sinh 2012).
- Chi phí trên mỗi lượt bắt đầu xem thấp hơn hẳn data center. Theo Netflix, đây là lợi ích phụ, không phải lý do chính.
Vì sao
Theo Netflix: không thể lắp server đủ nhanh để theo kịp tăng trưởng; cloud cho phép thêm hàng nghìn server và hàng petabyte trong vài phút. Độ tin cậy đến từ việc dựng hệ thống tin cậy trên các thành phần không tin cậy nhưng dư thừa, cộng với diễn tập thường xuyên (Simian Army).
Bài học cho SWE
- Một sự cố có thể quyết định hướng kiến trúc cả thập kỷ.
- Lift-and-shift mang theo mọi vấn đề cũ. Đó là lý do migration mất 7 năm.
- Thay đổi kiến trúc đi cùng thay đổi tổ chức (DevOps, team tự quyết).
- Phần nhạy cảm nhất (billing, dữ liệu cá nhân) đi sau cùng.
Liên quan
Độ tin cậy và multi-regionMigration không downtimeMonolith và microservices — đi và quay lạiChi phí hạ tầng và build vs buySự cố và postmortem
Được nhắc tới trong
Chủ đề (5)
Công ty (1)