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. 979 bài. Đọ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 đó.

Mọi giai đoạn 1. Khởi đầu2. Tăng trưởng3. Quy mô lớn4. Điều chỉnh
Mọi độ khó DễCơ bảnTrung bìnhKhóNâng cao
Bài tóm tắt · Pinterest · 2021 Trung bình

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…

Bài tóm tắt · Pinterest · 2021 Trung bình

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%.

Bài tóm tắt · Quora · 2021 Nâng cao

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.

Bài tóm tắt · Reddit · 2021 Trung bình

Evolving Reddit's ML Model Deployment and Serving Architecture

Hệ ML của Reddit (2021) phục vụ hàng nghìn request inference mỗi giây cho feed, video, push, email. Inference nằm trong Minsky, một service Thrift Python (baseplate.py) vốn phục vụ dữ liệu relevance (độ giống giữa…

Bài tóm tắt · Riot Games · 2021 Trung bình

The Legends of Runeterra CI/CD Pipeline

Legends of Runeterra (2021): monorepo Git LFS khoảng 100 GB, một triệu file, 270k commit, khoảng 700 nhánh; Jenkins với scripted pipeline (logic phức tạp viết bằng Python, Groovy chỉ làm keo). Build farm trên AWS: 100…

Bài tóm tắt · Slack · 2021 Trung bình

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ờ…

Bài tóm tắt · Slack · 2021 Trung bình

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.

Bài tóm tắt · SoundCloud · 2021 Dễ

Service Architecture at SoundCloud — Part 1: Backends for Frontends

Trước 2013, SoundCloud "tự ăn món mình nấu": một Public API duy nhất phục vụ cả app chính thức lẫn bên thứ ba.

Bài tóm tắt · SoundCloud · 2021 Trung bình

Service Architecture at SoundCloud — Part 3: Domain Gateways

Bài cuối của series 3 phần về tiến hoá kiến trúc service của SoundCloud. Phần 1: ; phần 2: . Theo phần tóm tắt trong bài, kiến trúc có ba tầng:

Bài tóm tắt · SoundCloud · 2021 Dễ

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.

Bài tóm tắt · SoundCloud · 2021 Trung bình

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.

Bài tóm tắt · Spotify · 2021 Dễ

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…

Bài tóm tắt · Stack Overflow · 2021 Dễ

Best practices can slow your application down

Stack Overflow ra đời trên stack Microsoft (.NET, C, SQL Server), mỗi server tốn thêm license, nên chiến lược từ đầu là scale up và làm code chạy thật nhanh để cần ít máy. Năm 2009: hai server thuê (một web, một DB),…

Bài tóm tắt · Stack Overflow · 2021 Dễ

Fulfilling the promise of CI/CD

Theo tác giả, ai cũng nói "CI/CD" nhưng thực ra chỉ làm CI; gần như không ai thực hành continuous deployment. Mục đích của CI vốn là dọn đường cho CD.

Bài tóm tắt · Stack Overflow · 2021 Trung bình

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…

Bài tóm tắt · Swiggy · 2021 Trung bình

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.

Bài tóm tắt · Trendyol · 2021 Dễ

PIT Mutation Testing on CI/CD Pipeline

Team Search của Trendyol (thương mại điện tử Thổ Nhĩ Kỳ) muốn tiến tới deploy một cú nhấp, nên pipeline CI/CD phải đủ tin cậy. Đang dùng code review và code coverage, nhưng coverage 100% vẫn có thể sai: test quên assert…

Bài tóm tắt · trivago · 2021 Trung bình

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…

Bài tóm tắt · trivago · 2021 Dễ

Postmortem: Removing all users from github.com/trivago

trivago áp dụng blameless postmortem từ 2019. Mọi nhân viên cần code, PR, CI hay tài liệu đều ở một GitHub organization; quyền vào được sync tự động từ một security group của Azure Active Directory (AAD) qua SAML SSO và…

Bài tóm tắt · Twitter · 2021 Dễ

How we rolled out security keys at Twitter

Sau incident bảo mật năm 2020 (bài nhắc tới, không kể chi tiết), Twitter đẩy nhanh dùng security key (FIDO/WebAuthn) cho nhân viên. Khác SMS hay OTP, security key phân biệt được trang thật và trang giả nên chặn được…

Bài tóm tắt · Two Sigma · 2021 Dễ

ADMIRE: A Product-Driven Approach to Automating Migrations

Đội Platform Engineering của Two Sigma chắc chắn phải làm migration (đổi DC, đổi container scheduler, đổi cloud), và phần lớn migration cần team khác làm việc; team nào cũng than "chẳng phải vừa xong đợt trước sao".

Bài tóm tắt · V8 (Google) · 2021 Nâng cao

Sparkplug — a non-optimizing JavaScript compiler

Từ 2016 V8 thôi theo benchmark tổng hợp (Octane) để đo hiệu năng thực tế; với phiên ngắn (tải trang web, công cụ dòng lệnh) phần lớn thời gian trôi qua trước khi compiler tối ưu TurboFan kịp chạy. Họ đã làm parser,…

Bài tóm tắt · Vercel · 2021 Trung bì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…

Bài tóm tắt · Vitess · 2021 Nâng cao

A new Protocol Buffers generator for Go

Mọi giao tiếp giữa các thành phần của Vitess đi qua gRPC, mọi message là Protobuf. Năm 2020 Google ra Go Protobuf APIv2, không tương thích APIv1. Vitess không vội nâng: việc lớn, không có lợi ích trực tiếp (không dùng…