مشاركة عبر


اختيار خدمات التكامل والأتمتة المناسبة في Azure

تقارن هذه المقالة بين خدمات Microsoft السحابية التالية:

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

إشعار

إذا كنت تبحث عن مقارنة أكثر عمومية بين 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.

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

Durable Functions Azure Logic Apps
التطوير التعليمات البرمجية أولاً (إلزامية) المصمم أولاً (التصريحي)
الاتصال - اثني عشر نوعا من أنواع الربط المضمنة
- كتابة التعليمات البرمجية للروابط المخصصة
- أكثر من 1400 موصل تم إنشاؤه مسبقا مع مشغلات وإجراءات
- Enterprise Integration Pack لسيناريوهات B2B
- موصلات مخصصة
إجراءات كل نشاط هو عبارة عن دالة Azure؛ كتابة تعليمات برمجية لدوال النشاط أكثر من 1400 موصل تم إنشاؤه مسبقا مع مشغلات وإجراءات
رصد Azure Application Insights - مدخل Microsoft Azure
- سجلات Azure Monitor
- Microsoft Defender for Cloud
- Azure Application Insights لسير العمل القياسي
- التحقق من الصحة لسير العمل القياسي

لمزيد من المعلومات، راجع مراقبة مهام سير العمل في Azure Logic Apps.
الإدارة - واجهة برمجة التطبيقات REST
- Visual Studio
- مدخل Microsoft Azure
- Visual Studio Code
- واجهة برمجة التطبيقات REST
- بوويرشيل
- Azure CLI (مهام سير العمل القياسية)
- Azure CLI (مهام سير عمل الاستهلاك)
سياق التنفيذ يمكن تشغيله محليا أو في السحابة يمكن تشغيله في Azure، محليا في Visual Studio Code، أو في بيئات متصلة جزئيا. لمزيد من المعلومات، راجع ما هي Azure Logic Apps؟

مقارنة بين 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، تستمر تجربة التكامل بين هذه الخدمات في التحسن بمرور الوقت. يمكنك إنشاء مكون في خدمة واحدة واستخدام هذا المكون في الخدمات الأخرى.

لمزيد من المعلومات حول خدمات التكامل، راجع المقالات التالية:

الخطوات التالية

ابدأ بإنشاء أول تطبيق تدفق لك أو سير عمل تطبيق منطقي أو تطبيق دوال. حدد أيًا من الروابط التالية: