Solving manageability challenges at scale with Nuage
Bài tóm tắt LinkedIn 2019 3. Quy mô lớn Độ khó: Trung bình
LinkedIn · 2019 · 3. Quy mô lớn · Độ khó: Trung bình — bài gốc
Bối cảnh
- Mỗi tính năng dùng nhiều hạ tầng: Espresso, Galene, Kafka, Bulkhead (quota), Helix, Fuse (chống lạm dụng), Couchbase, Ambry (blob), Pinot, Samza, Pro-ML, Brooklin, Venice. Mục tiêu "hạ tầng vô hình": team sản phẩm tự tạo và quản lý tài nguyên mà không phải hiểu từng hệ.
- Nuage là cổng quản lý chung (giới thiệu lần đầu năm 2018), năm 2019 quản hơn 15 hệ lớn.
Thay đổi chính
- Platform hoá: không viết riêng cho từng hệ; mỗi hệ tích hợp bằng một template ứng dụng + SDK module cắm vào được, chỉ tuỳ biến khi thật cần (ví dụ bước cần duyệt tay).
- Tập trung → phân tán: bắt đầu tập trung khi chỉ hỗ trợ một hệ; lỗi một thành phần kéo cả hệ. Chuyển sang các microservice quản lý, chỉ gọi hệ phía dưới khi cần.
- Bị động → chủ động: thu số liệu realtime để dự đoán khủng hoảng capacity, phát hiện DB có hot partition trước khi bị throttle, tự chỉnh capacity, dự đoán khi nào mở rộng cụm, dự đoán tác động khi đổi quota phía trên.
- Tự động hoá quy trình nhiều hệ: ví dụ xoá một DB: chặn ghi, pause mọi CDC stream, báo consumer phía dưới, thu hồi quyền, chờ một thời gian, rồi mới xoá cứng online lẫn offline (trước đây mất vài tuần làm tay).
- Tính năng chung cho mọi hệ:
- Provisioning: chọn cụm (mặc định best fit, tuỳ biến theo hệ).
- ACL bắt buộc khi tạo tài nguyên; ai muốn truy cập thì Nuage mở review cho chủ tài nguyên, tài nguyên quan trọng qua cả đội Security; luật được router của từng hệ poll để thực thi.
- Workflow dài (vài phút tới vài ngày) chạy trên Helix Task Framework dạng DAG.
- Quota: cấu hình qua Nuage, thư viện thực thi chạy trong router/app server, cache quota, nhận cập nhật tức thì qua ZooKeeper; throttle theo số request hoặc chi phí request.
- Đo mức dùng tài nguyên để tính cost-to-serve, headroom, đề xuất tăng giảm capacity.
Vì sao
- Mỗi hệ một cổng quản lý riêng không scale theo số hệ và số team; một lớp quản lý chung cho phép áp chính sách (bảo mật, quota, xoá dữ liệu) đồng nhất.
Bài học cho SWE
- Hạ tầng self-service cần cả vòng đời tài nguyên (tạo, quyền, quota, xoá), không chỉ nút "tạo".
- Xoá dữ liệu là workflow nhiều bước có thời gian chờ cho consumer, không phải một lệnh.
- Quota định nghĩa tập trung nhưng thực thi tại chỗ trong thư viện, cập nhật qua kênh push.
Liên quan
Nền tảng nội bộ cho service (đường ray chung)Multi-tenancy và cô lập tenantTự động hoá vận hành và auto-remediation
#Nuage#self-service infra management#Espresso#Kafka#Venice#Pinot#Samza#Brooklin#Ambry#platformization#SDK template#centralized → decentralized#reactive → proactive#Helix Task Framework
Được nhắc tới trong
Chủ đề (3)
Công ty (1)
Bài tóm tắt (2)