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. 82 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 đó.
Infrastructure Security as a product for Hotstar
Engineer Hotstar tự vận hành thứ mình xây, deploy qua AWS Console, manifest Kubernetes hay Terraform. Đội security mới lập được vài tháng (cuối 2019), trước mùa cricket lớn.
Keeping Customers Streaming — The Centralized Site Reliability Practice at Netflix
Netflix theo mô hình service ownership ("full cycle developer"): team vận hành cái mình xây; phần lớn lỗi được team sở hữu bắt trước khi khách thấy.
The Great K8S Migration
Reddit 15 tuổi (2020): nhiều kỹ sư hơn thì nhiều deploy hơn và codebase phức tạp hơn. Họ gom hạ tầng về một chuẩn trên Kubernetes để service owner chỉ lo service của mình.
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,…
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.
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.
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…
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…
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.
Project STAR*: Streamlining Our On-Call Process
Voyager On-Call: lịch trực cho app flagship (web, Android, iOS, frontend API). Người trực lo site chạy và giữ cho trunk và pipeline deploy khoẻ. Mỗi tuần một nhóm mới: một engineer mỗi nền tảng, kèm người của…
Implementing ChatOps into our Incident Management Procedure
Production engineer (PE) của Shopify được coi là chuyên gia xử lý sự cố, nhưng xử lý sự cố vẫn rối và mệt: gặp lỗi mới, bám vào triệu chứng, quên các thói quen tốt khi bị áp lực.
Re-architecting Slack's Workspace Preferences: Moving to an EAV Model
Thiết kế ban đầu: lưu tuỳ chọn của workspace dưới dạng một JSON blob ngay trong bảng workspaces (MySQL). Hợp lý khi Slack còn nhỏ.
Incidents, fixes, and the day after
Kỹ sư Booking.com được tự deploy thẳng lên production 24/7. Năm 2012 bộ phận còn nhỏ, vài trang wiki là đủ; đến 2017 bộ phận có gần 2.000 người trên toàn cầu, nên làm lại hướng dẫn xử lý sự cố.
Couchbase Ecosystem at LinkedIn
LinkedIn dùng Couchbase từ 2012. Năm 2017: hơn 10 triệu query/giây, hơn 200 cụm (production, staging, corp), cụm từ 3 tới 72 node. Dùng làm cache backend cho recruiter và jobs, counter cho cơ chế chống tấn công, và cả…
Open Sourcing Iris and Oncall
Trước 2015, kỹ sư NOC escalate sự cố bằng tay: không rõ ai là người liên hệ thứ hai và liên hệ bằng gì; số alert tăng nhanh hơn nhiều so với số người ở NOC. Đường escalate cũ lấy theo quản lý trong LDAP nên sự cố của kỹ…
Avoid webpack bloat: Optimize your dependencies
Mỗi dependency npm là một nguồn lỗi và bảo trì; thư viện phổ biến cũng phình dần (Moment.js 2,2 KB lúc 1.0 → hơn 20 KB gzip).
The great adventure of migrating Allegro infrastructure to new Data Center - DC5
DC2 ở Poznań là data center "thật" đầu tiên của Allegro (từ 2007). Đến 2014 có khoảng 2.000 thiết bị trong 90 tủ rack, phục vụ allegro.pl và các site khác của Naspers ở Ba Lan: khoảng 75 website ở 20 nước, khoảng 250…