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 đó.
From Native to React Native to Flutter
Kite là nền tảng giao dịch chính của Zerodha. Ban đầu chỉ có web; 2015 một developer duy nhất viết app Android native; iOS (khoảng 10% người dùng) chỉ là webview bọc web app.
Business-Driven Upgrade of Alibaba Group: The Evolution of Dubbo 3.0
Cuối 2020 Alibaba đặt mục tiêu hợp nhất công nghệ nội bộ, mã nguồn mở và sản phẩm thương mại. Bên trong dùng framework RPC HSF (đã qua nhiều mùa Double 11), bên ngoài là Dubbo mã nguồn mở. Dubbo 3.0 là bản hợp nhất hai…
The history of Amazon's forecasting algorithm
Forecast nhu cầu cho hơn 400 triệu sản phẩm ở hơn 185 nước để quyết định tồn kho; đội forecast từ 10 người không có nhà khoa học lên gần 200 người (2021).
Moving to DynamoDB to Increase Application Resiliency
Một team ở Capital One chạy stack active-active ở hai region AWS (East, West), service tự failover gần như tức thì, trừ PostgreSQL: primary ở một region, read replica ở region kia, promote mất 10–15 phút.
Atlas: Our journey from a Python monolith to a managed platform
Metaserver, monolith Python từ 2007, hơn 3 triệu dòng; khoảng một nửa commit vào repo server sửa nó. Mô hình "hệ mặt trời": tính năng sản phẩm nằm trong monolith, các thành phần nền (xác thực, metadata, filesystem,…
Pitfalls and Patterns in Microservice Dependency Management
Lộ trình chung: một binary → nhân bản ở nhiều vùng → tách thành microservice (API, Auth, Control, Data, Ops) giao tiếp qua mạng → một phần chạy trên cloud. Mạng trở thành một phần của sản phẩm.
Evolving Reddit's ML Model Deployment and Serving Architecture
Hệ ML của Reddit (2021) phục vụ hàng nghìn request inference mỗi giây cho feed, video, push, email. Inference nằm trong Minsky, một service Thrift Python (baseplate.py) vốn phục vụ dữ liệu relevance (độ giống giữa…
Service Architecture at SoundCloud — Part 3: Domain Gateways
Bài cuối của series 3 phần về tiến hoá kiến trúc service của SoundCloud. Phần 1: ; phần 2: . Theo phần tóm tắt trong bài, kiến trúc có ba tầng:
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),…
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…
Sparkplug — a non-optimizing JavaScript compiler
Từ 2016 V8 thôi theo benchmark tổng hợp (Octane) để đo hiệu năng thực tế; với phiên ngắn (tải trang web, công cụ dòng lệnh) phần lớn thời gian trôi qua trước khi compiler tối ưu TurboFan kịp chạy. Họ đã làm parser,…
A new Protocol Buffers generator for Go
Mọi giao tiếp giữa các thành phần của Vitess đi qua gRPC, mọi message là Protobuf. Năm 2020 Google ra Go Protobuf APIv2, không tương thích APIv1. Vitess không vội nâng: việc lớn, không có lợi ích trực tiếp (không dùng…
How WhatsApp enables multi-device capability
Trước 2021, WhatsApp Web, macOS, Windows, Portal chỉ là gương của điện thoại: điện thoại là nguồn sự thật cho mọi dữ liệu và là thiết bị duy nhất mã hoá tin gửi người khác hay bắt đầu cuộc gọi; thiết bị phụ giữ kết nối…
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.
How we migrated Dropbox from Nginx to Envoy
Hạ tầng traffic dựa trên Nginx gần mười năm: hàng chục triệu kết nối mở, hàng triệu request/giây, hàng terabit băng thông. Cấu hình phần lớn tĩnh, sinh bằng Python 2 + Jinja2 + YAML (cả ba đều cho logic, không có mô…
5-year Evolution of Ele.me's Transaction System - Part 6
Tách giao dịch thuận và nghịch (giữa 2016): giao dịch nghịch (hoàn, huỷ, khiếu nại) chỉ chiếm khoảng 1% đơn nhưng logic phân nhánh phức tạp hơn nhiều. Giao dịch thuận cần hiệu năng, đồng thời, ổn định. Hai bên khác nhau…
From 48k lines of code to 10: the story of GitHub's JavaScript SDK
@octokit/rest khởi đầu là package cộng đồng github (commit đầu 6/2010, thời Node v0.1). Năm 2017 GitHub nhận nó làm SDK chính thức cho REST API, chạy cả Node lẫn trình duyệt; lúc đó khoảng 16.000 dòng, lõi là…
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ờ.
Making the LinkedIn experimentation engine 20x faster
Mọi release ở LinkedIn đều qua thí nghiệm. Năm 2020 nền tảng: tới 800.000 QPS, khoảng 35.000 thí nghiệm chạy cùng lúc, tới 23 nghìn tỷ lượt evaluate/ngày, latency trung bình 700 ns (p99 3 µs), dùng trong khoảng 500…
DataHub: Popular metadata architectures explained
Tác giả từng xây Espresso, Databus, Kafka; khi sang team hạ tầng analytics (Hadoop) thấy người ta hỏi nhau "dataset nào đúng" suốt: lưu trữ và tính toán đã scale nhưng tìm dữ liệu thì chưa.
Rebuilding our tech stack for the new Facebook.com
Facebook.com ra đời năm 2004 là một website PHP render ở server. Qua nhiều năm, từng lớp công nghệ được thêm vào cho tính năng tương tác; mỗi lớp làm site chậm thêm một chút và khó bảo trì hơn, đến mức tính năng như…
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…
Introducing Domain-Oriented Microservice Architecture
Uber có khoảng 2.200 microservice quan trọng (2020).
Incrementally migrating over one million lines of code from Python 2 to Python 3
App desktop Dropbox hơn 1 triệu dòng Python. Hack Week 2015 chạy được đăng nhập + sync trên Python 3 nhưng nhiều tính năng hỏng, phần lớn code bị bỏ. Hack Week 2016: port fork Python lên 3.5, nâng/fork dependency, thêm…