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. 531 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 LIquid Connects Everything So Our Members Can Do Anything
LIquid () giữ Economic Graph: kết nối giữa member, trường, kỹ năng, công ty, vị trí, việc làm, sự kiện, nhóm. Năm 2023: 270 tỷ cạnh, 2 triệu query/giây, dự kiến gấp đôi trong 18 tháng; hơn 930 triệu member; 99,99%…
How the Miro Developer Platform leverages contract testing
Miro Developer Platform 2.0 (REST API công khai) ra mắt năm trước đó; đội muốn nâng chất lượng và tính nhất quán của API bằng cách làm design-first: thiết kế API (file OpenAPI, OAS) trước khi cài đặt.
Protecting our platform from spikes in usage by reducing load from the Monzo app
Monzo gọi là stampeding herd: rất nhiều người mở app cùng lúc, ví dụ 16h ngày trước ngày lương với tính năng Get Paid Early, hoặc khi gửi push "Year in Monzo".
Lessons Learnt From Consolidating ML Models in a Large Scale Recommendation System
Hệ recommendation và search thường mọc ra một model riêng cho mỗi use case: notification (user→item), item liên quan (item→item), search (query→item), khám phá theo thể loại (category→item). Mỗi cái có pipeline offline…
March 20 ChatGPT outage: Here's what happened
OpenAI phải tắt ChatGPT vì một bug khiến một số user thấy tiêu đề lịch sử chat của user khác đang hoạt động, và có thể cả tin nhắn đầu của hội thoại mới.
So You Think You Can Scale?
Trước 9/2023, muốn scale ngang trên Railway thì người dùng phải tự nhân bản service và tự viết load balancing.
Slack's Migration to a Cellular Architecture
Phần lớn hạ tầng lõi ở nhiều AZ trong một region (us-east-1). Ngày 30/6/2021, một đường network nối một AZ với các AZ khác lỗi chập chờn hai lần; người dùng thấy lỗi dù kiến trúc nhiều AZ lẽ ra che được.
Our Journey Migrating to AWS IMDSv2
Slack (2023) chạy khoảng 60.000 instance EC2 ở 17 region, hàng trăm AWS account (theo môi trường, theo team, đôi khi theo ứng dụng), nhiều team sở hữu. IMDS được dùng nhiều khi cấp phát máy và trong công cụ. Cấp phát…
Fleet Management at Spotify (Part 2): The Path to Declarative Infrastructure
Spotify chuyển từ datacenter riêng lên GCP theo kiểu lift and shift: kiến trúc và quan hệ với hạ tầng gần như giữ nguyên, nên lựa chọn hạ tầng trên cloud rất khác nhau giữa team (tự chạy Cassandra, Kafka, Elasticsearch,…
Fleet Management at Spotify (Part 3): Fleet-wide Refactoring
Polyrepo hàng nghìn repo; phần lớn backend dùng một service framework và bộ thư viện lõi chung, phần lớn pipeline batch dùng Scio. Từ 2021 Spotify đầu tư vào refactor toàn fleet để "repo" không còn là đơn vị công việc,…
Journey to the cloud part I: Migrating Stack Overflow Teams to Azure
stackoverflow.com vẫn chạy on-premises (2023). Sản phẩm Stack Overflow for Teams (SaaS riêng tư cho doanh nghiệp) lúc đầu dùng chung hạ tầng và phần cứng với site public, vốn được thiết kế để chạy trên số máy ít nhất có…
Twitter's Blobstore Hardware Lifecycle Monitoring and Reporting Service
Blobstore lưu ảnh, video và blob khác của Twitter, phần lớn trên máy bare metal ở data center riêng. Lúc đầu, máy vào ra khỏi cluster Blobstore trong vòng đời của nó mà không ai nhìn thấy: muốn biết trạng thái hạ tầng…
Constraint Management for cluster operation safety and reliability at Twitter
Team Messaging (Kafka và PubSub) chạy hàng chục cluster Kafka broker trên hybrid Mesos, mỗi cluster từ vài chục đến vài trăm broker. Dữ liệu replicate n bản nên mất tối đa n-1 máy là an toàn; mất nhiều hơn thì lỗi…
How we scaled reads on the Twitter Users Database
URS (User Reservation System), theo Twitter là một trong những hệ thống loại này lớn nhất thế giới, được xây trên Gizzard, chính framework sharding MySQL từng dùng cho tweet năm 2010–2013 (, ). Gizzard có những tính…
Attribute-Based Access Control at Uber
Uber phân quyền theo policy qua một service tập trung là Charter (giống IAM của AWS/GCP). Policy được phân phối xuống các microservice, và mỗi service đánh giá, thực thi tại chỗ bằng thư viện authfx.
How to Think About Security in Next.js
Server Components làm mờ ranh giới server/client: props truyền xuống client component có thể mang theo dữ liệu nhạy cảm mà không ai để ý. Bài hướng dẫn nhóm bảo mật của Vercel cách nghĩ về mô hình này.
Next.js 13.4
App Router ổn định, sáu tháng sau bản 13: theo Vercel, "stable" nghĩa là lõi đã sẵn cho production, chưa phải xong việc; Server Actions vẫn alpha, App Router chạy trên kênh canary của React.
Next.js 14
Turbopack đổi cách tiến: thôi viết lại next dev, chuyển sang hỗ trợ đủ tính năng trước. Mốc ổn định đo bằng bộ 5.000 test tích hợp của next dev (chứa bảy năm sửa lỗi): 90% đã qua, công khai tại areweturboyet.com, 100%…
WhatsApp calls: Enhancing security and privacy
Phần mềm gọi điện là đường tấn công hấp dẫn: nhiều giao thức phức tạp (WebRTC, PJSIP có nhiều CVE), và client thường tự xử lý gói tin đến để thiết lập cuộc gọi nhanh hơn, nên lỗ hổng có thể bị khai thác "zero-click",…
How WhatsApp's device verification protects your account
Mã hoá đầu cuối chống nghe lén trên đường truyền, nên kẻ tấn công chuyển sang nhắm vào chính điện thoại.
The Data Infra Behind Zillow's 3x Growth in Experiment Volume
Giữa 2020, gần 200 triệu người dùng unique mỗi tháng. Các team dùng gần một chục công cụ thí nghiệm mua hoặc tự viết, mỗi cái giải một phần: có nơi gán bucket tốt nhưng PM chờ data scientist hàng tuần để có scorecard;…
Building the Neural Zestimate
Zestimate ra 2/2006 cho 40 triệu nhà, cập nhật hằng tháng; nay hơn 100 triệu nhà, cập nhật vài lần mỗi tuần.
Scaling Production Globally: Solving observability problems for developers (Part-2)
Sau khi đưa Istio lên nhiều cluster ở nhiều region (phần 1), lượng metric tăng mạnh. Achievers dùng New Relic làm "single pane of glass" cho cả nền tảng phân tán.
Scaling Production Globally — The service mesh facelift (Part-1)
Achievers tăng nhanh trong hai năm, mở rộng microservice sang nhiều region trên GKE với yêu cầu data residency chặt. Các cluster Kubernetes đã có nhưng không có failover giữa region; theo team SRE, mất một cluster hay…