إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
تقارن هذه المقالة بين خدمات Microsoft السحابية التالية:
- Microsoft Power Automate (كان Microsoft Flow)
- Azure Logic Apps
- دالات Azure
- Azure App Service WebJobs
يمكن لكل هذه الخدمات حل مشاكل التكامل وأتمتة عمليات أعمال الشركات. يمكنها جميعًا تحديد المدخلات والإجراءات والشروط والمخرجات. يمكنك تشغيل كل منها وفقًا لجدول زمني محدد أو مشغل محدد. كل خدمة لها مزايا فريدة، وستشرح هذه المقالة تلك الاختلافات.
إشعار
إذا كنت تبحث عن مقارنة أكثر عمومية بين Azure Functions وخيارات حساب Azure الأخرى، فشاهد المقالات التالية:
للحصول على ملخص ومقارنة خيارات خدمة التشغيل التلقائي في Azure، راجع اختيار خدمات التنفيذ التلقائي في Azure.
مقارنة Azure Logic Apps وMicrosoft Power Automate
هذه الخدمات هي كلا النظامين الأساسيين للتكامل أولا المصمم حيث يمكنك إنشاء وتشغيل مهام سير العمل التلقائية. يتكامل كلا النظامين الأساسيين مع العديد من تطبيقات البرامج كخدمة (SaaS) وتطبيقات المؤسسة. يوفر كلاهما مصممي سير عمل مماثلين، وبينما تشترك الموصلات الخاصة بهم في بعض التداخل، يقدم كل نظام أساسي أيضا موصلات فريدة خاصة بهم.
يعمل Power Automate على تمكين مستخدمي الأعمال والعاملين في المكاتب ومطوري المواطنين من إنشاء عمليات تكامل بسيطة دون الحاجة إلى العمل مع تكنولوجيا المعلومات أو المطورين أو كتابة التعليمات البرمجية. قد يكون أحد الأمثلة على ذلك سير عمل الموافقة لمكتبة مستندات SharePoint. تدعم Azure Logic Apps عمليات التكامل التي تتراوح بين سيناريوهات التعليمات البرمجية الصغيرة إلى عدم وجود تعليمات برمجية إلى مهام سير عمل أكثر تقدما وبرمجية وتعقيدا. تتضمن الأمثلة عمليات B2B أو السيناريوهات التي تتطلب تفاعلات على مستوى المؤسسة مع Azure DevOps. يمكن أن ينمو سير عمل الأعمال أيضا من بسيط إلى كامل بمرور الوقت.
لمساعدتك في تحديد ما إذا كنت تريد استخدام Azure Logic Apps أو Power Automate لتكامل معين، راجع جدول مقارنة الإمكانية.
قارن بين Azure Functions وAzure Logic Apps
تمكنك خدمات Azure هذه من إنشاء وتشغيل أحمال العمل بلا خادم. Azure Functions هي خدمة حساب بلا خادم، بينما Azure Logic Apps هي نظام أساسي لدمج سير العمل بلا خادم. يمكن لكليهما إنشاء تنسيقات معقدة. التزامن هو مجموعة من الوظائف، والتي تسمى الإجراءات في Azure Logic Apps، والتي يمكنك تشغيلها لإكمال مهمة معقدة. على سبيل المثال، لمعالجة دفعة من الأوامر، يمكنك تنفيذ العديد من مثيلات الدالة بشكل متوازٍ، وانتظار انتهاء جميع المثيلات، ثم تنفيذ دالة تحسب نتيجة في المجموع.
بالنسبة إلى Azure Functions، يمكنك تطوير التنسيقات عن طريق كتابة التعليمات البرمجية واستخدام ملحق Durable Functions. بالنسبة إلى Azure Logic Apps، يمكنك إنشاء تنسيقات باستخدام مصمم مرئي أو عن طريق تحرير قوالب Azure Resource Manager.
يمكنك خلط الخدمات ومطابقتها عند إنشاء تنسيق. على سبيل المثال، يمكنك استدعاء الوظائف من مهام سير عمل تطبيق المنطق واستدعاء مهام سير عمل تطبيق المنطق من الوظائف. اختر كيفية بناء كل تنسيق تناغمي بناءً على إمكانيات الخدمات أو تفضيلاتك الشخصية. يسرد الجدول التالي بعض الاختلافات الرئيسية بين كل من هذه الخدمات:
مقارنة بين Functions وWebJobs
مثل Azure Functions، Azure App Service WebJobs مع WebJobs SDK هي خدمة تكامل التعليمات البرمجية الأولى المصممة للمطورين. كلاهما مبني على Azure App Service وميزات الدعم مثل تكامل التحكم بالمصادر والمصادقة والمراقبة مع تكامل Application Insights.
WebJobs وWebJobs SDK
يمكنك استخدام ميزة WebJobs لخدمة التطبيقات لتشغيل برنامج نصي أو تعليمة برمجية في سياق تطبيق ويب App Service. WebJobs SDK هو إطار عمل مصمم ل WebJobs يبسط التعليمات البرمجية التي تكتبها للاستجابة للأحداث في خدمات Azure. على سبيل المثال، قد تستجيب لإنشاء صورة ثنائية الأبعاد في مساحة تخزين Azure عن طريق إنشاء صورة مصغرة. يتم تشغيل WebJobs SDK كتطبيق وحدة تحكم .NET والذي يمكنك نشره (توزيعه) على WebJob.
تعمل WebJobs وWebJobs SDK بشكل أفضل معًا، لكن يمكنك استخدام WebJobs بدون WebJobs SDK والعكس صحيح. يمكن لـ WebJob تشغيل أي برنامج أو نص برمجي يتم تشغيله في وضع حماية خدمة التطبيقات. يمكن تشغيل تطبيق وحدة تحكم WebJobs SDK في أي مكان يتم تشغيل تطبيقات وحدة التحكم فيه، مثل الخوادم المحلية.
جدول المقارنة
تم إنشاء Azure Functions على WebJobs SDK، لذا فهي تشترك في العديد من مشغلات الأحداث نفسها والاتصالات بخدمات Azure الأخرى. فيما يلي بعض العوامل التي يجب مراعاتها عند الاختيار بين Azure Functions وWebJobs باستخدام WebJobs SDK:
| الوظائف | WebJobs مع WebJobs SDK | |
|---|---|---|
| نموذج تطبيق بلا خادم مع تحجيم تلقائي | ✔ | |
| التطوير والاختبار في المستعرض | ✔ | |
| تسعير الدفع لكل استخدام | ✔ | |
| التكامل مع Logic Apps | ✔ | |
| أحداث المشغل |
المؤقت قوائم انتظار تخزين Azure والكائنات الثنائية كبيرة الحجم ناقل خدمة Azure قوائم الانتظار والموضوعات Azure Cosmos DB مراكز أحداث Azure HTTP/WebHook (GitHub، Slack) Azure Event Grid |
المؤقت قوائم انتظار تخزين Azure والكائنات الثنائية كبيرة الحجم ناقل خدمة Azure قوائم الانتظار والموضوعات Azure Cosmos DB مراكز أحداث Azure نظام الملفات |
| اللغات المدعومة | C# F# JavaScript Java Python PowerShell |
C#1 |
| مديرو الحزم | npm وNuGet | NuGet2 |
1 إن WebJobs (بدون WebJobs SDK) تدعم لغات مثل #C وJava وJavaScript وBash و.cmd و.bat وPowerShell وPHP وTypeScript وPython والمزيد. يمكن لـ WebJob تشغيل أي برنامج أو نص برمجي يمكن تشغيله في وضع حماية خدمة التطبيقات.
2 WebJobs (بدون WebJobs SDK) يدعم npm وNuGet.
الملخص
توفر Azure Functions إنتاجية مطور أكثر مما توفره Azure App Service WebJobs. كما توفر المزيد من الخيارات للغات البرمجة وبيئات التطوير وتكامل خدمة Azure والتسعير. وفي غالب السيناريوهات، تعد الخيار الأفضل.
فيما يلي سيناريوهان قد يكون WebJobs الخيار الأفضل له:
- تحتاج إلى مزيد من التحكم في التعليمات البرمجية التي تستمع للأحداث،
JobHostالكائن. توفر الوظائف عددا محدودا من الطرق لتخصيصJobHostالسلوك في ملف host.json . في بعض الأحيان تحتاج إلى القيام بأشياء لا يمكنك تحديدها باستخدام سلسلة في ملف JSON. على سبيل المثال، تتيح لك WebJobs SDK فقط تكوين نهج إعادة محاولة مخصص لمساحة تخزين Azure. - لنفترض أن لديك تطبيق App Service وتريد تشغيل أجزاء من تعليمات برمجية له، وتريد إدارتها معًا في نفس بيئة Azure DevOps.
بالنسبة للسيناريوهات الأخرى حيث تريد تشغيل قصاصات التعليمات البرمجية لدمج Azure أو الخدمات الخارجية، اختر Azure Functions عبر WebJobs مع WebJobs SDK.
Power Automate وLogic Apps وFunctions وWebJobs معًا
لست مضطرًا لاختيار واحدة فقط من هذه الخدمات. وهي تتكامل مع بعضها ومع الخدمات الخارجية.
يمكن لتدفق Power Automate استدعاء سير عمل Azure Logic Apps. يمكن لسير عمل Azure Logic Apps استدعاء دالة في Azure Functions، والعكس صحيح. على سبيل المثال، راجع إنشاء دالة تتكامل مع Azure Logic Apps.
بين Power Automate وAzure Logic Apps و Functions، تستمر تجربة التكامل بين هذه الخدمات في التحسن بمرور الوقت. يمكنك إنشاء مكون في خدمة واحدة واستخدام هذا المكون في الخدمات الأخرى.
لمزيد من المعلومات حول خدمات التكامل، راجع المقالات التالية:
- الاستفادة من Azure Functions وAzure App Service لسيناريوهات التكامل بواسطة Christopher Anderson
- عمليات التكامل التي تم تبسيطها بواسطة تشارلز لامانا
- بث ويب مباشر لتطبيقات Azure Logic
- الأسئلة المتداولة حول Power Automate
الخطوات التالية
ابدأ بإنشاء أول تطبيق تدفق لك أو سير عمل تطبيق منطقي أو تطبيق دوال. حدد أيًا من الروابط التالية: