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. 164 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 đó.
Triggered: Incident #1234 (incident process needs fixing)
Khối phát triển sản phẩm gồm các team đa chức năng, tự chủ cao, sở hữu tính năng từ frontend đến deploy. Mặt trái: mỗi team có văn hoá và cách làm riêng, không có cơ quan trung tâm quy định quy trình.
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.
Building a Healthy On-Call Culture
Ở SoundCloud, không chỉ DevOps/SRE mà nhiều engineer sản phẩm trực on-call. Bài mô tả cách tổ chức đã đúc kết qua thử sai.
Designing a Better Kubernetes Experience for Developers
Theo Spotify, lúc đầu người dựng cluster Kubernetes cũng là người sở hữu service chạy trên nó. Khi Kubernetes phổ biến, tổ chức tách ra team hạ tầng dựng và giữ cluster (thường nhiều region để giảm latency), còn team…
Best practices can slow your application down
Stack Overflow ra đời trên stack Microsoft (.NET, C, SQL Server), mỗi server tốn thêm license, nên chiến lược từ đầu là scale up và làm code chạy thật nhanh để cần ít máy. Năm 2009: hai server thuê (một web, một DB),…
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.
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…
Postmortem: Removing all users from github.com/trivago
trivago áp dụng blameless postmortem từ 2019. Mọi nhân viên cần code, PR, CI hay tài liệu đều ở một GitHub organization; quyền vào được đồng bộ tự động từ một security group của Azure Active Directory (AAD) qua SAML SSO…
How we rolled out security keys at Twitter
Sau sự cố bảo mật năm 2020 (bài nhắc tới, không kể chi tiết), Twitter đẩy nhanh dùng security key (FIDO/WebAuthn) cho nhân viên. Khác SMS hay OTP, security key phân biệt được trang thật và trang giả nên chặn được…
ADMIRE: A Product-Driven Approach to Automating Migrations
Đội Platform Engineering của Two Sigma chắc chắn phải làm migration (đổi DC, đổi container scheduler, đổi cloud), và phần lớn migration cần team khác làm việc; team nào cũng than "chẳng phải vừa xong đợt trước sao".
Parallel Run Pattern - A Migration Technique in Microservices Architecture
Ở Zalando microservices là chuẩn, nhưng theo bài: "microservice hôm qua thành monolith hôm nay". Team Returns phải tách logic trả hàng ra khỏi một monolith sắp thành legacy.
Scaling with common sense #2: Being future ready
Trong khoảng một năm (2020–2021), số khách tăng hơn 3 lần do thị trường vốn bùng nổ, trong khi 10 năm trước đó tăng chậm và đều. Theo Zerodha, họ thích ứng được nhờ các nguyên tắc "lẽ thường" chứ không nhờ dự đoán trước.
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ỹ…
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.
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.
How we built Status Page
Sự cố của GitLab.com được xử lý trong issue của một project công khai; người trực tự đăng cập nhật lên status.gitlab.com mỗi 15 phút. Người xử lý mất thời gian đổi công cụ và chép lại thông tin.
How we optimized infrastructure spend at GitLab
GitLab.com chạy trên GCP. Họ muốn kiểm soát chi phí cloud mà vẫn ra tính năng, theo hướng dữ liệu: mục tiêu là mọi thay đổi chi phí đều được hiểu, không còn bất ngờ.
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ọ,…
Journey from EC2 to Containers
Đỉnh user đồng thời: ~4,7 triệu (2017), ~10,3 triệu (IPL 2018).
Infrastructure Security as a product for Hotstar
Engineer Hotstar tự vận hành thứ mình xây, deploy qua AWS Console, manifest Kubernetes hay Terraform. Đội security mới lập được vài tháng (cuối 2019), trước mùa cricket lớn.
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…
Keeping Customers Streaming — The Centralized Site Reliability Practice at Netflix
Netflix theo mô hình service ownership ("full cycle developer"): team vận hành cái mình xây; phần lớn lỗi được team sở hữu bắt trước khi khách thấy.
Ready for changes with Hexagonal Architecture
Studio Engineering của Netflix có nhiều app phục vụ sản xuất phim (mua kịch bản, đàm phán, lịch quay...). Một app đời đầu là monolith: phát triển nhanh khi chưa ai hiểu miền nghiệp vụ; có lúc hơn 30 developer và hơn 300…
The Great K8S Migration
Reddit 15 tuổi (2020): nhiều kỹ sư hơn thì nhiều deploy hơn và codebase phức tạp hơn. Họ gom hạ tầng về một chuẩn trên Kubernetes để service owner chỉ lo service của mình.