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

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

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

إشعار

إذا كنت تبحث عن مقارنة أكثر عمومية بين Azure Functions وخيارات حساب Azure الأخرى:

للحصول على ملخص ومقارنة خيارات خدمة الأتمتة في Azure:

قارن بين تطبيقات Microsoft Power Automate وAzure Logic

Power Automate وAzure Logic Apps هما خدمات تكامل المصمم أولا التي يمكنها إنشاء مهام سير العمل. تتكامل كلتا الخدمتين مع تطبيقات SaaS ومختلف التطبيقات المؤسسية المتنوعة.

تم إنشاء Power Automate على النظام الأساسي ل Azure Logic Apps. يوفر كلاهما مصممي وموصلات سير عمل مماثلين.

يمكّن Power Automate أي عامل مكتب من تنفيذ عمليات تكامل بسيطة (على سبيل المثال، عملية الموافقة على مكتبة مستندات SharePoint) دون حاجة إلى المرور على قسم المطورين أو قسم تقنية المعلومات. يمكن لـ Logic Apps أيضًا تمكين عمليات التكامل المتقدمة (على سبيل المثال، عمليات B2B) حيث يلزم وجود Azure DevOps على مستوى المؤسسة وممارسات الأمان. من المعتاد أن ينمو سير عمل الأعمال مع مرور الوقت ويزداد تطورًا وتعقيدًا.

يساعدك الجدول التالي في تحديد ما إذا كان Power Automate أو Logic Apps هو الأفضل للتعامل مع تكامل معين:

Power Automate Logic Apps
المستخدمون عمال المكاتب ومستخدمو الأعمال ومسؤولو SharePoint المتخصصون في التكامل والمطورون المحترفون ومحترفو تقنية المعلومات
السيناريوهات الخدمة الذاتية عمليات التكامل المتقدمة
أداة التصميم ضمن المتصفح وتطبيق الجوال، واجهة المستخدم فقط ضمن المتصفح وVisual Studio Code وVisual Studio مع عرض التعليمات البرمجية المتوفر
إدارة دورة حياة التطبيق (ALM) يوفر Power Platform أدوات تتكامل مع DevOps وGitHub Actions للسماح لك بإنشاء مسارات تلقائية في دورة ALM. Azure DevOps: التحكم بالمصادر والاختبار والدعم والأتمتة وإمكانية الإدارة في Azure Resource Manager
تجربة مسؤول إدارة بيئات Power Automate وسياسات منع فقدان البيانات (DLP)، وتتبع الترخيص: مركز مسؤول إدارة مجموعات الموارد والاتصالات وإدارة الوصول والتسجيل: مدخل Microsoft Azure
الأمان سجلات تدقيق أمان Microsoft 365 وDLP والتشفير الثابت للبيانات الحساسة ضمان أمان Azure: Azure security، Microsoft Defender for Cloud، سجلات التدقيق

قارن بين Azure Functions وAzure Logic Apps

إن كلاً من Functions وLogic Apps خدمات من خدمات Azure التي تمكّن إنجاز أحمال العمل بلا خادم. تعد Azure Functions خدمة حساب بلا خادم، بينما Azure Logic Apps هي منصة تكامل سير عمل بلا خادم. يمكن لكليهما إنشاء تنسيقات معقدة. التزامن عبارة عن مجموعة من الوظائف أو الإجراءات في Azure Logic Apps، والتي يمكنك تشغيلها لإكمال مهمة معقدة. على سبيل المثال، لمعالجة دفعة من الأوامر، يمكنك تنفيذ العديد من مثيلات الدالة بشكل متوازٍ، وانتظار انتهاء جميع المثيلات، ثم تنفيذ دالة تحسب نتيجة في المجموع.

بالنسبة إلى Azure Functions، يمكنك تطوير التنسيقات عن طريق كتابة التعليمات البرمجية واستخدام ملحق Durable Functions. في Azure Logic Apps، يمكنك إنشاء عمليات تزامن باستخدام واجهة المستخدم الرسومية أو تحرير ملفات التكوين.

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

Durable Functions Azure Logic Apps
التطوير التعليمات البرمجية أولاً (إلزامية) المصمم أولاً (التصريحي)
الاتصال حوالي اثني عشر نوعا من أنواع الربط المضمنة، اكتب التعليمات البرمجية للروابط المخصصة مجموعة كبيرة من الموصلات، حزمة تكامل المؤسسة لسيناريوهات B2B، إنشاء موصلات مخصصة
إجراءات كل نشاط هو عبارة عن دالة Azure؛ كتابة تعليمات برمجية لدوال النشاط مجموعة كبيرة من الإجراءات الجاهزة
رصد Azure Application Insights مدخل Microsoft Azure وسجلات Azure Monitor وMicrosoft Defender for Cloud
الإدارة واجهة برمجة تطبيقات REST، Visual Studio مدخل Microsoft Azure، واجهة برمجة تطبيقات REST، PowerShell، Visual Studio
سياق التنفيذ يمكن تشغيله محليا أو في السحابة يتم تشغيله في Azure أو محليًا أو محليًا. للحصول على مزيدٍ من المعلومات، راجع ما هو 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
بوويرشيل
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 وLogic Apps و Functions، تستمر تجربة التكامل بين هذه الخدمات في التحسن بمرور الوقت. يمكنك إنشاء مكون في خدمة واحدة واستخدام هذا المكون في الخدمات الأخرى.

يمكنك الحصول على مزيد من المعلومات حول خدمات التكامل عبر الروابط التالية:

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

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