How Etsy Prepared for Historic Volumes of Holiday Traffic in 2020
Bài tóm tắt Etsy 2021 3. Quy mô lớn Độ khó: Cơ bản
Etsy · 2021 · 3. Quy mô lớn · Độ khó: Cơ bản — bài gốc
Bối cảnh
- Quý 2/2020 (lockdown) traffic tăng bằng mức thường mất vài năm. Mùa lễ cuối năm không đoán được; scale thừa thì phí tiền, thiếu thì hại người bán. Cuối 2020: 81 triệu người mua hoạt động, hơn 85 triệu sản phẩm.
Thay đổi chính
- Slush (hơn mười năm, không phải đóng băng hoàn toàn): vài tuần mùa lễ hạn chế deploy thay đổi có thể làm phiền người bán, đội hỗ trợ hoặc hạ tầng; thay đổi cần thiết vẫn được đẩy nhưng chuẩn chuẩn bị và thông báo cao hơn. Theo Etsy, "capacity" cũng là sức của người bán và nhân viên.
- Capacity planning dù đã lên GCP từ 2018: dựa trên xu hướng lịch sử, báo trước cho GCP ước lượng cận trên nhiều tuần để có đúng loại máy đúng vùng. Mô hình traffic theo "số ngày tới Cyber Monday" để so năm này với năm trước khi Thanksgiving dời ngày.
- Scale day đầu 10/2020: tác giả vốn hoài nghi load test toàn site (hệ thống được làm an toàn để test thường khác production), nhưng vẫn tổ chức game day với hơn 15 đội: mỗi đội xin quota GCP trước đầu tháng 9, nâng capacity cho 3 lần traffic tháng 8, rồi replay request chồng lên traffic thật, tăng dần và theo dõi latency, lỗi, bão hoà. Kết quả: xác nhận quota, xác nhận công cụ scale (Terraform, GKE, instance group, Chef) chạy đúng, lộ nút thắt cấu hình ở vài cụm Memcache và relay StatsD.
- Cyber Monday 2020: MySQL shard đỉnh khoảng 1,5 triệu query/giây, Memcache hơn 20 triệu request/giây, cụm API HTTP nội bộ hơn 300.000 request/giây. Vẫn deploy một thay đổi nhỏ (báo chậm giao hàng của bưu điện) vào giờ cao điểm, biên dịch lại toàn bộ code trên hơn 1.000 host, không có sự cố.
Vì sao
- Theo Etsy, hơn mười năm continuous deployment, văn hoá postmortem không đổ lỗi và chọn ít công cụ quen thuộc ("boring technology") khiến họ tin công cụ của mình khi bị bất ngờ.
Bài học cho SWE
- Quota cloud là một phần của capacity: xin sớm, ước lượng cận trên.
- Load test toàn site hữu ích nhất để kiểm quota và công cụ scale, và để lộ nút thắt cấu hình, chứ không phải chứng minh chính xác mức tải chịu được.
- Giảm tốc độ thay đổi mùa cao điểm nhưng giữ khả năng deploy an toàn khi thật cần.
Liên quan
- Load test và kiểm chứng capacity · Deploy và release an toàn
- Etsy dự báo chi phí cloud: Etsy 2024
#capacity planning#Slush#code freeze#GCP quota#scale day#load test replay#Cyber Monday#continuous deployment#boring technology
Được nhắc tới trong
Công ty (1)