جربت الأداة التي تحاول الإطاحة بـ Apache Airflow (Kestra)

BBetter Stack
컴퓨터/소프트웨어창업/스타트업AI/미래기술

스크립트

00:00:00هذه هي Kestra، شركة ناشئة جمعت مؤخراً 25 مليون دولار بناءً على وعد واحد فقط،
00:00:06وهو القضاء على Apache Airflow. وخدعتهم تبدو مهينة تقريباً من شدة بساطتها.
00:00:12عليك التوقف عن كتابة خطوط أنابيب البيانات بلغة بايثون، والبدء بكتابتها بلغة YAML.
00:00:17ابقَ معي، لأن هذا الأمر أكبر مما يبدو عليه.
00:00:21دعني أوضح لك كيف يعمل كل هذا في الدقائق القليلة القادمة.
00:00:29الآن، تخيل سلسلة من الوظائف التي يجب تنفيذها بالترتيب. سحب بعض البيانات، تنظيفها،
00:00:35تحميلها في قاعدة بيانات، ثم الاتصال بواجهة برمجة تطبيقات (API) لبدء المهمة التالية. يمكنك ربط ذلك
00:00:41باستخدام Cron. لكن في اللحظة التي تفشل فيها إحدى الخطوات، لن تنجح الأمور. لا توجد إعادة محاولة، ولا سجل، ولا فكرة عما تعطل فعلياً.
00:00:48هذه هي الفوضى التي صُممت أدوات التنظيم لإصلاحها. وبصراحة، تربعت Airflow
00:00:54على عرش هذه الأدوات لسنوات. المشكلة مع Airflow هي أن كل خط أنابيب هو
00:00:58برنامج بايثون يجب عليك كتابته وصيانته وتصحيح أخطائه. النظام بأكمله ثقيل، ومجرد
00:01:04تشغيله على جهازك الخاص ليس أمراً يستمتع به معظمنا. إذا كنت تستمتع بأدوات البرمجة
00:01:09لتسريع سير عملك، تأكد من الاشتراك. لدينا فيديوهات تصدر طوال الوقت.
00:01:14الآن، جوهر فكرة Kestra هو أن سير العمل لا ينبغي أن يكون برنامجاً على الإطلاق، بل يجب أن يكون مجرد
00:01:19تكوين (configuration). دعني أوضح لك ما يعنيه ذلك فعلياً. أنا في محرر المتصفح هنا،
00:01:24وسأكتب تدفقاً بسيطاً بلغة YAML. بضع خطوات. إحداها تشغل سكربت بايثون، وأخرى تشغل أمر
00:01:32shell. يمكنني الضغط على تنفيذ ومراقبة الشاشة. يضيء الرسم البياني مع كل خطوة تعمل مباشرة
00:01:41أثناء تنفيذها. يمكنني الانتقال إلى عرض المخطط الزمني لمعرفة الوقت الذي استغرقته كل قطعة والنقر مباشرة
00:01:47للوصول إلى سجل أي خطوة أريدها. لقد انتهى تشغيل خط الأنابيب بالكامل، ولم أكتب سطراً واحداً من
00:01:53كود التنظيم. إذن هكذا يعمل هذا الشيء فعلياً. كل سير عمل هو ما يسمونه
00:02:00تدفقاً (flow)، وهو في الحقيقة مجرد YAML. قائمة من المهام ومشغل يبدأها. المهام تكون لغة
00:02:08غير محددة، وهذا أمر مهم هنا. يمكن لتدفق واحد تشغيل بايثون، ثم Node، ثم bash، ثم استعلام SQL،
00:02:15ثم تشغيل حاوية (container) وكل ذلك في سطر واحد. Airflow تريدك حقاً داخل بايثون. N8N تريد
00:02:22ك داخل جافا سكريبت. Kestra في الواقع لا تهتم بما كُتبت به كل خطوة، والمشغلات
00:02:27مبنية مباشرة في النظام بالكامل. شغلها وفق جدول زمني مثل Cron، أو ابدأها عند إطلاق webhook،
00:02:34أو عند وصول ملف إلى مستودع، أو استدعها من الـ API. شيء أخير أحبه، الكود والبناء المرئي
00:02:39يظلان مترابطين. لذا فإن تعديل أحدهما يحدث الآخر تلقائياً. الآن، لماذا يجب
00:02:46عليك الاهتمام به مقارنة بالأدوات التي نستخدمها بالفعل، مثل Airflow؟ مقابل Airflow، يتحول خط الأنابيب الخاص بك
00:02:53إلى تكوين نظيف يمكن لشخص لا يعرف بايثون قراءته والموافقة عليه في طلبات الدمج (pull requests).
00:02:59ويقول المراجعون إن المحرك يتعامل مع العمل المتوازي بشكل أفضل مما يفعله مجدول Airflow.
00:03:05هذا رائع، ولكن مقارنة بـ Zapier و Make، لا توجد خدمة SaaS ولا فواتير لكل
00:03:12مهمة. إنها مبنية للمطورين والبنية التحتية الحقيقية، وأنت تستضيفها بنفسك. ومقارنة بـ Cron القديم،
00:03:19تحصل على إعادات المحاولة، والمهلات، وخريطة تبعية حقيقية، وواجهة مستخدم جاهزة من البداية. الآن،
00:03:26تقول Kestra إنها شغلت ملياري سير عمل في عام 2025. وهذا 20 ضعف العام السابق. ولديها أسماء
00:03:32عملاء مثل Apple، و JP Morgan، و Toyota، و Bloomberg. الآن، أرقام النمو هذه تأتي مباشرة
00:03:38من الشركة، وليس من تدقيق خارجي. لذا خذ الأمر بحذر. ولكن المزيد والمزيد
00:03:43من الناس يراهنون على أن هذه الطريقة القائمة على التكوين التصريحي للتنظيم هي الوجهة التي يتجه إليها
00:03:49المجال بأكمله. حسناً، هناك بعض العيوب هنا. أولاً، هذا تطبيق Java. و JVM، إنه نهم. أنت بحاجة
00:03:58إلى حوالي 4 غيغابايت من ذاكرة الوصول العشوائي (RAM) ونواتين فقط لتشغيل الخادم بسلام. ثانياً، YAML هو حلم لخطوط
00:04:06الأنابيب الخطية النظيفة. ولكن في اللحظة التي تحتاج فيها إلى منطق تفرع ديناميكي ثقيل، كما تعلم، يبدأ في
00:04:11مقاومتنا. وبصراحة، تتعامل الأدوات القائمة على بايثون مع ذلك بشكل أفضل بكثير. وأخيراً، Kestra هي ذات نواة مفتوحة. لذا
00:04:18المحرك نفسه مفتوح المصدر حقاً، لكن تسجيل الدخول الموحد، والتحكم في الوصول القائم على الأدوار، وسجلات التدقيق،
00:04:24تلك تقع خلف نوع من حواجز الدفع. لذا النسخة المجانية تمنحك تسجيل دخول مشترك واحد. هذا كل شيء. إنها
00:04:31مثالية تماماً إذا كنت تعمل بمفردك. لكنها تصبح مشكلة في اليوم الذي تحتاج فيه إلى نظام تحكم حقيقي متعدد المستخدمين
00:04:36دون الرغبة في الدفع. إذن هل يجب عليك استخدامه؟ حسناً، ذلك الجزء الأخير قد يكون المقياس لكل
00:04:42ذلك. إذا كنت تريد أن يكون تنظيمك عبارة عن تكوين قابل للقراءة بدلاً من بايثون، فهذا بصراحة
00:04:47أمر رائع. هذه أداة رائعة. وتعمل محلياً على Apple Silicon. تشغيلها على أجهزة الماك هو مجرد أمر
00:04:53Docker run واحد، وتظهر لوحة التحكم على localhost. جربها. أو إذا كنت قد
00:04:59جربتها بالفعل، اترك أفكارك أدناه. إذا كنت تستمتع بنصائح وحيل البرمجة كهذه، تأكد من الاشتراك.
00:05:03لدينا فيديوهات تصدر طوال الوقت.

