متى تختار Azure Functions لتشغيل منطق تسلسل العمل لديك

مكتمل

الآن دعونا ننظر في عملية أخرى من نشاط استئجار الدراجات لدينا، ونحدد ما التقنية الأنسب لاحتياجاتنا. سننظر في الجوانب التقنية للعملية والجمهور وكيف يجب أن تتطور عمليتنا.

السيناريو

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

تريد إنشاء نظام يحكم عملية الصيانة والإصلاح ويسمح للجميع بالعثور على إجابات عن الأسئلة التالية.

  • ما المهام التي تم الانتهاء منها على الدراجة؟
  • ما المهام التي لا يزال يتعين إكمالها قبل أن يتم تأجير الدراجة مرة أخرى؟
  • ما الدراجات المتوفرة حالياً للإيجار؟
  • ما الدراجات غير المتوفرة حالياً للإيجار؟
  • لكل دراجة غير متوفرة:
    • لماذا لا يمكننا استئجارها؟
    • هل ننتظر أي قطع غيار، وماذا عن تلك القطع؟
    • متى يكون من المحتمل إتاحة الدراجة مرة أخرى للإيجار؟

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

إجراءات العمل

تريد التأكد من أن فنيي الدراجات في كلا الحرمين الجامعيين يلتزمون بسير العمل التالي عند قيامهم بصيانة دراجة بعد تأجيرها:

Decision flow diagram detailing the logic for the Bike maintenance workflow.

ترد التفاصيل على النحو التالي:

  1. يقوم العميل بإرجاع دراجة إلى أي مكان. تبدأ عملية صيانة الدراجة.
  2. يضع الفني علامة على الدراجة على أنها غير متوفرة.
  3. يقوم الفني بإكمال قائمة كاملة من الفحوصات، بما في ذلك الإطارات والفرامل وجنزير التحريك والمصابيح.
  4. هل هناك حاجة إلى قطع غيار جديدة؟
    1. يلزم توافر قطع غيار جديدة، ولكن ليست لدينا قطع غيار في المخزن.
      1. الفني يطلب قطع غيار جديدة
      2. وصلت قطع الغيار
    2. تركيب قطع الغيار الجديدة
  5. يقوم الفني بإكمال التغييرات النهائية.
  6. يقوم الفني بوضع علامات على الدراجة على أنها متوفرة للإيجار.

اختيار التقنية

لتنفيذ عملية الأعمال والتكامل مع قاعدة بيانات مواقع الدراجات، دعونا نتدارس مجموعة من التقنيات التالية.

  • Microsoft Power Automate
  • Azure Logic Apps
  • دالات Azure
  • Azure Service Apps WebJobs

كما في السيناريو السابق، يمكن استخدام أي من هذه التقنيات لإنشاء سير العمل. ومع ذلك، هناك مشكلتان تحددان الخيار الأمثل.

التصميم أولاً أو التعليمات البرمجية أولاً؟

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

Azure Functions أم Azure Apps Service WebJobs؟

يتعين علينا اتخاذ قرار بشأن اختيار أي من التقنيتين التاليتين.

  • دالات Azure
  • Azure App Service WebJobs

سوف تؤثر العوامل التالية على اختيارك:

  • التكلفة: باستخدام WebJobs، تدفع مقابل الجهاز الظاهري بالكامل أو خطة خدمة التطبيقات التي تستضيف المهمة. يمكن تشغيل Azure Functions على خطة استهلاك، لذلك تدفع فقط عند تشغيل الدالة. نظرا لأن هذه العملية تبدأ فقط عند إرجاع دراجة، فقد نوفر المال عن طريق تحديد Azure Functions.
  • عمليات الدمج: تريد دمج سير عمل الصيانة مع Logic App الذي تقوم بإنشائه لعملية حجز الدراجات واستئجارها في الوحدة السابقة. على الرغم من أنه من الممكن استدعاء WebJob من Logic App، فإن التكامل بين Logic App وFunctions يكون أقرب. على سبيل المثال، يمكنك التحكم بسهولة أكبر في مكالمتك إلى دالة من المصمم المرئي Logic Apps.

لهذه الأسباب، سنقوم باختيار Azure Functions لإدارة عملية أعمال صيانة الدراجات.