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 đó.
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.
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.
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).
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.
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ừ…
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…
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.
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.
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.
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.
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.
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…
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.
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.
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…
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.
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).
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.
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.
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:…
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ó.
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…
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.
Stack Overflow: The Architecture - 2016 Edition
Số liệu một ngày (9/2/2016):