핵심 요약

توفر Kestra بديلاً لتنظيم سير عمل البيانات يعتمد على ملفات YAML القابلة للقراءة بدلاً من كتابة وصيانة برامج بايثون معقدة، مما يسهل المراقبة والتنفيذ المتوازي للمهام المتعددة.

하이라이트

  • تعتمد Kestra على نهج التكوين التصريحي باستخدام YAML بدلاً من برمجة خطوط أنابيب البيانات بلغة بايثون.

  • تتجاوز Kestra قيود الأدوات المعتمدة على لغة واحدة مثل Airflow (بايثون) وN8N (جافا سكريبت) من خلال تشغيل مهام متنوعة تشمل SQL، Bash، والحاويات في سير عمل واحد.

  • شغلت Kestra ملياري سير عمل في عام 2025، وهو ما يمثل نمواً بمقدار 20 ضعفاً مقارنة بالعام السابق.

  • يتطلب تشغيل خادم Kestra حوالي 4 غيغابايت من ذاكرة الوصول العشوائي (RAM) ونواتين للمعالج لأنه يعتمد على بيئة تشغيل Java.

  • تتطلب الميزات المتقدمة مثل التحكم في الوصول القائم على الأدوار (RBAC) وسجلات التدقيق الانتقال إلى إصدارات مدفوعة، حيث توفر النسخة المجانية تسجيل دخول مشتركاً واحداً فقط.

