خيارات استضافة وظائف Azure

عند إنشاء تطبيق وظائف في Azure، يجب عليك اختيار خطة استضافة لتطبيقك. هناك ثلاث خطط استضافة أساسية ل Azure Functions توفرها Azure Functions: خطة الاستهلاك وخطة Premium وخطة مخصصة (App Service). تسهل البنية الأساسية لخدمة تطبيقات Azure خطط الاستضافة هذه وهي متاحة بشكل عام (GA) على كل من الأجهزة الظاهرية التي تعمل بنظامي Linux وWindows.

تحدد خطة استضافة Azure Functions التي تختارها السلوكيات التالية:

  • كيفية قياس تطبيق الوظيفة.
  • الموارد المتوفرة لكل مثيل تطبيق وظيفي.
  • دعم الوظائف المتقدمة، مثل اتصال الشبكة الظاهرية من Azure.

بالإضافة إلى استضافة Azure Functions، يمكنك أيضا استضافة تطبيقات الوظائف الحاوية في حاويات يمكن نشرها في مجموعات Kubernetes أو إلى Azure Container Apps. إذا اخترت استضافة الوظائف الخاصة بك في مقطع تخزين Kubernetes، ففكر في استخدام مقطع تخزين Kubernetes وتمكين Azure Arc لمعرفة المزيد حول نشر تطبيقات الحاوية المخصصة، راجع استضافة Azure Container Apps ل Azure Functions.

توفر هذه المقالة مقارنة مفصلة بين خطط الاستضافة المختلفة، بما في ذلك خيارات الاستضافة المستندة إلى الحاوية.

إشعار

استضافة حاويات Azure Functions على كل من مجموعات Kubernetes الممكنة في Azure Arc وتطبيقات حاويات Azure قيد المعاينة حاليا.

نظرة عامة على الخطط

فيما يلي ملخص لفوائد خطط استضافة وظائف Azure الرئيسية الثلاثة:

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

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

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

ضع في اعتبارك خطة Azure Functions Premium في الحالات التالية:

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

الأولوية للسيناريوهات طويلة الأمد حيث لا يمكن استخدام "الوظائف الدائمة". خذ بعين الاعتبار خطة خدمة التطبيقات في الحالات التالية:

✔ لديك VMs موجودة، غير مستغلة بشكل أقل التي تقوم بالفعل بتشغيل مثيلات خدمة التطبيقات الأخرى.
✔ التحجيم التنبؤي والتكاليف مطلوبة.

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

خيار الاستضافة التفاصيل
ASE بيئة خدمة التطبيقات (ASE) هي ميزة خدمة التطبيقات التي توفر بيئة معزولة ومُخصصة تماماً لتشغيل تطبيقات خدمة التطبيقات بشكل آمن وعلى نطاقٍ عالٍ.

ASEs مناسبة لأحمال عمل التطبيق التي تتطلب:

✔ نطاق عال جدا.
✔ عزل حساب كامل والوصول الآمن إلى الشبكة.
✔ استخدام ذاكرة عالية.
Azure Container Apps Azure Container Apps هي بيئة مدارة بالكامل تمكنك من تشغيل الخدمات المصغرة والتطبيقات المعبأة في حاويات على نظام أساسي بلا خادم. تتيح لك Azure Container Apps تشغيل وظائفك باستخدام قوة خدمة Azure Kubernetes (AKS) الأساسية مع إزالة تعقيد الاضطرار إلى العمل مع واجهات برمجة تطبيقات Kubernetes.
Kubernetes
مباشر
Azure Arc )
يوفر Kubernetes بيئة معزولة ومُخصصة بالكامل تعمل على قمة النظام الأساسي Kubernetes.

Kubernetes مناسب لأحمال عمل التطبيق التي تتطلب:
✔ متطلبات الأجهزة المخصصة.
✔ العزل والوصول الآمن للشبكة.
✔ القدرة على التشغيل في بيئة مختلطة أو متعددة السحابة.
✔ تشغيل جنبا إلى جنب مع التطبيقات Kubernetes والخدمات القائمة.

الجداول المتبقية في هذه المقالة تقارن الخطط على ميزات وسلوكيات مختلفة. لمقارنة التكلفة بين خطط الاستضافة الديناميكية (الاستهلاك والمميز)، راجع صفحة التسعير لوظائف Azure . لتسعير خيارات الخطة المخصصة المختلفة، راجع صفحة تسعير خدمة التطبيقات

