Bài tóm tắt
Tóm tắt bằng lời riêng, luôn dẫn về bài gốc. 164 bài (đã lọc). Đọc miễn phí.
Nguồn dữ liệu danh sách bài viết của blog công ty
Danh sách bài trên trang công ty gồm 10.013 bài. Khoảng 73,6% (7.365 bài) do SWE Wiki thu thập thủ công từ kho lưu trữ blog chính chủ của các công ty, kèm ngày đăng. Phần còn lại lấy từ các danh sách công khai trên GitHub: binhnguyennus/awesome-scalability (667), abhivaikar/howtheytest (551), upgundecha/howtheysre (499), eugeneyan/applied-ml (376), Engineer1999/ML-System-Design-Case-Studies (239), upgundecha/howtheyaws (149) và một số danh sách nhỏ khác. Mọi link luôn dẫn về bài gốc trên blog của tác giả; SWE Wiki không sao chép nội dung bài. Hiện 8.979 bài thuộc 133 công ty có trang riêng được hiển thị cho thành viên. Cảm ơn những người duy trì các danh sách đó.
Rust's CI is moving to GitHub Actions
Rust muốn master luôn xanh, nên test và merge từng PR một: các PR đã duyệt xếp hàng trong bors. CI rộng: 57 máy build và test compiler trên mọi nền tảng hỗ trợ; trên hệ cũ (Azure Pipelines, VM 2 core) mỗi builder mất…
How Does Spam Protection Work on Stack Exchange?
"Đặt một ô nhập liệu lên Internet thì sẽ có người nhét spam vào." Một mạng có hàng triệu lượt truy cập mỗi ngày và rất nhiều ô nhập liệu cần chống spam ở nhiều lớp, mỗi lớp của đường đi request (CDN → load balancer →…
How we built it: our new Articles feature for Stack Overflow for Teams
Articles là loại nội dung dài mới trong Stack Overflow for Teams; phải hiện cùng câu hỏi/trả lời trong search, profile, thông báo theo tag, có vote và comment. Mỗi article có một "loại" (Knowledge Article, Announcement,…
Acceptance Tests On CI Pipeline
Team test tính năng theo sprint rồi mới đưa lên production, nhưng việc giao hàng hay trễ vì lỗi do môi trường (môi trường test dùng chung, dependency thật), làm tăng Lead Time (một trong bốn chỉ số của sách Accelerate).
How to Pitch Apache Kafka
Zillow chạy trên AWS và dùng SQS, SNS, Kinesis. Theo tác giả, lý lẽ "Kafka throughput tốt hơn" không thuyết phục được lãnh đạo; ở công ty trước, chính ông từ chối Kafka vì không thấy ROI của việc thêm người vận hành.
How Zillow Tests Clickstream Analytics
Event analytics (page view, sự kiện) do dev gắn vào trang, gửi Google Analytics, rồi được kéo từ BigTable về data lake (bảng Hive). Zillow chưa có schema chung cho event.
How Reliability and Product Teams Collaborate at Booking.com
2019: hơn 1,5 triệu đêm phòng/ngày, 50.000+ server vật lý ở 4 data center và 6 PoP. Quy mô đủ để có team reliability riêng cho từng nền tảng lớn.
Under the hood of Figma's infrastructure
Bài của trưởng nhóm infra mới (7 tháng, trước đó ở Google và Dropbox). Mục đích: kể infra đang chuyển từ "đơn giản nhưng tốn công vận hành" của một startup sang hệ thống trưởng thành hơn.
GitLab's unconventional journey to CI/CD and Kubernetes
feature freeze từ ngày 7, release ngày 22;
Designing Resilient Systems Beyond Retries (Part 2): Bulkheading, Load Balancing, and Fallbacks
Bài thứ hai trong series ba phần của Grab về các kỹ thuật chịu lỗi "ngoài retry" (bài 1 nói về rate limiting). Bài thiên về giải thích pattern, chỉ có vài đoạn ngắn về cách Grab áp dụng.
Scaling for Tsunami traffic
Traffic của Hotstar (streaming ở Ấn Độ) có dạng "sóng thần": khi đội tuyển cricket Ấn Độ ra sân, lượng user đồng thời tăng vọt trong vài phút.
Amundsen — Lyft's data discovery & metadata engine
Ở Lyft, data scientist và research scientist lẽ ra dành phần lớn thời gian làm model và đưa lên production, nhưng mất nhiều thời gian cho tìm dữ liệu: dữ liệu có tồn tại không, ở đâu, đâu là nguồn sự thật, có quyền truy…
How we've evolved on-call
Từ bài 2018, Monzo đã có tuyến một gồm primary (kỹ sư kinh nghiệm, biết chỉ huy sự cố) và shadow (người mới học bằng cách quan sát), đều là tình nguyện viên có trả tiền. Khi hệ thống lớn nhanh, primary khó có ngữ cảnh…
Add-Ons Outage Post-Mortem Result
Đầu 5/2019, chứng chỉ trung gian dùng để ký add-on hết hạn, làm add-on trên rất nhiều bản Firefox bị vô hiệu hoá.
How we do On-Call Rotations
Đo chất lượng trực bằng MTTA (sức khoẻ của lịch trực) và MTTR (chất lượng công cụ và tài liệu). Tự nhiên nhất là team xây hệ nào trực hệ đó, nhưng team chỉ 2–8 người nên mỗi người trực nhiều ngày mỗi tháng, mà trực thì…
Deconstructing the Monolith: Designing Software that Maximizes Developer Productivity
Một trong những codebase Rails lớn nhất thế giới: hơn 10 năm, hơn 1.000 developer. Ban đầu là monolith không có ranh giới: code tính phí ship gọi thẳng code tính thuế, và ngược lại.
Fast and flexible observability with canonical log lines
Log có cấu trúc (key=value) linh hoạt hơn metric (metric và dashboard phải thiết kế trước, khó hỏi câu bất ngờ). Nhưng thông tin của một request rải trên nhiều dòng: muốn hỏi "user nào bị rate limit nhiều nhất" phải…
Building a High-Throughput Metrics System Using Open Source Software
Two Sigma xây nền tảng cho "nghiên cứu dạng hội thoại". Một nền tảng dữ liệu hiệu năng cao trả kết quả truy vấn của researcher (ví dụ "dataset x từ 2000 tới 2019, lấy log mọi giá trị"), tới 50.000 query/giây và 1,85…
Member Transaction History: Data Store Selection Journey
Member Transaction History (MTH) là lớp đọc đa kênh cho đơn hàng của club (Sam's Club) và online: nguồn sự thật duy nhất để tra cứu và sửa đơn, với một mô hình đơn hàng chuẩn.
Preventing Rogue Cookies with the Zillow Cookie Checker
Từ 2018 Zillow dọn cookie và nâng banner tuỳ chọn cookie: người dùng tắt cookie quảng cáo/chức năng thì không trang nào được tạo các cookie đó. Cookie đến từ tag trong Google Tag Manager và từ code của Zillow.
Federated GraphQL Server at Scale: Zillow Rental Manager Real-time Chat Application
Zillow Rental Manager (ZRM): chủ nhà xem được tin nhắn của người thuê nhưng không trả lời được trong app; trước đó trao đổi qua email.
Using API Gateway for Authorization and Authentication
Yêu cầu duy nhất: phải có xác thực/phân quyền và không được "tĩnh" (username/password cứng gửi kèm mọi request). Đã cân nhắc Passport (phổ biến với NodeJS) và tự viết (tác giả từng làm ở dự án khác và khuyên đừng làm).
DynamoDB: Why migrate to DynamoDB from Cassandra?
Cassandra cho người dùng tự quyết gần như mọi thứ: số replica, chỗ đặt replica, mức consistency, số node. Theo tác giả, chính điều đó đặt độ bền và hiệu năng vào tay người cấu hình.
Saving Millions : Leveraging EC2 Spots at scale
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.