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. 157 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 8.979 bài thuộc 133 công ty có trang riêng được hiển thị cho thành viên. 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 · 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 · 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 · 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 · Ele.me · 2020 Trung bình

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

DB đơn hàng: 1 primary MySQL + 5 secondary + 1 node cho MHA. Không chịu được tải đột biến: nếu phòng kinh doanh không báo trước khuyến mãi thì secondary sập và chỉ còn biết chuyển qua lại giữa các DB.

Bài tóm tắt · Ele.me · 2020 Dễ

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

Team giao dịch chưa từng có kỹ sư test; mọi thứ do R&D tự test bằng tay. Team framework cho rằng kỹ sư phải tự bảo đảm chất lượng. Tác giả thấy vậy là quá lý tưởng, nên chia vai: R&D chịu trách nhiệm chất lượng code, kỹ…

Bài tóm tắt · Ele.me · 2020 Dễ

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

2012: Zeus là một ứng dụng Python gom các module lõi (đơn hàng, user, nhà hàng) trong một repo, chạy trên cùng máy. Module đơn hàng EOS (Ele.me Order Service) có commit đầu tiên ngày 1/9/2012.

Bài tóm tắt · Fly.io · 2020 Dễ

Fly Behind The Scenes: Fresh Logging

Fly.io gom log của mọi app trên nền tảng (flyctl logs). Hệ cũ là 7 server Graylog lớn tập trung; với 20.000–30.000 log/giây, có lúc trong ngày không xử lý kịp và log bị rơi. Log tới user bằng cách poll API của Graylog.

Bài tóm tắt · Gojek · 2020 Dễ

How We Monitor Apache Airflow in Production

Đội Data Engineering của Gojek chạy hơn một nghìn pipeline trên Airflow (2020). Ngoài scheduler, webserver, worker, executor, họ có thêm tiến trình riêng: đồng bộ DAG từ GCS/git, đồng bộ biến Airflow tuỳ biến. Theo họ,…

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

Scaling Email Infrastructure for Medium Digest

Digest là email cá nhân hoá hằng ngày, phải tới 8–9 giờ sáng theo giờ địa phương. Gửi hàng triệu email/ngày; là một trong những tải nặng nhất.

Bài tóm tắt · Miro · 2020 Cơ bản

Managing hundreds of servers for load testing: autoscaling, custom monitoring, DevOps culture

Mỗi lần test dùng khoảng 100 server sinh tải và 150 server chạy service (2020); tất cả phải được tạo, cấu hình, khởi động, xoá.

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

Reliable load testing with regards to unexpected nuances

Khoảng đầu 2019, ở mốc 12.000 user online đồng thời, Miro bắt đầu dựng hạ tầng load test; ba tháng sau bản test đầu tiên ra đời, và đúng lúc đó production chạm giới hạn, sập hai giờ. Sự cố đẩy họ từ test thỉnh thoảng…

Bài tóm tắt · Miro · 2020 Dễ

Prometheus High Availability and Fault Tolerance Strategy, Long Term Storage with VictoriaMetrics

Theo Miro, Prometheus giỏi scrape và giữ metric ngắn hạn (phần lớn điều tra chỉ cần khoảng 10 ngày gần nhất), nhưng giữ lâu thì đắt vì cần đĩa nhanh, và HA không có sẵn kiểu cluster. Federation hợp để gom một phần…

Bài tóm tắt · Rust · 2020 Dễ

Rust's CI is moving to GitHub Actions

Rust muốn master luôn xanh, nên test và merge từng PR một: các PR đã duyệt xếp hàng trong bors. CI rộng: 57 máy build và test compiler trên mọi nền tảng hỗ trợ; trên hệ cũ (Azure Pipelines, VM 2 core) mỗi builder mất…

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

Acceptance Tests On CI Pipeline

Team test tính năng theo sprint rồi mới đưa lên production, nhưng việc giao hàng hay trễ vì lỗi do môi trường (môi trường test dùng chung, dependency thật), làm tăng Lead Time (một trong bốn chỉ số của sách Accelerate).

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

Making Order in CI/CD Mess

Khoảng 2011 (bài nói "9 năm trước"), Wix có 5 monolith backend, một project Flash và khoảng 50 developer; cả 5 monolith build trên một server TeamCity. Deploy là thủ công: tải artifact từ TeamCity, FTP lên production,…

Bài tóm tắt · Dream11 · 2019 Trung bình

Building Scalable Real Time Analytics, Alerting and Anomaly Detection Architecture at Dream11

Dream11 (2019): hơn 3 TB dữ liệu/ngày, hơn 10 triệu giao dịch/ngày, 2,8 triệu người đồng thời, hàng tỉ sự kiện clickstream/ngày.

Bài tóm tắt · Figma · 2019 Dễ

Under the hood of Figma's infrastructure

Bài của trưởng nhóm infra mới (7 tháng, trước đó ở Google và Dropbox). Mục đích: kể infra đang chuyển từ "đơn giản nhưng tốn công vận hành" của một startup sang hệ thống trưởng thành hơn.

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

The Consul outage that never happened

GitLab.com (2019): khoảng 4 triệu user, 12 triệu project, 271 server production, đội Infrastructure 20–24 kỹ sư rải khắp thế giới. Đang dần chuyển sang Consul cho service discovery; thành phần chính dựa vào Consul là…

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

6 Lessons we learned when debugging a scaling problem on GitLab.com

Khách hàng báo lỗi git pull qua SSH chập chờn, chủ yếu từ CI và job tự động: sshexchangeidentification: connection closed by remote host. Không tái hiện được, không thấy gì rõ trên graph hay log.

Bài tóm tắt · GoCardless · 2019 Khó

Debugging the Postgres query planner

Năm 2019, DB Postgres chính của GoCardless khoảng 2 TB. Bảng paymenttransitions (mỗi lần payment đổi trạng thái là một dòng, mô hình state machine bằng Statesman) có gần nửa tỉ dòng.

Bài tóm tắt · Lyft · 2019 Dễ

Amundsen — Lyft's data discovery & metadata engine

Ở Lyft, data scientist và research scientist lẽ ra dành phần lớn thời gian làm model và đưa lên production, nhưng mất nhiều thời gian cho tìm dữ liệu: dữ liệu có tồn tại không, ở đâu, đâu là nguồn sự thật, có quyền truy…

Bài tóm tắt · Postman · 2019 Cơ bản

Auditing AWS IAM for better security practices

Mỗi dịch vụ cloud mới đều có IAM riêng chỉ cần vài cú nhấp để cấp quyền; theo bài, nếu khả năng đánh giá và thu hồi quyền không tăng theo thì quyền thừa tích tụ thành rủi ro rò rỉ từ bên trong.

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

Implementation of a monitoring strategy for products based on microservices

Một sản phẩm Salesforce sắp GA, ghép từ nhiều microservice do nhiều team sở hữu. Câu hỏi đơn giản "sản phẩm có đang dùng được không?" nằm rải trong các service.

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

Why isn't all test automation run on the pipeline?

Unit test đã chạy trong mọi pipeline, nhưng test API, UI, tích hợp, module thường vẫn chạy tay trên laptop. Theo tác giả, lý do quy về ba thứ: giá trị (chưa ai tin đáng làm), kiến trúc (hệ không chia module) và khả thi…