نظام التشغيل / وقت التشغيل

يوضح الجدول التالي نظام التشغيل ودعم اللغة لخطط الاستضافة.

Linux1,2
كود فقط
تعليمة برمجية Windows فقط Linux1,2,3
حاوية Docker
خطة الاستهلاك C#‎
JavaScript
Java
Python
PowerShell Core
TypeScript
C#‎
JavaScript
Java
PowerShell Core
TypeScript
غير مدعوم
خطة متميزة C#‎
JavaScript
Java
Python
PowerShell Core
TypeScript
C#‎
JavaScript
Java
PowerShell Core
TypeScript
C#‎
JavaScript
Java
PowerShell Core
Python
TypeScript
خطة مخصصة C#‎
JavaScript
Java
Python
TypeScript
C#‎
JavaScript
Java
PowerShell Core
TypeScript
C#‎
JavaScript
Java
PowerShell Core
Python
TypeScript
ASE C#‎
JavaScript
Java
Python
TypeScript
C#‎
JavaScript
Java
PowerShell Core
TypeScript
C#‎
JavaScript
Java
PowerShell Core
Python
TypeScript
(مباشر) Kubernetes غير متوفر غير متوفر C#‎
JavaScript
Java
PowerShell Core
Python
TypeScript
(معاينة)Azure Arc C#‎
JavaScript
Java
Python
TypeScript
غير متوفر C#‎
JavaScript
Java
PowerShell Core
Python
TypeScript

1 Linux هو نظام التشغيل الوحيد المعتمد لمكدس وقت تشغيل Python.
2 دعم PowerShell على Linux في الإصدار الأولي حالياً.
3 Linux هو نظام التشغيل الوحيد المعتمد لحاويات Docker

مدة مهلة تطبيق الوظائف

يتم تعريف مدة المهلة للوظائف في تطبيق الوظائف بواسطة الخاصية functionTimeout في ملف مشروع host.json . تنطبق هذه الخاصية بشكل خاص على عمليات تنفيذ الوظائف. بعد أن يبدأ المشغل في تنفيذ الدالة، تحتاج الدالة إلى الإرجاع/الاستجابة خلال مدة المهلة. لمزيد من المعلومات، راجع تحسين أداء وموثوقية Azure Functions.

يعرض الجدول التالي القيم الافتراضية والحد الأقصى (بالدقائق) لخطط معينة:

الخطة الإعداد الافتراضي الحد الأقصى1
خطة الاستهلاك 5 10
خطة متميزة 302 غير محدود3
خطة مخصصة 302 غير محدود3

1 بغض النظر عن إعداد مهلة تطبيق الوظائف، فإن 230 ثانية هي الحد الأقصى للوقت الذي يمكن أن تستغرقه وظيفة HTTP المشغلة للاستجابة لطلب. هذا بسبب مهلة الخمول الافتراضية ل Azure Load Balancer. لأوقات المعالجة الأطول، ضع في اعتبارك استخدام نمط Durable Functions غير المتزامن أو تأجيل العمل الفعلي وإرجاع استجابة فورية.
2 المهلة الافتراضية للإصدار 1.x من وقت تشغيل الوظائف غير محدودة.
3 مضمونة لمدة تصل إلى 60 دقيقة. لا يزال بإمكان تصحيح نظام التشغيل ووقت التشغيل، وتصحيح الثغرات الأمنية، وتوسيع نطاق السلوكيات إلغاء عمليات تنفيذ الوظائف، لذا تأكد من كتابة وظائف قوية.

المقياس‬

يقارن الجدول التالي سلوكيات التحجيم لخطط الاستضافة المختلفة.
يتم تقديم الحد الأقصى من المثيلات على أساس تطبيق لكل وظيفة (استهلاك) أو لكل خطة (بريميوم/مخصص)، ما لم يُذكر خلاف ذلك.

