ADMIRE: A Product-Driven Approach to Automating Migrations
Bài tóm tắt Two Sigma 2021 3. Quy mô lớn Độ khó: Dễ
Two Sigma · 2021 · 3. Quy mô lớn · Độ khó: Dễ — bài gốc
Bối cảnh
- Độ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".
- Cách cũ: giao cho project manager. Với dựng DC thì ổn; với loại khác thì thành họp lớn, họp phụ, bảng tính gửi qua lại với dữ liệu không rõ mới cũ, phạm vi không bao giờ chốt được, phụ thuộc mới lộ ra liên tục. Ai cũng mệt.
Thay đổi chính
- Bắt đầu với một migration (nâng cấp hệ điều hành): một đoạn code nhỏ chạy hằng ngày trên nguồn dữ liệu chuẩn (source of truth), liệt kê host nào còn phải sửa và ai sửa.
- Mở rộng thành hệ tự tạo một ticket Jira cho mỗi host, ghi rõ cần làm gì; sửa xong thì tự đóng; đóng nhầm khi host chưa nâng cấp thì tự mở lại kèm gợi ý. Lưu vào DB, vẽ dashboard tiến độ. Tên: ADMIRE (ADopt, MIgrate, REtire).
- Phần khó nhất: biết ai là chủ của tài nguyên (thông tin lệch giữa các loại, lỗi thời, chỉ có tên phòng ban hay tài khoản dùng chung). Dựng một web service dùng heuristic đoán chủ; service này được dùng khắp công ty.
- Sau migration đầu, chỉ mất vài giờ để thống nhất rằng dữ liệu đủ phạm vi và chính xác. Từ đó mọi migration là "ADMIRE migration": phạm vi định nghĩa bằng code, chạy bằng tự động.
- Đầu tư tiếp: ánh xạ phụ thuộc giữa task (chỉ mở ticket khi phụ thuộc đã xong), nhắc theo hạn do người dùng tự đặt thay vì nhắc liên tục.
Vì sao
- Theo Two Sigma, viết nội dung ticket ngắn gọn buộc họ thấy bước nào tự động hoá được; nhìn toàn bộ phạm vi trên dashboard cho thấy tài nguyên nào xoá tự động được. Ticket thành cơ chế phản hồi: đo quy mô (và gián tiếp chi phí) migration để quyết định đầu tư tự động hoá nền tảng.
- Project manager chuyển sang vai trò "đại sứ" migration: lập kế hoạch dài hạn, làm cầu nối phản hồi.
Bài học cho SWE
- Phạm vi migration phải là một truy vấn chạy được trên dữ liệu chuẩn, không phải một bảng tính.
- Dữ liệu ownership là hạ tầng; thiếu nó thì mọi migration đều chậm.
- Đếm việc người khác phải làm là cách đo chi phí của một nền tảng, và gợi ý chỗ cần tự động hoá.
Liên quan
#platform engineering#migration#project manager#spreadsheet#source of truth#OS upgrade#Jira automation#ownership service#dashboard#dependency mapping#reminders#ADMIRE
Được nhắc tới trong
Công ty (1)