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. 351 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 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 · Wix · 2021 Trung bình

Wix Inbox Journey: 3 Approaches for Zero Downtime Database Migration

Wix có hơn 200 triệu user ở 190 nước. Ứng dụng chat của Wix Inbox (trong bộ CRM) chạy trên Cassandra tự quản lý trên EC2, dùng chung cho nhiều microservice.

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

How We Improved Website Performance by Evolving Our Infrastructure

Wix phục vụ hàng triệu site, nhiều site làm từ lâu và không ai sửa nữa; là môi trường quản lý nên phần lớn hiệu năng nằm trong tay nền tảng chứ không phải người dùng. Từ 6/2021 Google đưa page experience vào xếp hạng…

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

Moving Velo to Multiple Container Sites: The Why, The How and The Lessons Learned

Velo (trước gọi là Corvid) cho người dùng Wix viết code backend và frontend cho site. Nó được thiết kế rất rẻ để phục vụ hàng chục triệu khách nhỏ: mỗi site chạy trên một container. Khách lớn xuất hiện thì cần chạy…

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

The process: Implementing Yelp's failover strategy

Yelp phục vụ từ hai region AWS ở hai bờ nước Mỹ. Request chỉ đọc (phần lớn traffic) đi tới region gần nhất, có logic cân tải giữa hai bên.

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

Kafka on PaaSTA: Running Kafka on Kubernetes at Yelp (Part 1 - Architecture)

Kafka của Yelp nhận hàng chục tỷ message mỗi ngày (2021).

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

Working with PostgreSQL

Các database của Console (báo cáo, lịch sử giao dịch) tự host trên EC2: hàng trăm tỷ dòng, gần 20 TB, 4 node shard (2021). HA bằng failover replica đơn giản; backup bằng snapshot đĩa AWS.

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

Building an Effective Test Pipeline in a Service Oriented World

Airbnb đang chuyển từ một ứng dụng Rails khổng lồ sang SOA. Các luồng nghiệp vụ quan trọng từng nằm trong monorepo nay nằm ở nhiều service: REST + DB, Kafka producer/consumer, job hẹn giờ.

Bài tóm tắt · Asana · 2020 Trung bình

How we modified our infrastructure to deploy an EU data center

Khách hàng doanh nghiệp muốn chọn nơi đặt dữ liệu; Asana mở hạ tầng ở châu Âu (12/2019).

Bài tóm tắt · Atlassian · 2020 Trung bình

Automated testing: 5 lessons from Atlassian's Kubernetes team on testing infrastructure as code

Team KITT (Kubernetes Infrastructure Technology Team) vận hành hơn 22 cluster Kubernetes tự cấu hình (không dùng EKS/GKE vì lúc bắt đầu chúng chưa có hoặc thiếu tính năng), từ cluster dev nhỏ tới cluster production rất…

Bài tóm tắt · Bumble · 2020 Trung bình

Catching bugs on the client-side: how we developed our error tracking system

Bumble và Badoo có web (desktop, mobile) và app Android, iOS với hàng triệu người dùng. Web phát hành 1–2 lần mỗi ngày, app native khoảng một lần mỗi tuần; phân tích lỗi là một bước của mỗi lần phát hành: release…

Bài tóm tắt · CapitalOne · 2020 Trung bình

Active-Active Shared-Nothing Database Architecture

Một DB sập kéo theo nhiều service; CTO hỏi "năm 2020 rồi, sao không chạy DB active-active?". Bài giải thích vì sao active-active shared-nothing (AASN) ở tầng DB, tức là hai bản DB ở hai vùng, cùng nhận ghi, nhân bản hai…

Bài tóm tắt · CapitalOne · 2020 Trung bình

Terraform Poka-Yokes: Writing Effective, Scalable, Dynamic, and Error-Resistant Terraform

Tác giả hỗ trợ sáu team chạy hơn 75 microservice trên ECS; môi trường non-prod có ngày tới khoảng 100 lần deploy. Mục tiêu: hỗ trợ được nhiều team mà không cần thêm người theo tỉ lệ 1–1, và developer tự quản ứng dụng…

Bài tóm tắt · Discord · 2020 Trung bình

Why Discord is switching from Go to Rust

Service Read States ghi nhận kênh/tin nào mỗi user đã đọc. Nó nằm trên đường nóng: mỗi lần kết nối, gửi tin hoặc đọc tin đều gọi tới.

