- ตัวประสานงานเวิร์กโฟลว์แบบอเนกประสงค์ที่ขยายระบบในแนวนอนได้ พร้อมให้บริการแบบ Workflow-as-a-Service (WAAS) ที่มีการจัดการเต็มรูปแบบ
- จัดการเวิร์กโฟลว์ขนาดใหญ่ เช่น data pipeline และ pipeline สำหรับการฝึกโมเดลแมชชีนเลิร์นนิง
- ดูแลตลอดทั้งวงจรชีวิตของเวิร์กโฟลว์ เช่น การ retry, คิวงาน และการกระจายงาน
- รองรับแพ็กเกจ business logic ได้หลายรูปแบบ (Docker image, notebook, bash script, SQL, Python ฯลฯ)
- รองรับทั้ง DAG (Directed Acyclic Graph) รวมถึงเวิร์กโฟลว์แบบไม่เป็นวงจรและแบบมีวงจร
- มีแพตเทิร์นที่นำกลับมาใช้ซ้ำได้หลายแบบ เช่น foreach loop, เวิร์กโฟลว์ย่อย และ conditional branching
- นิยาม orchestration ที่ยืดหยุ่นและทรงพลังในรูปแบบ JSON
- รักษาความสอดคล้องของคุณสมบัติสำคัญ (ผู้สร้าง, ข้อมูลเจ้าของ, การตั้งค่าการรัน)
- สร้างเวอร์ชันใหม่ทุกครั้งที่เวิร์กโฟลว์มีการเปลี่ยนแปลง ติดตามได้ และย้อนกลับได้ง่าย
- ผู้ใช้หลายพันคนของ Netflix ไม่ว่าจะเป็น data scientist, data engineer, machine learning engineer, software engineer, ผู้สร้างคอนเทนต์ และ business analyst กำลังใช้งานบริการนี้สำหรับ use case ที่หลากหลาย
- ตัวบริการมีมาแล้วตั้งแต่ 2 ปีก่อน และครั้งนี้ได้เปิดเป็นโอเพนซอร์ส
- รองรับกรณีใช้งานเวิร์กโฟลว์หลากหลาย เช่น ETL pipeline, ML workflow และ AB test pipeline
- ด้วยความสามารถในการขยายระบบแนวนอน จึงจัดการได้ทั้งเวิร์กโฟลว์จำนวนมากและงานจำนวนมากภายในแต่ละเวิร์กโฟลว์
- มีการตั้งเวลารันเวิร์กโฟลว์หลายแสนรายการและงานหลายล้านรายการทุกวัน และยังดำเนินงานภายใต้ SLO ที่เข้มงวดได้แม้ในช่วงที่ทราฟฟิกพุ่งสูง
- ย้ายเวิร์กโฟลว์เดิมหลายล้านรายการภายใน Netflix มายัง Maestro ได้สำเร็จโดยไม่เกิด downtime
- จำนวนงานที่รันในช่วง 1 ปีที่ผ่านมาเพิ่มขึ้น 87.5%
- โดยเฉลี่ยรันงานหลายแสนรายการต่อวัน และในวันที่หนาแน่นจะทำงานเสร็จได้ราว 2 ล้านรายการ
1 ความคิดเห็น
ดูเหมือนว่า AI จะช่วยสรุปบทเกริ่นนำที่เขียนไว้ตอนเปิดซอร์สครั้งนี้ให้แล้วนะครับ: Maestro: ตัวประสานเวิร์กโฟลว์ของ Netflix
แต่ชื่อ Maestro นี่มีเยอะเกินไปจริง ๆ ฮ่าๆ
Maestro - เคอร์เนลที่เข้ากันได้กับ Linux พัฒนาด้วย Rust
Maestro - เฟรมเวิร์กทดสอบ UI อัตโนมัติสำหรับแอปมือถือ