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. 351 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 9.115 bài thuộc 135 công ty có trang wiki riêng và 897 bài thuộc 261 trang danh sách bài viết (công ty chưa có trang wiki); thành viên xem được toàn bộ danh sách. Cảm ơn những người duy trì các danh sách đó.
How We Built A Context-Specific Bidding System for Etsy Ads
Etsy Ads là đấu giá second-price thời gian thực; năm 2019 mọi seller được chuyển sang giá thầu tự động. Bộ đặt giá cũ tĩnh: ước lượng tỉ lệ mua sau click (PC-CVR) cho mỗi listing một lần mỗi ngày, nên đặt cùng giá lúc…
Partitioning GitHub's relational databases to handle scale
Hơn 10 năm trước GitHub bắt đầu bằng Rails + một MySQL.
How we prevented security fixes leaking into our public repositories
GitLab làm việc "công khai mặc định", trừ bản vá bảo mật (làm công khai là lộ lỗ hổng trước khi có bản vá). Mỗi project công khai có một fork Security riêng tư; repo công khai (Canonical) được push mirror sang fork đó…
Scaling AWS Infrastructure to Support Multiple Regions
Mục tiêu: đưa neural network và API gần user hơn (giao diện phản hồi nhanh), đồng thời tách môi trường để đạt SOC 2 Type 2 và ISO.
Scaling Prometheus to billions of samples a second
HRT dùng Prometheus làm thành phần chính để giám sát hạ tầng toàn cầu, cả metric host lẫn metric service, cho môi trường giao dịch live và cluster nghiên cứu. Một instance scale lên rất xa nhưng vẫn có trần phần cứng.
Dynamic alert routing with Prometheus and Alertmanager
Văn hoá "you build it, you run it"; team Platform Infrastructure lo phần dùng chung (CI/CD, IaC, observability). Phần lớn service chạy trên GKE; service hướng khách chạy trên cluster dùng chung. Stack giám sát:…
Enforcing best practice on self-serve infrastructure with Terraform, Atlantis and Policy As Code
Toàn bộ hạ tầng Google Cloud cùng Google Workspace, Fastly, PagerDuty, Route53, StatusCake… quản lý bằng Terraform, trong 33 repository (2021) cộng các module nội bộ (mỗi module một repo, phát hành bằng git tag) mã hoá…
LyftLearn: ML Model Training Infrastructure built on Kubernetes
Mỗi team ở Lyft (dispatch, định giá, chống gian lận, hỗ trợ) dùng kỹ thuật mô hình riêng, nhưng đều cần cùng các việc: môi trường phát triển, train song song, theo dõi các lần chạy, xem hiệu năng, train lại theo lịch,…
ML Feature Serving Infrastructure at Lyft
Model ML ở Lyft (ghép tài xế–khách, định giá, coupon, chống gian lận, hỗ trợ) cần feature tính theo hai cách: batch trên data warehouse Hive (ví dụ lịch sử huỷ chuyến một năm của user) và stream từ Kafka (ví dụ giá ước…
How Facebook deals with PCIe faults to keep our data centers running reliably
Data center của Facebook (2021) có hàng triệu linh kiện PCIe (ASIC tăng tốc video và inference, GPU, NIC, SSD), nhiều nhà cung cấp, nhiều bản firmware, chạy các ứng dụng có mức chịu lỗi khác nhau. Lỗi có thể từ phần…
Edge Authentication and Token-Agnostic Identity Propagation
Netflix bắt đầu là website quản lý queue DVD, rồi thêm streaming, rồi thiết bị (hơn 2.000 loại thiết bị). Mỗi service phục vụ thiết bị phải hiểu nhiều giao thức và nhiều loại token (cookie, MSL, token đối tác…) để biết…
How PayPal Uses Real-time Graph Database and Graph Analysis to Fight Fraud
2021: hơn 400 triệu người dùng và merchant đang hoạt động, vài nghìn giao dịch thanh toán mỗi giây. Quan hệ giữa tài khoản (cùng IP, cùng thiết bị, cùng hộ gia đình, trả tiền cho nhau) là tín hiệu rủi ro mạnh, nhưng…
Deploying Large-scale Fraud Detection Machine Learning Models at PayPal
Risk platform là môi trường ML production lớn nhất của PayPal, chống gian lận theo thời gian thực. Vì yêu cầu quản lý (quan trọng, chính xác, công bằng), model và feature phụ thuộc phải đi qua CI/CD và được thử ở môi…
Ensuring High Availability of Ads Realtime Streaming Services
Mảng quảng cáo của Pinterest tăng nhiều lần trong vài năm. Luồng thời gian thực: Ads Server ghi event hiển thị và hành động → Spend Aggregator (Flink) gộp thành event chi tiêu theo nhà quảng cáo → ba service Kafka…
How we designed our continuous integration system to be more than 50% faster
Đội Engineering Productivity của Pinterest làm CI cho các repo lớn, phục vụ hơn 1.000 engineer (2020). Repo được nói tới là Optimus: monorepo Java hơn 120 service, gồm nhiều nền tảng dữ liệu quan trọng, khoảng 300 người…
What we learned from an iOS app OOMs incident
Đầu 2020: crash out-of-memory trên app iOS tăng mạnh; tỉ lệ người dùng không gặp crash (CFUR) giảm từ 99% xuống 96%.
Slack's Outage on January 4th 2021
Ngày làm việc đầu năm: Slack đi từ lúc vắng nhất năm sang một trong những ngày đông nhất chỉ qua một đêm; cache của client nguội nên lần kết nối đầu kéo nhiều dữ liệu hơn thường. Traffic còn có các đỉnh nhỏ đầu mỗi giờ…
Migrating Millions of Concurrent Websockets to Envoy
Hàng triệu user kết nối đồng thời lúc cao điểm, gửi nhau rất nhiều tin nhắn nhỏ qua websocket vào hệ "wss" (tin nhắn, presence, app). Từ đầu Slack dùng HAProxy ở nhiều region AWS để kết thúc websocket gần user.
Service Architecture at SoundCloud — Part 2: Value-Added Services
Sau nhiều năm dùng BFF, logic nghiệp vụ và phân quyền bị nhân bản ở từng BFF và lệch nhau (). Với SoundCloud, lộ track riêng tư hoặc chưa phát hành là kịch bản tệ nhất.
A deeper dive into our May 2019 security incident
Ngày 12/5/2019, cộng đồng báo một tài khoản lạ có quyền moderator và developer trên toàn network Stack Exchange. Điều tra cho thấy đó chỉ là phần nổi: kẻ tấn công đã lấy được mã nguồn và làm lộ thông tin cá nhân của 184…
Service Level Testing for Microservices in Swiggy
Năm 2021 Swiggy chạy hơn 400 microservice production; vài năm trước chỉ vài chục. Cùng lúc tốc độ deploy giảm: tính năng kéo từ ngày thành tuần, sửa nhỏ cũng mất nhiều ngày dev và test.
How we build the Image Gallery on trivago
Một pipeline ETL sinh gallery ảnh đã sắp thứ tự cho mỗi chỗ ở (theo tag nội dung và chất lượng ảnh) rồi gửi cho các đội frontend. Pipeline chạy trên AWS, rồi được chuyển sang GCP và thiết kế lại toàn bộ để thêm tính…
Next.js 12
Compiler Rust (SWC) thay Babel: theo Vercel, biến đổi mã nhanh hơn Babel 17 lần, refresh local nhanh khoảng 3 lần và build nhanh khoảng 5 lần. Phải viết lại các phép biến đổi Babel của Next.js bằng Rust, kể cả một…
How WhatsApp is enabling end-to-end encrypted backups
Tin nhắn đã mã hoá đầu cuối, nhưng bản sao lưu lịch sử chat lên Google Drive hay iCloud thì chỉ được bảo vệ bởi chính nhà cung cấp lưu trữ. Đó là lỗ hổng lớn nhất còn lại của lời hứa "chỉ hai đầu đọc được".