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 · Zillow · 2017 Dễ

Save Money with EMR Auto Scaling and Spot Instances

Hàng trăm job ETL batch (Spark, Hive, Sqoop) mỗi ngày, khối lượng đổi theo giờ; có lúc một mẻ tới 10 TB.

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

The static-all Split - Dividing Zillow's JavaScript Monolith Repository

Năm 2012, dự án "The Great Schism" tách mọi tài nguyên tĩnh (JS, CSS, ảnh, template) khỏi ứng dụng monolith Java vào một repo tên static-all.

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

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

Bài tóm tắt · Airbnb · 2016 Trung bình

Unlocking Horizontal Scalability in Our Web Serving Tier

Monolith Rails chạy trên nhiều web server, nói chuyện với vài service Java; dữ liệu lõi trong MySQL trên RDS, đã tách database theo chức năng năm 2015.

Bài tóm tắt · Airbnb · 2016 Nâng cao

Nebula as a Storage Platform to Build Airbnb's Search Backends

2015: dữ liệu cá nhân hoá cho search vượt sức một máy. Thay vì chỉ làm lại service đó, Airbnb xây nền tảng chung vì thấy nhiều service sẽ cần cùng thứ: phục vụ latency ms cho traffic site, nhận cập nhật realtime từ…

Bài tóm tắt · Allegro · 2016 Dễ

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…

Bài tóm tắt · Booking.com · 2016 Khó

Evaluating MySQL Parallel Replication Part 4: More Benchmarks in Production

Phần 3 đo parallel replication kiểu "bảo thủ" (MariaDB 10.0): master đánh dấu transaction nào song song được, slave chỉ chạy song song những cái đó. Kết quả chỉ 1,3 đến 2,1 lần.

Bài tóm tắt · Dropbox · 2016 Nâng cao

Scaling to exabytes and beyond (Magic Pocket)

Dropbox luôn là hybrid cloud: metadata và web server ở data center riêng, nội dung file trên Amazon S3. Họ là khách hàng sớm của S3 và nói thẳng là không thể lớn nhanh như vậy nếu không có AWS.

Bài tóm tắt · Expedia · 2016 Dễ

AWS Lessons Learned for Data Processing Pipelines

Khoảng 2015, team Media Services của Expedia chuyển pipeline xử lý ảnh (nhận ảnh từ khách sạn và nhà cung cấp, tối ưu, phân phối cho các site) từ một hệ batch cũ sang pipeline dựa trên queue trên AWS.

Bài tóm tắt · Grab · 2016 Trung bình

This Rocket Ain't Stopping - Achieving Zero Downtime for Rails to Golang API Migration

Grab đang chuyển từ Rails + NodeJS sang kiến trúc service toàn Go. Một phần mục tiêu là về tổ chức: chuyển các kỹ sư Rails sang các team Go, chung một codebase.

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

FollowFeed: LinkedIn's Feed Made Faster and Smarter

Mọi trải nghiệm feed của LinkedIn chạy trên một hạ tầng chung. Trước đó là Sensei: hệ search phân tán trên Lucene, query viết bằng BQL gồm cả lọc lẫn relevance, broker fan-out tới mọi searcher node rồi gộp top N.

Bài tóm tắt · Medium · 2016 Dễ

Medium’s DynamoDB Data Source for Apache Spark

Năm 2016, dữ liệu production của Medium nằm trên DynamoDB, còn xử lý dữ liệu phía sau dùng Spark. Data warehouse cần một đường đưa dữ liệu từ DynamoDB sang Spark nhanh và tin cậy. Theo tác giả, nhiều công ty có cặp này…

Bài tóm tắt · Medium · 2016 Dễ

The Stack That Helped Medium Drive 2.6 Millennia of Reading Time

Khoảng 25 triệu người đọc mỗi tháng, hàng chục nghìn bài mỗi tuần, tổng 1,4 tỉ phút đọc.

Bài tóm tắt · Netflix · 2016 Trung bình

Netflix Billing Migration to AWS

Billing là mảnh cuối cùng của Netflix còn ở data center khi cả streaming đã lên AWS (). Ngày 4/1/2016, ngay trước đợt mở rộng ra 130 nước mới, billing chạy 100% trên AWS.

Bài tóm tắt · Netflix · 2016 Trung bình

Netflix Billing Migration to AWS — Part II

Trước dự án: 2 Oracle trong DC (subscription; hoá đơn/thanh toán), vài app REST làm CRUD cho website và CSKH, 3 batch (gia hạn hằng ngày, xử lý order và payment, báo cáo doanh thu), một Billing Proxy trên cloud chuyển…

Bài tóm tắt · Netflix · 2016 Khó

Netflix Billing Migration to AWS — Part III

Mảnh cuối: database billing giao dịch, khoảng 10 TB (2016), dữ liệu đổi liên tục, chỉ chuyển một phần dataset, khác phần cứng, khác OS, khác hệ quản trị (Oracle → ?), giữa DC và AWS.

Bài tóm tắt · Netflix · 2016 Dễ

Completing the Netflix Cloud Migration

8/2008: database bị hỏng dữ liệu nghiêm trọng, 3 ngày không gửi được DVD. Netflix kết luận phải rời các single point of failure scale dọc (DB quan hệ trong data center) để sang hệ phân tán, scale ngang trên cloud (AWS).

Bài tóm tắt · Netflix · 2016 Trung bình

Netflix Conductor: A microservices orchestrator

Content Platform Engineering chạy các quy trình nghiệp vụ bất đồng bộ trải qua nhiều microservice, có cái kéo dài nhiều ngày: nhận nội dung từ studio, ingest IMF, dựng title mới, encode và đẩy lên CDN.

Bài tóm tắt · Quora · 2016 Trung bình

Ensuring Quora's Resilience to Disaster

Quora backup hằng ngày mọi kho dữ liệu gốc (MySQL, HBase, Redis, feed service) và nhân bản tới nhiều nơi.

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

Running an automated test pipeline for the League client update

Client cũ của League of Legends viết bằng Adobe AIR, có những lỗi lọt ra người chơi. Client mới (League client update) gồm frontend dựa trên Chromium và backend C++ cung cấp REST và websocket, nên tự động hoá được:…

Bài tóm tắt · Slack · 2016 Dễ

Taking PHP Seriously

Slack viết phần lớn logic server bằng PHP. Đây là lựa chọn lạ vào năm 2016, dù Facebook, Wikipedia, WordPress, Etsy… đều thành công với nó.

Bài tóm tắt · Slalom Build · 2016 Dễ

The Lego Monolith — A Monolith Microservice Proof of Concept

Năm 2016, microservices đang được nói nhiều. Theo tác giả, muốn làm microservices đầy đủ thì tổ chức phải "đủ cao" trước: cấp máy nhanh (tốt nhất là cloud), monitoring đủ trưởng thành cho tracing tương quan, circuit…

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

Lessons in resilience at SoundCloud

Phần lớn service của SoundCloud nói chuyện bằng JSON qua HTTP trên Finagle, nên khả năng chịu lỗi ở tầng này quyết định uptime.

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

Stack Overflow: The Architecture - 2016 Edition

Số liệu một ngày (9/2/2016):