타임라인

محدودية أدوات التنظيم التقليدية

  • يؤدي الاعتماد على Apache Airflow إلى تعقيد في صيانة وتصحيح أخطاء برامج بايثون لكل خط أنابيب بيانات.
  • تفتقر الأدوات البسيطة مثل Cron إلى ميزات أساسية مثل سجلات التشغيل، إعادة المحاولة التلقائية، وخرائط التبعية.

تتطلب Airflow من المطورين كتابة برامج بايثون كاملة لإدارة كل خطوة في سلسلة البيانات، مما يجعل النظام ثقيلاً وصعب التشغيل محلياً. في المقابل، تفتقر الحلول البديلة البسيطة إلى القدرة على التعامل مع الفشل أو توفير واجهة مراقبة واضحة عند حدوث خلل في إحدى الخطوات.

آلية عمل Kestra القائمة على YAML

  • يتحول سير العمل في Kestra إلى تكوين YAML بدلاً من كونه برنامجاً برمجياً.
  • يدعم النظام مهاماً متنوعة داخل سير عمل واحد بما في ذلك بايثون، Node.js، أوامر Bash، واستعلامات SQL.
  • يتم تحديث البناء المرئي لسير العمل تلقائياً عند إجراء تعديلات في كود YAML.

تعتمد Kestra على التكوين التصريحي، حيث يتم تعريف قائمة المهام والمشغلات كملفات YAML. يمكن للمستخدم تشغيل المهام بناءً على جدول زمني، أو webhook، أو عند وصول ملفات جديدة، مع إمكانية الوصول المباشر إلى سجلات كل خطوة ورؤية المخطط الزمني للتنفيذ عبر واجهة المستخدم.

المقارنة مع المنافسين ومؤشرات النمو

  • يسمح استخدام YAML بقراءة خطوط الأنابيب من قبل أفراد لا يتقنون لغة بايثون، مما يسهل عملية مراجعة الكود.
  • تتفوق Kestra في التعامل مع العمل المتوازي مقارنة بمجدول Airflow التقليدي.
  • تستخدم شركات كبرى مثل Apple وToyota وBloomberg نظام Kestra لإدارة عمليات بياناتها.

بالمقارنة مع خدمات SaaS مثل Zapier أو Make، توفر Kestra استضافة ذاتية للمطورين دون فواتير لكل مهمة منفصلة. حقق النظام نمواً هائلاً في عام 2025 مع ملياري سير عمل منفذ، مما يشير إلى توجه السوق نحو تبني أساليب التنظيم القائمة على التكوين.

العيوب والتحديات التقنية

  • يستهلك النظام موارد كبيرة نظراً لاعتماده على بيئة تشغيل Java.
  • يصبح استخدام YAML عائقاً في حالات منطق التفرع الديناميكي المعقد مقارنة بالأدوات المعتمدة على البرمجة.
  • تقيد النسخة المجانية المستخدمين بنظام تسجيل دخول واحد، مع حجب ميزات الإدارة المتقدمة خلف حاجز دفع.

يواجه المستخدمون صعوبات عند الحاجة إلى منطق برمجي معقد يتطلب تفرعاً ديناميكياً، حيث تظل لغات البرمجة أكثر مرونة. كما أن هيكلية Kestra كأداة مفتوحة النواة تعني أن ميزات المؤسسات الكبرى، مثل سجلات التدقيق والتحكم في الوصول، ليست متاحة في النسخة المجانية الأساسية.

커뮤니티 글

아직 글이 없습니다. 이 영상에 대한 첫 번째 글을 작성해 보세요!

이 영상에 대해 글쓰기