
محرك سير عمل أصلي لـ Kubernetes
مجاني
Argo Workflows هو محرك سير عمل مفتوح المصدر ومصمم أصلاً للحاويات، مخصص لتنسيق المهام المتوازية على Kubernetes. على عكس أدوات سير العمل التقليدية التي تعمل كخوادم مركزية، يعمل Argo كـ Kubernetes controller، حيث ينفذ كل خطوة من سير العمل كـ pod مستقل. تتيح هذه البنية قابلية توسع هائلة، وتكاملاً أصلياً مع موارد Kubernetes (مثل Volumes وSecrets وRBAC)، والقدرة على التعامل مع DAGs المعقدة أو التسلسلات القائمة على الخطوات. إنه المعيار الصناعي لخطوط أنابيب CI/CD، وتدريب نماذج تعلم الآلة، ومهام معالجة البيانات التي تتطلب بيئات تنفيذ عالية الإنتاجية ومقاومة للأخطاء.
من خلال العمل كـ Custom Resource Definition (CRD) داخل Kubernetes، يستفيد Argo Workflows من إمكانيات المجموعة الأصلية. إنه يلغي الحاجة إلى خوادم سير عمل خارجية، مما يسمح لك بإدارة سير العمل باستخدام أوامر 'kubectl' القياسية. يضمن هذا التكامل أن ترث pods سير العمل سياسات الأمان والشبكات والتخزين الخاصة بالمجموعة، مما يوفر تجربة تشغيلية سلسة لفرق DevOps التي تدير بيئات حاويات معقدة.
يدعم Argo كلاً من الرسوم البيانية الموجهة غير الدورية (DAGs) وسير العمل المتسلسل القائم على الخطوات. تسمح DAGs بإدارة تبعيات معقدة حيث يتم تشغيل المهام بالتوازي بناءً على اكتمال العقد السابقة، بينما توفر سير العمل القائم على الخطوات تنفيذاً خطياً. تتيح هذه المرونة للمهندسين نمذجة كل شيء بدءاً من خطوط أنابيب CI/CD البسيطة وصولاً إلى خطوط أنابيب علوم البيانات المعقدة مع منطق التفرع، وإعادة المحاولة، ومسارات التنفيذ الشرطية.
يوفر Argo دعماً مدمجاً لنقل البيانات بين خطوات سير العمل باستخدام Artifacts. يتكامل مع S3 وGCS وArtifactory لتخزين واسترجاع المخرجات تلقائياً. هذا يلغي الحاجة إلى إدارة وحدات التخزين المشتركة أو قواعد البيانات الخارجية يدوياً للبيانات الوسيطة، حيث يتعامل المحرك مع دورة حياة هذه الـ Artifacts، مما يضمن توفر البيانات عبر العقد الموزعة في المجموعة.
نظراً لأن كل خطوة في سير العمل هي pod في Kubernetes، يمكن لـ Argo التوسع أفقياً عبر سعة المجموعة بأكملها. إنه قادر على تشغيل آلاف المهام المتزامنة، مما يجعله مثالياً لمعالجة الدفعات عالية الإنتاجية أو مهام تدريب ML واسعة النطاق. على عكس المحركات المركزية التي تواجه اختناقات في الأداء، يقوم Argo بتفريغ عبء الجدولة إلى مجدول Kubernetes، الذي تم اختباره ميدانياً للتعامل مع النطاقات الضخمة.
توفر واجهة المستخدم المدمجة القائمة على الويب تمثيلاً رسومياً في الوقت الفعلي لتنفيذ سير العمل. يمكن للمستخدمين تصور هيكل DAG، وفحص حالة الـ pods الفردية، وعرض السجلات، وإعادة تشغيل الخطوات الفاشلة مباشرة من المتصفح. تعد هذه الملاحظة أمراً بالغ الأهمية لاستكشاف أخطاء خطوط الأنابيب المعقدة وإصلاحها، حيث توفر رؤية فورية لمكان حدوث الفشل داخل عملية متعددة المراحل.
يستخدم علماء البيانات Argo لتنسيق دورات حياة ML من البداية إلى النهاية، بما في ذلك معالجة البيانات مسبقاً، وتدريب النماذج، والتقييم. من خلال تحديدها كـ DAG، يضمنون أن التدريب لا يبدأ إلا بعد اكتمال تنظيف البيانات، مما يؤدي إلى تجارب قابلة للتكرار ومؤتمتة.
يستخدم مهندسو DevOps أداة Argo لبناء واختبار ونشر التطبيقات المعتمدة على الحاويات. يسمح ذلك بخطوط أنابيب معقدة متعددة المراحل يمكنها تشغيل عمليات النشر عبر بيئات متعددة، مما يضمن دورات تسليم متسقة دون الاعتماد على مزودي CI الخارجيين (SaaS).
يستخدم مهندسو البيانات Argo لتشغيل مهام ETL واسعة النطاق. من خلال تقسيم مجموعات البيانات الضخمة إلى أجزاء أصغر تتم معالجتها في pods متوازية، فإنهم يقللون بشكل كبير من إجمالي وقت المعالجة مقارنة ببرامج الدفعات المتجانسة، مع الاستفادة من ميزة مقاومة الأخطاء المدمجة في Kubernetes.
يحتاجون إلى أتمتة مهام البنية التحتية وخطوط أنابيب CI/CD. يوفر لهم Argo طريقة قابلة للتوسع وتصريحية لإدارة هذه العمليات داخل مجموعات Kubernetes الحالية، مما يقلل من العبء التشغيلي.
يحتاجون إلى تنسيق قوي لخطوط أنابيب تدريب ML. يسمح لهم Argo بتحديد تبعيات معقدة ومتطلبات موارد لمهام الحوسبة الثقيلة، مما يضمن تشغيل التجارب بشكل موثوق على أجهزة المجموعة.
هم مسؤولون عن بناء منصات المطورين الداخلية. يعمل Argo كمحرك أساسي لعروضهم من نوع 'سير العمل كخدمة'، مما يوفر واجهة قياسية وقابلة للبرمجة للفرق الأخرى لتشغيل المهام.
مفتوح المصدر (رخصة Apache 2.0). مجاني تماماً للاستخدام، ويتم استضافته ذاتياً على بنية Kubernetes التحتية الخاصة بك.