الخطة التوسيع Max # مثيلات
خطة الاستهلاك يستند إلى حدث قم بالتوسع تلقائيًا، حتى خلال فترات الحمل العالي. Azure وظائف البنية التحتية جداول وحدة المعالجة المركزية وموارد الذاكرة عن طريق إضافة مثيلات إضافية من المضيف وظائف، استنادا إلى عدد من الأحداث المشغل واردة. Windows: 200
Linux: 1001
خطة متميزة يستند إلى حدث قم بالتوسع تلقائيًا، حتى خلال فترات الحمل العالي. وظائف البنية التحتية في وحدة المعالجة المركزية وموارد الذاكرة في Azure عن طريق إضافة مثيلات إضافية من وظائف المضيف، استنادا إلى عدد من الأحداث التي يتم تشغيل وظائفها على. Windows: 100
Linux: 20-1002
خطة مخصصة3 مقياس يدوي/تلقائي 10-30
ASE3 مقياس يدوي/تلقائي 100
Kubernetes مقطع تخزين تلقائي يستند إلى الحدث لمجموعات Kubernetes باستخدام KEDA. يختلف حسب نظام المجموعة

1 أثناء التوسع، يوجد حالياً حد 500 مثيل لكل اشتراك في الساعة لتطبيقات Linux في خطة الاستهلاك.
2 في بعض المناطق، يمكن توسيع نطاق تطبيقات Linux على خطة Premium إلى 100 مثيل. لمزيد من المعلومات، راجع مقالة الخطة المميزة .
3 للحصول على حدود معينة لخيارات خطة خدمة التطبيق المتنوعة، راجع حدود خطة خدمة التطبيق .

سلوك البدء البارد

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

حدود الخدمة

Resource خطة الاستهلاك خطة متميزة خطة مخصصة ASE Kubernetes
مدة المهلة الافتراضية (دقيقة) 5 30 301 30 30
الحد الأقصى لمدة المهلة (دقيقة) 10 غير مقيد7 غير مقيد2 غير مقيد غير مقيد
الحد الأقصى من الاتصالات الصادرة (لكل مثيل) 600 نشط (إجمالي 1200) غير مقيد غير مقيد غير مقيد غير مقيد
الحجم الأقصى للطلب (ميجابايت)3 100 100 100 100 يعتمد على المجموعة
أقصى طول لسلسلة الاستعلام3 4096 4096 4096 4096 يعتمد على المجموعة
الحد الأقصى لطول عنوان URL للطلب3 8192 8192 8192 8192 يعتمد على المجموعة
مفهوم وحدة الحوسبة لكل مثيل 100 210-840 100-840 210-2508 تسعير AKS
الحد الأقصى للذاكرة (جيجابايت لكل مثيل) 1.5 3.5-14 1.75-14 3.5 - 14 يتم دعم أي عقدة
أقصى عدد للمثيل (Windows/Linux) 200/100 100/20 يختلف حسب وحدة SKU9 1009 يعتمد على المجموعة
تطبيقات الوظائف لكل خطة11 100 100 غير مقيد4 غير مقيد غير مقيد
خطط App Service 100 لكل منطقة 100 لكل مجموعة موارد 100 لكل مجموعة موارد - -
فتحات التوزيع لكل تطبيق10 2 3 1-209 20 غير متوفر
التخزين5 5 غيغابايت 250 غيغابايت 50-1000 جيجابايت 1 تيرابايت غير متوفر
المجالات المخصصة لكل تطبيق 5006 500 500 500 غير متوفر
مجال مخصص دعم SSL تم تضمين اتصال SNI SSL غير المحدود تم تضمين اتصال SNI SSL غير المحدود واتصال IP SSL واحد تم تضمين اتصال SNI SSL غير المحدود واتصال IP SSL واحد تم تضمين اتصال SNI SSL غير المحدود واتصال IP SSL واحد غير متوفر

1 بشكلٍ افتراضي، تكون مهلة وقت تشغيل الوظائف 1.x في خطة خدمة التطبيق غير محدودة.
2 يتطلب تعيين خطة خدمة التطبيق على التشغيل دائمًا. الدفع بالأسعار القياسية.
3 تم تعيين هذه الحدود في المضيف.
4 يعتمد العدد الفعلي لتطبيقات الوظائف التي يمكنك استضافتها على نشاط التطبيقات وحجم مثيلات الجهاز واستخدام الموارد المقابل.
5 حد التخزين هو الحجم الإجمالي للمحتوى في التخزين المؤقت عبر جميع التطبيقات في خطة خدمة التطبيقات نفسها. تستخدم خطة الاستهلاك ملفات Azure للتخزين المؤقت.
6 عندما تتم استضافة تطبيق وظيفتك في خطة استهلاك، يتم دعم خيار CNAME فقط. بالنسبة للتطبيقات الوظيفية في الخطة المتميزة أو خطة خدمة التطبيقات، يمكنك تعيين مجال مخصص باستخدام إما سجل CNAME أو سجل A.
7 مضمون لمدة تصل إلى 60 دقيقة.
8 العمال هم الأدوار التي تستضيف تطبيقات العملاء. يتوفر العمال بثلاثة أحجام ثابتة: واحد vCPU/3.5 جيجابايت من ذاكرة الوصول العشوائي؛ اثنان vCPU/7 جيجابايت من ذاكرة الوصول العشوائي؛ أربعة وحدات معالجة مركزية (vCPU)/14 جيجابايت من ذاكرة الوصول العشوائي.
9 راجع حدود خدمة التطبيق لمعرفة التفاصيل.
10 بما في ذلك فتحة الإنتاج.
11 يوجد حاليا حد 5000 تطبيق وظيفة في اشتراك معين.