Bài tóm tắt · eBay · 2020 Trung bình

Prefetch Caching of Items at eBay

Phần lớn traffic vào trang item đến từ trang kết quả tìm kiếm. Những năm trước eBay đã prefetch ảnh item sau khi trang tìm kiếm tải xong. Lần này họ muốn phục vụ cả trang item từ cache khi user bấm vào từ kết quả tìm…

Bài tóm tắt · Ele.me · 2020 Trung bình

5-year Evolution of Ele.me's Transaction System - Part 4

Sau khi shard (đầu 2016), nút cổ chai dời từ DB sang Redis (khoảng 6/2016). Twemproxy và Codis gặp nhiều vấn đề, nên Ele.me tự viết proxy Redis corvus có đủ metric (bộ nhớ, kết nối, hit rate, số key). Code dùng Redis…

Bài tóm tắt · Ele.me · 2020 Trung bình

5-year Evolution of Ele.me's Transaction System - Part 5

Incident RabbitMQ: test hiệu năng cho thấy throughput ổn, nhưng thực tế CPU cao tới mức kích hoạt cơ chế tự bảo vệ của RabbitMQ, chặn producer. Gốc nằm ở client RabbitMQ do một phòng khác tự đóng gói, dùng sai chế độ…

Bài tóm tắt · Expedia · 2020 Trung bình

Autoscaling in Kubernetes: Why doesn't the Horizontal Pod Autoscaler work for me?

Chủ ứng dụng ở Expedia bật HPA theo tài liệu (ví dụ: scale khi CPU trung bình quá 80%) rồi thấy nó "không chạy". Series đặt bốn tiêu chí cho autoscaling: reliability, efficiency, responsiveness, resilience; bài này chỉ…

Bài tóm tắt · Figma · 2020 Trung bình

Inside Figma: a case study on strict null checks

Figma dùng TypeScript từ trước bản 2.0 (khi strictNullChecks ra đời); code mới vẫn không nhất thiết qua được cờ này. Bật cờ trên frontend khoảng 1.162 file sinh hơn 4.000 lỗi, sửa một lỗi thường lộ thêm lỗi khác.

Bài tóm tắt · GitLab · 2020 Trung bình

How we scaled async workload processing at GitLab.com using Sidekiq

GitLab (Rails) xử lý việc nền bằng Sidekiq trên Redis. Lịch sử: 2013 mỗi worker class một queue, không ai quản; 2016 gom theo tính năng; 2017 lại mỗi worker class một queue, gom thành nhóm realtime, asap, besteffort để…

Bài tóm tắt · GoCardless · 2020 Trung bình

Fear-free PostgreSQL migrations for Rails

Postgres là database mặc định của GoCardless, đứng sau monolith API chính (Rails). Schema đổi qua migration của Rails.

Bài tóm tắt · GoCardless · 2020 Trung bình

Incident review: Service outage on 25 October 2020

GoCardless quản lý secret bằng HashiCorp Vault chạy trên Kubernetes: kỹ sư tự ghi secret (không đọc được), ứng dụng chỉ đọc secret của chính nó theo service account. Vault là phụ thuộc của gần như mọi service production.

Bài tóm tắt · Gojek · 2020 Trung bình

How We Upgrade Kubernetes on GKE

Kubernetes ra một bản minor mỗi quý; team Engineering Platform của Gojek phải theo kịp trên nhiều cluster GKE.

Bài tóm tắt · Google · 2020 Trung bình

Three months, 30x demand: How we scaled Google Meet during COVID-19

Từ 17/2/2020, SRE của Meet nhận page về năng lực theo region (alert kiểu triệu chứng: "quá nhiều task lỗi", "cắt tải quá nhiều"), bắt đầu ở châu Á rồi Ý. Dùng lượng tăng 30 lần trong khoảng ba tháng; lúc kết thúc có hơn…

Bài tóm tắt · Disney Hotstar · 2020 Trung bình

GoCD on Kubernetes

Mục tiêu của Platform Team ở Hotstar: tự động hoá mọi bước can thiệp tay trong deploy, từ lúc merge vào trunk tới production. Muốn vậy, không chỉ code mà cả script deploy, hạ tầng, cấu hình ứng dụng đều phải được…