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. 51 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 đó.
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).
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.
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…
Building a High-Throughput Metrics System Using Open Source Software
Two Sigma xây nền tảng cho "nghiên cứu dạng hội thoại". Một nền tảng dữ liệu hiệu năng cao trả kết quả truy vấn của researcher (ví dụ "dataset x từ 2000 tới 2019, lấy log mọi giá trị"), tới 50.000 query/giây và 1,85…
Member Transaction History: Data Store Selection Journey
Member Transaction History (MTH) là lớp đọc đa kênh cho đơn hàng của club (Sam's Club) và online: nguồn sự thật duy nhất để tra cứu và sửa đơn, với một mô hình đơn hàng chuẩn.
Preventing Rogue Cookies with the Zillow Cookie Checker
Từ 2018 Zillow dọn cookie và nâng banner tuỳ chọn cookie: người dùng tắt cookie quảng cáo/chức năng thì không trang nào được tạo các cookie đó. Cookie đến từ tag trong Google Tag Manager và từ code của Zillow.
Federated GraphQL Server at Scale: Zillow Rental Manager Real-time Chat Application
Zillow Rental Manager (ZRM): chủ nhà xem được tin nhắn của người thuê nhưng không trả lời được trong app; trước đó trao đổi qua email.
Using API Gateway for Authorization and Authentication
Yêu cầu duy nhất: phải có xác thực/phân quyền và không được "tĩnh" (username/password cứng gửi kèm mọi request). Đã cân nhắc Passport (phổ biến với NodeJS) và tự viết (tác giả từng làm ở dự án khác và khuyên đừng làm).
Saving Millions : Leveraging EC2 Spots at scale
Spot instance là capacity EC2 chưa dùng, giá thấp hơn On-Demand nhiều, đổi lại có thể bị thu hồi. Cuối 2017 AWS đổi cơ chế: giá mượt hơn, không cần đấu giá, giá tối đa chặn ở mức On-Demand, ít bị thu hồi hơn.
Splitting a Monitoring Monolith into Separate Components
Team Website-Performance có một ứng dụng PHP nguyên khối (Symfony, Orchestra) kéo metric từ API của các CDN (ChinaCache, Edgecast…) và vài dịch vụ khác, đẩy vào InfluxDB qua Graphite. Code nhiều phụ thuộc chéo giữa các…
How we build a robust analytics platform using Spark, Kafka and Cassandra
Người dùng nghiệp vụ cần dashboard mức độ còn hàng (item availability) tổng hợp ở các địa điểm then chốt, không theo dõi được từng SKU.
Debugging Production with Event Logging
Trang tìm căn hộ: khi lưu một bản ghi vào SQL, các thuộc tính tìm kiếm được index vào Elasticsearch; search chạy trên Elasticsearch, rồi lấy bản ghi đầy đủ từ SQL theo ID.
Driving Southeast Asia Forward with AWS
Đây là bài nói của VP Engineering tại một sự kiện AWS, nên mang tính giới thiệu và quảng bá nhiều hơn kỹ thuật.
Scaling your API with rate limiters
Thêm capacity chỉ đỡ được mấy lần tăng traffic đầu; API production còn phải chống một người dùng (vô tình hay cố ý) làm ảnh hưởng mọi người, ưu tiên request quan trọng hơn request ít quan trọng, và bỏ bớt request khi…
Airflow at Zillow
Team Data Science and Engineering (DSE) chạy nhiều ETL; trước đó mỗi job là một service tự lên lịch riêng. Gặp Airflow năm 2016.
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.
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.
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.
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ó.
How we moved our Food Feed from Redis to Cassandra
Food Feed là một phần của social graph: review, ảnh của bạn bè, ưu đãi từ nhà hàng đã lưu. Ban đầu chạy trên Redis, theo Zomato là lựa chọn tốt nhất lúc đó.
Service-Oriented Architecture: Scaling the Uber Engineering Codebase As We Grow
Uber bắt đầu bằng một monolith cho một sản phẩm (UberBLACK) ở một thành phố (San Francisco). Lúc đầu để mọi logic một chỗ là hợp lý.
Improving Homepage Performance
Làm lại trang chủ Zillow (2015, do một thực tập sinh làm). Chỉ số hiệu năng chọn theo cảm nhận: một mốc User Timing khi ảnh hero vẽ xong.
Bigger, Faster, and More Engaging while on a Budget
Công cụ hiệu năng web của Zillow năm 2015: RUM tự làm đưa vào Splunk, một WebPageTest nội bộ chạy hằng ngày trên môi trường test, và thêm SpeedCurve.