قيود إنشاء تطبيقات وظائف جديدة في مجموعة موارد موجودة

في بعض الحالات، عند محاولة إنشاء خطة استضافة جديدة لتطبيق الوظائف في مجموعة موارد موجودة، قد تتلقى أحد الأخطاء التالية:

  • مستوى التسعير غير مسموح به في مجموعة الموارد هذه
  • لا يتوفر العاملون <SKU_name> في مجموعة الموارد <resource_group_name>

يمكن أن يحدث هذا عند استيفاء الشروط التالية:

  • يمكنك إنشاء تطبيق دالة في مجموعة موارد موجودة تحتوي على تطبيق وظائف آخر أو تطبيق ويب آخر. على سبيل المثال، تطبيقات استهلاك Linux غير مدعومة في نفس مجموعة الموارد مثل خطط Linux Dedicated أو Linux Premium.
  • يتم إنشاء تطبيق الوظائف الجديد في نفس المنطقة مثل التطبيق السابق.
  • التطبيق السابق غير متوافق بطريقة ما مع تطبيقك الجديد. يمكن أن يحدث هذا بين وحدات SKU أو أنظمة التشغيل أو بسبب ميزات أخرى على مستوى النظام الأساسي، مثل دعم منطقة التوفر.

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

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

ميزات الشبكات

ميزة خطة الاستهلاك خطة متميزة خطة مخصصة ASE
قيود IP الواردة ✅نعم ✅نعم ✅نعم ✅نعم
نقاط النهاية الخاصة الواردة ❌لا ✅نعم ✅نعم ✅نعم
تكامل الشبكة الظاهرية ❌لا ✅نعم (إقليمي) ✅نعم (إقليمي وبوابة) ✅نعم
مشغلات الشبكة الظاهرية (غير HTTP) ❌لا ✅نعم ✅نعم ✅نعم
اتصالات مختلطة (نظام Windows فحسب) ❌لا ✅نعم ✅نعم ✅نعم
قيود IP الصادرة ❌لا ✅نعم ✅نعم ✅نعم

الفوترة

الخطة التفاصيل
خطة الاستهلاك ادفع فقط للوقت الذي تعمل فيه وظائفك. تستند الفواتير إلى عدد عمليات التنفيذ ووقت التنفيذ والذاكرة المستخدمة.
خطة متميزة تعتمد الخطة المتميزة على عدد الثواني الأساسية والذاكرة المستخدمة عبر المثيلات المطلوبة والمرتفعة الحرارة مسبقًا. يجب دائماً الاحتفاظ بمثيل واحد على الأقل لكل خطة دافئاً. توفر هذه الخطة التسعير الأكثر قابلية للتنبؤ.
خطة مخصصة تدفع نفس المبلغ مقابل تطبيقات الوظائف في خطة خدمة التطبيقات كما تدفع مقابل موارد خدمة التطبيقات الأخرى، مثل تطبيقات الويب.
بيئة خدمة التطبيقات (ASE) هناك سعر شهري ثابت لـASE يدفع للبنية التحتية ولا يتغير مع حجم ASE. هناك أيضًا تكلفة لكل خطة خدمة تطبيقات vCPU. جميع التطبيقات المستضافة في ASE موجودة في SKU التسعير المعزول.
Kubernetes أنت تدفع فقط تكاليف مجموعة Kubernetes الخاصة بك؛ ولا فواتير إضافية للدالات. يعمل تطبيق الوظيفة الخاص بك كتطبيق حمل العمل أعلى مقطع التخزين الخاصة بك ، تمامًا مثل التطبيق العادي.

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