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 · Instagram · 2017 Nâng cao

Dismissing Python Garbage Collection at Instagram

Web server Django chạy uWSGI ở chế độ pre-fork: process master fork ra hàng chục worker để chia sẻ bộ nhớ theo copy-on-write (CoW). Worker bị restart khi RSS vượt ngưỡng để tránh OOM.

Bài tóm tắt · LinkedIn · 2017 Khó

Building the Activity Graph, Part 2

FollowFeed index mọi Activity thành danh sách theo thời gian của từng actor, key là URN của actor. Bản ghi TimelineRecord phải nhỏ để index vừa RAM.

Bài tóm tắt · LinkedIn · 2017 Dễ

Couchbase Ecosystem at LinkedIn

LinkedIn dùng Couchbase từ 2012. Năm 2017: hơn 10 triệu query/giây, hơn 200 cluster (production, staging, corp), cluster 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,…

Bài tóm tắt · LinkedIn · 2017 Dễ

Open Sourcing Iris and Oncall

Trước 2015, kỹ sư NOC escalate incident 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 incident…

Bài tóm tắt · LinkedIn · 2017 Trung bình

Improving Resiliency and Stability of a Large-scale Monolithic API Service

Voyager-API: API layer cho web và mobile của LinkedIn, ra đời từ chiến lược "mobile-first". Hai nguyên tắc thiết kế:

Bài tóm tắt · LinkedIn · 2017 Trung bình

Resilience Engineering at LinkedIn with Project Waterbear

Càng nhiều microservice thì càng nhiều phụ thuộc, điểm hỏng và miền lỗi. Năm 2017 trang chủ phụ thuộc hơn 550 endpoint. SRE nhận "độ bền ứng dụng như một dịch vụ": đo, phân tích và đưa best practice cho chủ service.

Bài tóm tắt · LinkedIn · 2017 Khó

Building Venice with Apache Helix

LinkedIn có nhiều kho chuyên biệt với đánh đổi khác nhau (kho chỉ cần put/get nhanh, kho cần strong consistency và index). Theo bài, họ không viết mỗi kho từ đầu mà dùng thư viện chung; Helix (ra đời cho Espresso) lo…

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

Distributed tracing at Pinterest with new open source tools

Backend Pinterest (2017): hàng trăm microservice trên hàng chục nghìn máy; một request home feed có thể network call hàng trăm lần tới hàng chục service. Metric (OpenTSDB) và log (ELK) cho biết request chậm, không cho…

Bài tóm tắt · Riot Games · 2017 Dễ

The Evolution of Security at Riot

