ما المقصود بسير العمل؟
يصف سير العمل كيفية إنجاز الأشخاص للعمل من البداية إلى النهاية. سير عمل يتكون من الخطوات والحالات التي تشتمل عليها العملية. تظهر مهام سير العمل كسلسلة من الخطوات في قائمة تحقق، أو كرسم بياني يعرض هذه الخطوات بطريقة مرئية.
فيما يلي مثال على تدفق سير عمل بسيط خاص بعملية دعم:
- يبدأ كارل، أحد العملاء، طلب دعم.
- يتم تعيين الحالة المفتوحة إلى ممثلة الدعم ساشا.
- تتلقى ساشا الحالة المعينة وتسأل كارل عن بعض المعلومات. أثناء انتظار الرد، تكون الحالة بالحالة "معلقة".
- بعد أن يقدم كارل المعلومات المطلوبة، ترد ساشا بحل ثم تقوم بتحديث الحالة إلى "تم الحل".
- يتلقى كارل الإجابة، بالإضافة إلى رابط استبيان الذي يقدم من خلاله تقديم ملاحظاته حول طلب الدعم الذي قام به. إنه مسرور باستجابة ساشا السريعة ويعطي تقييمات عالية في الاستبيان. يتم تحديث الحالة إلى "مغلقة".
في تدفق سير العمل هذا، الخطوات هي "البدء"، و"تعيين"، و"حل"، و"إغلاق". الحالات هي "مفتوحة"، و"معينة"، و"معلقة"، و"تم الحل"، و"مغلقة". تعمل الخطوات على نقل العملية من حالة إلى أخرى على طول المسار حتى اكتمال تدفق سير العمل.
ما مزايا استخدام تدفقات سير العمل؟
توفر تدفقات سير العمل مجموعة من الخطوات والمهام القابلة للتكرار، التي يمكنك بدؤها وجدولتها ومراقبتها.
يمكنك عرض تدفقات سير العمل بطريقة مرئية للمراقبة والتحقق من صحة تدفق سير العمل، ومراقبة العمليات التي تحدث في تدفق سير العمل.
مع تدفقات سير العمل، يمكن للشركات تحقيق مستويات محسنة من الموثوقية للتطبيقات الموزعة بدون إضافة مزيد من التعقيد إلى التعليمة البرمجية. يمكنك أتمتة تدفقات سير العمل وتحسينها وتوسعتها على مستوى دقيق.
ماذا تضيف تدفقات سير العمل إلى بنية التطبيقات؟
تعزز مسارات العمل الفصل المنطقي بين مسار التحكم في منطق الخطوات ووحدات العمل الفعلية لمهمتك والتي تحتوي على منطق أعمالك المتفرد. باستخدام هذا القسم، يمكنك إدارة وصيانة وتوسعة آلية الحالة بشكل منفصل عن منطق الأعمال الأساسي.
مع التغير في متطلبات الأعمال لديك، يمكنك تغيير منطق التطبيق بسهولة بدون تغيير آليات الحالة الأساسية وانطلاق المهمة والتحكم في المسار.
كيف تعمل خدمات تدفق سير العمل على تحسين بنية التطبيق؟
الموثوقية
يؤدي فصل تتبع الحالات ومعالجة المهام إلى توفير الموثوقية للبنية المستندة إلى السحابة. باستخدام خدمات تدفق سير العمل، يمكنك إرسال المهام إلى مكونات التطبيق، وتتبع تقدمها، ومعرفة أحدث حالة للنظام.
البساطة
تحل تدفقات سير العمل محل تعقيد الحلول المحلية ذات التعليمة البرمجية المخصصة والتعليمة البرمجية الخاصة بأتمتة العمليات.
يمكن أن تكون المهام التي تقود خطوات المعالجة طويلة الأمد وقد تفشل، أو تنتهي، أو تتطلب إعادة تشغيل. وفي الغالب تكتمل مع وجود تفاوت في معدلات النقل وأزمنة الاستجابة. في كل هذه الحالات، لا يمثل تتبع المهام وعرضها بطريقة مرئية تحديًا فحسب، بل هو أيضًا عمل غير متمايز.
مع خدمات سير العمل، يمكن للمطورين تجنب إدارة مهام البنية الأساسية الخاصة بأتمتة العمليات. ونتيجةً لذلك، يمكنهم تركيز طاقتهم على الوظائف الفريدة لتطبيقهم.
قابلية التوسع
الغرض من تصميم خدمات تدفق سير العمل هو التوسع بسلاسة مع زيادة استخدام تطبيقك. لأنك تضيف المزيد من مسارات العمل إلى تطبيقك أو ترفع تعقيد مسارات عملك، يُمكنك أتمتة إدارة خدمة مسار العمل.
المرونة
يمكن للمطورين استخدام خدمات تدفق سير العمل في إنشاء مكونات التطبيق ومنطق التنسيق بلغات برمجة مختلفة. يمكن للمطورين بعد ذلك التركيز على المنطق المتمايز للتطبيق.
ما بعض حالات استخدام تدفقات سير العمل الشائعة؟
يمكن أن تساعد تدفقات سير العمل في أي مشكلة حوسبية أو عملية أعمال يمكن تقسيمها إلى سلسلة من الخطوات. تعمل تدفقات سير العمل على تبسيط إدارة الوظائف باستخدام التبعيات المتداخلة. تتضمن حالة الاستخدام الشائعة ما يلي:
- تنسيق التطبيق – تنسيق الخدمات المصغرة المقترنة بشكل فضفاض، فكل منها يعمل في عمليته ويجري نشره بشكل مستقل، من خلال التواصل مع الأحداث. اجمع بين الوظائف بلا خادم لإنشاء تطبيق ويب يتضمن خطوة موافقة بشرية غير متزامنة. لمزيد من أمثلة حالات الاستخدام، راجع تنسيق الخدمات المصغرة في دليل مطوري AWS Step Functions.
- معالجة البيانات – دمج البيانات من مجموعات بيانات متعددة في تقارير موحدة، وتحسين مجموعات البيانات الكبيرة واختزالها إلى تنسيقات مفيدة، أو تنسيق التحليلات متعددة الخطوات وتدفقات سير عمل تعلّم الآلة. لمزيد من أمثلة حالات الاستخدام، راجع معالجة البيانات في دليل مطوري AWS Step Functions.
- أتمتة عمليات التطوير وتكنولوجيا المعلومات — يمكنك إنشاء أدوات تختص بالتكامل المستمر والنشر، أو إنشاء تطبيقات قائمة على الأحداث تستجيب تلقائيًا للتغيرات التي تحدث في البنية الأساسية. لمزيد من أمثلة حالات الاستخدام، راجع أتمتة تكنولوجيا المعلومات والأمان في دليل مطوري AWS Step Functions.
- التجارة الإلكترونية – أتمتة العمليات التجارية الحيوية، مثل تنفيذ الطلبات وتتبع المخزون.
- تطبيقات الويب – تنفيذ عمليات قوية لتسجيل المستخدمين والمصادقة، بالإضافة إلى دمج خطوات التدقيق والأمان المعزز اختياريًا.
- تعلّم الآلة – تشغيل مهام الاستخراج والتحويل والتحميل (ETL) لبناء نموذج تعلم آلة وتدريبه ونشره. على سبيل المثال، جمع بيانات الصور ومعالجتها للكشف عن الكائنات داخل دفق فيديو، أو لإضافة مربعات إحاطة، أو لتوفير معلومات مرئية وبيانات وصفية لفهرسة البيانات. لمزيد من أمثلة حالات الاستخدام، راجع تعلّم الآلة في دليل مطوري AWS Step Functions.
- أتمتة الأمان – التحليل المجدول أو الاستجابة للحوادث الأمنية التي تبدأ من خلال أحداث موارد مُدارة، وتتضمن تدفقات سير عمل مخصصة تستدعي مراحل التدقيق والإشعار وفقًا لقواعد الأعمال.
- معالجة الوسائط - استخراج البيانات من مستندات PDF أو الصور لمعالجتها. تقسيم الفيديو وتحويل تعليمته البرمجية باستخدام التوازي الهائل. لمزيد من أمثلة حالات الاستخدام، راجع معالجة الوسائط في حالات استخدام AWS Step Functions.
كيف تنشئ تدفق سير عمل؟
قد يقوم المطورون في البداية بإنشاء حلول ذات تعليمة برمجية مخصصة وتعليمة برمجة لأتمتة العمليات. تبدأ هذه الحلول بسيطةً، ولكنها مع مرور الوقت والتطور تصبح معقدةً وعرضةً للخطأ. يزداد الجهد المطلوب لتحديث منطق الأعمال، ويتباطأ معدل التغير مع مرور الوقت.
يمكنك التخفيف من صعوبة الحلول المحلية من خلال اعتماد مكتبات خاصة بتدفقات سير العمل. ومع ذلك، فإن تكوين هذه الأدوات يمكن أن يؤدي إلى إضافة تعقيدات جديدة إلى العملية. قد تستمر صعوبة إجراء العرض المرئي لخطوات سير العمل وحالاته.
يتطلب الارتقاء بالإنشاء ومراقبة سير العمل أدوات مرئية لترتيب حالات سير العمل والخطوات. في هذه الأدوات، تتوفر قواعد منطق الأعمال للإدارة والتحديث. يمكن أن يؤدي استخدام الأدوات الرسومية إلى تحسين إنتاجية المطورين وتحسين إمكانية رؤية تدفق سير العمل، ويمكن أن يقلل من احتمالية حدوث أخطاء.
للحصول على برنامج تعليمي عملي باستخدام أداة تصميم تدفقات سير العمل مرئية وهي الأداة Workflow Studio، راجع كيف يمكنني إنشاء سير عمل بلا خادم في مركز مطوري AWS.
ما أنماط تدفقات سير العمل الشائعة؟
باستخدام تدفقات سير العمل، يُمكنك التركيز على تحديد تفاعلات المكونات، وليس كتابة البرمجيات لجعل التفاعلات تعمل.
يمكن لتدفقات سير العمل تنظيم الخدمات المصغرة والحاويات. تتضمن أنماط تدفقات سير العمل الشائعة تسلسل الخدمات المصغرة، والاستجابة غير المتزامنة أو الاستجابة المتزامنة، والتفاعلات البشرية، وتنسيق الحاويات وتصميم الحركات، والتفرع، ومعالجة الأخطاء.
ما خدمات سير العمل التي توفرها AWS؟
AWS Step Functions هي خدمة تدفق سير عمل مرئية ومنخفضة التعليمات البرمجية تُستخدم في تنظيم خدمات AWS وأتمتة العمليات التجارية وإنشاء تطبيقات بلا خادم. Step Functions يتضمن Workflow Studio، وهو أداة تصميم تدفقات سير العمل مرئية ومنخفضة التعليمة البرمجية وتعمل بطريقة السحب والإفلات. تقوم هذه الأداة تلقائيًا بإنشاء الوظائف والتكوين بلغة Amazon States Language، وهي لغة منظمة مبنية على JSON وتُستخدم في تحديد أجهزة الحالة. يمكنك استخدام لغة Amazon States Language في وحدة تحكم Step Functions، أو تصديرها وتحريرها.
Amazon Managed Workflows for Apache Airflow (Amazon MWAA) يوفر نفس تجربة Apache Airflow مفتوح المصدر ولكن كخدمة مُدارة بالكامل. استخدم Amazon MWAA في نقل حلولك المحلية القائمة إلى السحابة لتقليل تكاليف التشغيل والنشر على نطاق واسع. يمكن للمطورين الاستمرار في كتابة نماذج الرسم غير الدوري الموجه (DAG) بلغة Python، وبالتالي يتم الإعلان عن التبعيات الخاصة بالمهام وفي الوقت نفسه التكامل مع خدمات AWS الأخرى.
نوصي باستخدام AWS Step Functions لجميع التطبيقات الجديدة، نظرًا لأنها توفر نهجًا أكثر إنتاجية ومرونةً للتنسيق بين مكونات التطبيق باستخدام تدفقات سير العمل المرئية. للحصول على برنامج تعليمي عملي باستخدام كل من Step Functions Workflow Studio ولغة Amazon States Language، راجع كيف يمكنني إنشاء سير عمل بلا خادم في مركز مطوري AWS.
الخطوات التالية لمهام سير العمل على AWS
إنشاء مهام سير العمل باستخدام أكثر من 200 خدمة من خدمات AWS و9000 من إجراءات واجهات التطبيقات البرمجية
ابدأ في الإنشاء باستخدام بوابة API gateway في وحدة إدارة تحكم AWS.