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. 625 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 đó.
Scaling LinkedIn's Hadoop YARN cluster beyond 10,000 nodes
Cluster Hadoop gấp đôi mỗi năm; cluster lớn nhất khoảng 10.000 node năm 2021. HDFS (một NameNode giữ mọi metadata) chạm giới hạn trước nên được đầu tư từ 2016; YARN ResourceManager nhẹ hơn nên được để yên tới đầu 2019.
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…
Achieving observability in async workflows
Prodicle Distribution (công cụ cho đoàn làm phim gửi tài liệu có watermark riêng cho từng người nhận, theo dõi việc nhận): một job 10 file × 20 người nhận là 200 tài liệu watermark riêng, kèm link thu hồi được, mật…
Scaling Kubernetes to 7,500 nodes
Một cluster duy nhất 7.500 node, chọn vì hạ tầng đơn giản cho phép team nghiên cứu scale mà không đổi code.
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…
Triggered: Incident #1234 (incident process needs fixing)
Khối phát triển sản phẩm gồm các team đa chức năng, tự chủ cao, sở hữu tính năng từ frontend đến deploy. Mặt trái: mỗi team có văn hoá và cách làm riêng, không có cơ quan trung tâm quy định quy trình.
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%.
Migration from HBase to MyRocks at Quora
Quora có hai kho dữ liệu chính, MySQL (đã tự shard dọc và ngang) và HBase (key-value, 3 cluster để cô lập). Hai hệ rất phức tạp và không chia sẻ được kiến thức hay công cụ với nhau.
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.
Building a Healthy On-Call Culture
Ở SoundCloud, không chỉ DevOps/SRE mà nhiều engineer sản phẩm trực on-call. Bài mô tả cách tổ chức đã đúc kết qua thử sai.
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.
Designing a Better Kubernetes Experience for Developers
Theo Spotify, lúc đầu người dựng cluster Kubernetes cũng là người sở hữu service chạy trên nó. Khi Kubernetes phổ biến, tổ chức tách ra team hạ tầng dựng và giữ cluster (thường nhiều region để giảm latency), còn team…
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…