Khoảng 4 năm trước bài, đội bảo mật của Riot là đội "nói không": người gác cổng chặn việc giao tính năng, nên các team đi vòng qua. Thời gian bị nuốt vào ứng cứu incident; có incident công khai (mất dữ liệu từ database…

Bài tóm tắt · Salesforce · 2017 Trung bình

Our Journey to a Near Perfect Log Pipeline

Log của ứng dụng lõi Salesforce trong các data center phục vụ nhiều nhóm (Product Intelligence, Security, điều tra incident), nên phải tới "Secure Zone" gần như đầy đủ. Pipeline cũ (agent tự viết + LFTP + SAN) ngày càng…

Bài tóm tắt · Segment · 2017 Trung bình

The million dollar engineering problem

Cuối quý 3/2016: 2/3 giá vốn (COGS) của Segment là hoá đơn AWS.

Bài tóm tắt · Segment · 2017 Trung bình

A Brief History of the UUID (KSUID)

Bài giới thiệu KSUID, thư viện Go sinh ID của Segment. Phần lớn bài là lịch sử của UUID. Bối cảnh trực tiếp: một hệ thống nội bộ dùng UUIDv4, vài tuần sau phát sinh yêu cầu sắp ID theo thời gian để lưu log lên S3 theo…

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

Flannel: An Application-Level Edge Cache to Make Slack Scale

Slack thiết kế cho team vài trăm người: khi khởi động, client gọi rtm.start nhận toàn bộ snapshot của team (user, channel, thành viên, tin mới nhất, DM...) rồi mở WebSocket nhận event real-time.

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

Maximum Warp: Building Migrations for Slack Enterprise Grid

Mô hình dữ liệu Slack: mọi dữ liệu của một team nằm trên cùng một shard MySQL, băm theo ID 64-bit của team. Dàn tải tốt, nhưng khó với dữ liệu vượt ranh giới một team.

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

Scaling Slack's Job Queue

Job queue chạy mọi việc không làm kịp trong request web: mỗi tin nhắn, push notification, unfurl URL, nhắc lịch, tính tiền. Ngày bận nhất hơn 1,4 tỉ job, đỉnh 33.000 job/giây.

Bài tóm tắt · Slalom Build · 2017 Trung bình

Secret Management Architectures: Finding the balance between security and complexity

Nhiều team để secret dạng plain text trong code hoặc file cấu hình, chỉ dựa vào việc repo là private. Slalom đề nghị tự hỏi: nhân viên nghỉ thì rotate secret có dễ không, bị lộ thì mất bao lâu để khoanh vùng, có audit…

Bài tóm tắt · Stack Overflow · 2017 Khó

HTTPS on Stack Overflow: The End of a Long Road

22/5/2017: HTTPS thành mặc định trên Stack Overflow, site cuối cùng và lớn nhất của network; thao tác bật chỉ là một feature flag, nhưng chuẩn bị mất 4 năm (2013→2017).

Bài tóm tắt · Stripe · 2017 Dễ

Scaling your API with rate limiters

Thêm capacity chỉ đỡ được mấy lần tăng traffic đầu; API production còn phải chống một người dùng (vô tình hay cố ý) làm ảnh hưởng mọi người, ưu tiên request quan trọng hơn request ít quan trọng, và bỏ bớt request khi…

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

Kabootar — Swiggy's Communication Platform

Swiggy (giao đồ ăn, Ấn Độ) cần liên lạc với khách hàng, shipper, nhà hàng và nhân viên chăm sóc khách hàng qua push, SMS, email.

Bài tóm tắt · Twilio · 2017 Trung bình

Ratequeue: Core Queueing-And-Rate-Limiting System (chaos engineering cho failover)

Tin nhắn gửi đi của Twilio có thể bị rate limiting (quy định nhà mạng, hợp đồng, năng lực), nên mỗi sender ID có một queue tạm và được dequeue theo tốc độ cho phép.

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

Taming architecture complexity in V8 — the CodeStubAssembler

Builtin là các hàm có sẵn trong mọi chương trình JavaScript (Array.prototype....). V8 viết chúng theo hai cách, cả hai đều có giá:

Bài tóm tắt · Walmart · 2017 Trung bình

Avoid pitfalls in scaling your Cassandra cluster: lessons and remedies

Nhiều team ở Walmart dùng Cassandra làm nguồn dữ liệu chính, đọc ghi hàng chục tới hàng trăm nghìn ops/giây. Theo bài, để tới được đó họ phải "quên" nhiều mẹo của thế giới RDBMS và chấp nhận schema trông "lạ" nhưng…

Bài tóm tắt · Yahoo · 2017 Trung bình

Open Sourcing Screwdriver, Yahoo's Continuous Delivery Build System for Dynamic Infrastructure

Theo Yahoo, mọi sản phẩm đang hoạt động của họ đã deploy từ commit tới production hoàn toàn tự động (2017). Screwdriver là hệ build và release nội bộ đã dùng khoảng 5 năm, xử lý hơn 25.000 build/ngày và hơn 12.000…

Bài tóm tắt · Zillow · 2017 Dễ

Airflow at Zillow

Team Data Science and Engineering (DSE) chạy nhiều ETL; trước đó mỗi job là một service tự lên lịch riêng. Gặp Airflow năm 2016.