Netflix a făcut un pas semnificativ înainte în domeniul orchestrării fluxurilor de lucru cu lansarea Maestro, un sistem de orchestrare a fluxurilor de lucru la scară largă, acum disponibil ca sursă deschisă. Maestro este proiectat pentru a gestiona fluxuri de lucru complexe, cum ar fi pipeline-urile de date și antrenarea modelelor de învățare automată, oferind o scalabilitate orizontală și suport pentru o varietate largă de cazuri de utilizare.
Ce este Maestro?
Maestro este un orchestrator de fluxuri de lucru general, care supraveghează întregul ciclu de viață al unui flux de lucru, de la început până la sfârșit. Acesta include gestionarea încercărilor, coada de așteptare, distribuția sarcinilor către motoarele de calcul și multe altele. Utilizatorii pot împacheta logica afacerii în diferite formate, cum ar fi imagini Docker, caiete de sarcini, scripturi bash, SQL, Python și altele. Spre deosebire de orchestratorii tradiționali de fluxuri de lucru care suportă doar grafuri aciclice direcționate (DAGs), Maestro suportă atât fluxuri de lucru aciclice, cât și ciclice, și include mai multe modele reutilizabile, cum ar fi buclele foreach, subfluxurile și ramurile condiționale.
Călătoria Netflix cu Maestro
De la prima introducere a Maestro într-o postare pe blog, Netflix a migrat cu succes sute de mii de fluxuri de lucru către acesta, cu o minimă întrerupere pentru utilizatori. Tranziția a fost lină, iar Maestro a îndeplinit obiectivele de design ale companiei, gestionând volumele de lucru în continuă creștere. În ultimul an, s-a observat o creștere remarcabilă de 87,5% în joburile executate, cu Maestro lansând mii de instanțe de fluxuri de lucru și rulând în medie jumătate de milion de joburi zilnic.
Scalabilitate și Versatilitate
Maestro oferă Workflow-as-a-Service pentru mii de utilizatori finali, aplicații și servicii la Netflix. Suportă o gamă largă de cazuri de utilizare pentru fluxuri de lucru, inclusiv pipeline-uri ETL, fluxuri de lucru ML, pipeline-uri pentru teste AB, pipeline-uri pentru mutarea datelor între diferite stocări și altele. Scalabilitatea orizontală a Maestro asigură că poate gestiona atât un număr mare de fluxuri de lucru, cât și un număr mare de joburi în cadrul unui singur flux de lucru.
Netflix invită comunitatea să se alăture acestei călătorii interesante explorând repository-ul Maestro GitHub și contribuind la dezvoltarea continuă a acestui proiect. Suportul și feedback-ul comunității sunt inestimabile în timp ce Netflix continuă să îmbunătățească proiectul Maestro.
Pentru mai multe informații și pentru a începe cu Maestro, vizitați repository-ul GitHub al proiectului.