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. 339 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 đó.
After four years of SMR storage, here's what we love and what comes next
Theo Dropbox, năm 2018 họ là công ty công nghệ lớn đầu tiên dùng ổ SMR mật độ cao.
Introducing Fly Kubernetes
Fly.io chạy container dưới dạng microVM (Firecracker) trên máy tự đặt ở hàng chục region. Lúc đầu dùng Nomad, kèm proxy Anycast tự viết bằng Rust và mạng riêng WireGuard/IPv6 trên eBPF.
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".
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.
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 mạng 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,…
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 cụm 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 phải…
Constraint Management for cluster operation safety and reliability at Twitter
Team Messaging (Kafka và PubSub) chạy hàng chục cụm Kafka broker trên hybrid Mesos, mỗi cụm 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 publish.
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.
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;…
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 cụm Kubernetes đã có nhưng không có failover giữa region; theo team SRE, mất một cụm hay một…
An Article to Learn About ByteDance Microservices Middleware CloudWeGo
2014: ByteDance đưa Go vào để giải bài toán đồng thời cao của push service giữ kết nối lâu.
Kitex: Unifying Open Source Practice for a High-Performance RPC Framework
Lịch sử: ByteDance bắt đầu dùng Go năm 2014; năm 2015 dựng service nội bộ với Thrift cho RPC; 2016 ra framework RPC Go đầu tiên Kite, làm nhanh cho giai đoạn tăng trưởng, ít tính trước. Nhu cầu phức tạp dần và số…
Moving e2e testing into production with multi-tenancy for increased speed and reliability
Thời monolith, nhu cầu test end-to-end được đáp ứng bằng sandbox. Sang microservices, chạy hết các service trên một máy không nổi, nên dựng môi trường staging riêng (bản sao production không có PII).
Using Fault Injection Testing to Improve DoorDash Reliability
DoorDash viết backend theo microservice; một request từ app có thể đi qua hàng chục tới hàng trăm service, nên phải xử lý lỗi một phần (một dependency chậm, lỗi, hay vừa deploy kèm bug).
3 Changes to Expand DoorDash's Product Search Beyond Delivery
Search của DoorDash được xây cho đồ ăn: nhà hàng và menu lồng nhau, gắn chặt với hệ thống giao đồ ăn. Khi mở sang tạp hoá, tiện lợi, rượu, đồ thú cưng, dữ liệu thành từng SKU rời với số lượng lớn hơn hẳn, và mỗi ngành…
Deployment At Scale: Dream11's In-House Blue-Green Deployment Platform "OneClick"
Traffic của Dream11 rất biến động (theo trận đấu) và deploy cả trong giờ cao điểm. Cần deploy thường xuyên mà ít lỗi và rollback được.