إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
يقدم دالات Azure على Azure Container Apps بيئة استضافة بدون خادم مدارة بالكامل تجمع بين القدرات المدفوعة بالأحداث ل دالات Azure والميزات القوية ل Container Apps. يتضمن هذا التكامل إمكانات متقدمة مثل التنسيق المستند إلى Kubernetes، والتحجيم التلقائي المدمج المدعوم من KEDA (التحجيم التلقائي المستند إلى الحدث المستند إلى Kubernetes)، وتكامل Dapr (وقت تشغيل التطبيق الموزع)، ودعم حمل عمل GPU، ودعم السيارة الجانبية، واتصال الشبكة الظاهرية (VNet)، وإدارة المراجعة.
يكون هذا الأسلوب مفيدا عندما تريد تشغيل الوظائف الخاصة بك جنبا إلى جنب مع التطبيقات الأخرى المعبأة في حاويات مثل الخدمات المصغرة أو واجهات برمجة التطبيقات أو مواقع الويب. علاوة على ذلك ، يمكن أن يساعدك وضع تطبيقات الوظائف في حاويات عندما تحتاج إلى تبعيات مخصصة أو ترغب في الاستفادة من المقياس إلى الصفر لتوفير التكاليف. إذا كنت تقوم بتشغيل مهام ثقيلة الحوسبة مثل استدلال الذكاء الاصطناعي ، فإن Container Apps تدعم أيضا الاستضافة المستندة إلى GPU من خلال عرض GPU بدون خادم وملفات تعريف أحمال العمل المخصصة.
كميزة مدمجة على Azure Container Apps، يمكنك نشر دالات Azure الصور مباشرة على Azure Container Apps باستخدام مزود موارد Microsoft.App عن طريق تعيين kind=functionapp عند استدعاء az containerapp create. التطبيقات التي تم إنشاؤها بهذه الطريقة لديها وصول إلى جميع ميزات Azure Container Apps. إذا كنت تنشر عبر Azure البوابة، يمكنك تفعيل خيار ><تطبيق لتحسين الوظائف أثناء الإعداد. لمزيد من المعلومات، راجع قسم النشر والإعداد لمزيد من التفاصيل.
المزايا الرئيسية
يبني نموذج استضافة تطبيقات الحاويات على مرونة أحمال العمل المحوطة والطبيعة المدفوعة بالأحداث ل دالات Azure. وهو يوفر المزايا الرئيسية التالية:
- تشغيل دالات Azure كحاويات مع تبعيات مخصصة وتكديس لغات.
- التحجيم إلى الصفر وتوسيع نطاقه إلى 1000 مثيل باستخدام KEDA.
- شبكة آمنة مع تكامل الشبكة الظاهرية الكاملة.
- ميزات تطبيق الحاوية المتقدمة مثل المراجعات المتعددة وتقسيم حركة المرور وتكامل Daprومكونات المراقبة.
- دعم وحدة معالجة الرسومات بلا خادم ومخصصة لأحمال العمل كثيفة الحوسبة.
- بيئة تطبيقات الحاوية الموحدة لتشغيل الوظائف جنبا إلى جنب مع الخدمات المصغرة وواجهات برمجة التطبيقات ووظائف الخلفية.
يساعدك الجدول التالي على مقارنة ميزات الوظائف على تطبيقات الحاوية مع خطة استهلاك Flex.
| Feature | Container Apps | خطة استهلاك Flex |
|---|---|---|
| تغيير الحجم إلى الصفر | ✅ نعم (عبر KEDA) | ✅ نعم |
| الحد الأقصى للتوسع | 1000 (افتراضي 10، قابل للتكوين) | 1,000 |
| مثيلات التشغيل الدائم |
✅ نعم (عبر minReplicas) |
✅ نعم (عبر مثيلات جاهزة دائما) |
| تكامل الشبكة الظاهرية | ✅ نعم | ✅ نعم |
| دعم الحاوية المخصصة | ✅ نعم (أحضر صورتك الخاصة) | ❌ محدودة (لا تجلب الحاوية الخاصة بك) |
| دعم GPU | ✅ نعم (عبر ملف تعريف حمل العمل المخصص لوحدة معالجة الرسومات بلا خادم) | ❌ لا |
| الميزات المضمنة | دعم ميزة تطبيقات الحاوية. على سبيل المثال، KEDA، Dapr، المراجعات المتعددة، mTLS، sidecars، التحكم في الدخول والمزيد | ميزات الوظائف فقط |
| نموذج الفوترة | تسعير تطبيقات الحاوية: خطة الاستهلاك (وحدة المعالجة المركزية الظاهرية والذاكرة والطلبات) وخطة مخصصة (مستندة إلى ملف تعريف حمل العمل) | وقت التنفيذ + مثيلات جاهزة دائما |
للحصول على مقارنة كاملة بين Functions on Container Apps مقابل خطة Flex Consumption وجميع أنواع الخطط والاستضافة الأخرى، راجع خيارات تغيير حجم الوظائف والاستضافة.
Scenarios
دالات Azure على تطبيقات الحاويات مثالية لمجموعة واسعة من حالات الاستخدام، خاصة عندما تحتاج إلى تنفيذ مدفوع بالأحداث، أو مرونة الحاويات، أو تكامل آمن مع خدمات أخرى:
- واجهات برمجة تطبيقات خط الأعمال: تجمع مكتبات وحزم وواجهات برمجة تطبيقات مخصصة مع دالات Azure لتطبيقات خط الأعمال.
- الترحيل والتحديث: ترحيل التطبيقات القديمة و/أو المتجانسة المحلية إلى الخدمات المصغرة السحابية الأصلية على الحاويات.
- معالجة مدفوعة بالأحداث: التعامل مع الأحداث من شبكة الأحداث، Service Bus، مراكز الأحداث، ومصادر الأحداث الأخرى بسهولة نموذج برمجة الدوال.
- أحمال عمل الذكاء الاصطناعي ووحدة معالجة الرسومات: معالجة عبء العمل بدون خادم لمقاطع الفيديو أو الصور أو النصوص أو أي مهام معالجة مكثفة أخرى تتطلب موارد حوسبة GPU. لمزيد من المعلومات، راجع استخدام وحدات معالجة الرسوميات بدون خادم في Azure Container Apps.
- Microservices: دمج دالات Azure مع خدمات أخرى مستضافة لتطبيقات الحاويات.
- حاويات مخصصة: وظائف الحزمة مع أوقات تشغيل مخصصة أو سيارات جانبية.
- التطبيقات الخاصة: تأمين الوظائف الداخلية فقط باستخدام الشبكة الظاهرية والدخول الداخلي.
- .NET Aspire: تكامل .NET Aspire مع دالات Azure يمكنك من تطوير وتصحيح وتنسيق مشروع دالات Azure .NET كجزء من مضيف التطبيق .NET Aspire. اقرأ المزيد على دالات Azure مع .NET Aspire
- الوظائف العامة: تشغيل أي سيناريوهات دالات Azure القياسية المدعومة (على سبيل المثال، المؤقتات، معالجة الملفات، مشغلات قاعدة البيانات).
النشر والإعداد
لنشر دالات Azure على Azure Container Apps، تقوم بتغليف تطبيق Functions كصورة حاوية مخصصة ونشره مثل أي تطبيق حاوية آخر مع فرق رئيسي واحد. تحتاج إلى تعيين خاصية kind=functionapp عند استخدام قوالب Azure CLI أو ARM/Bicep. للحصول على خطوات وأمثلة مفصلة ، راجع وثائق البدء الرسمية.
az containerapp create \
--resource-group $RESOURCE_GROUP_NAME \
--name $CONTAINER_APP_NAME \
--environment $ENVIRONMENT_NAME \
--image mcr.microsoft.com/k8se/quickstart-functions:latest \
--ingress external \
--target-port 80 \
--kind functionapp \
--query properties.outputs.fqdn
يرجع هذا الأمر عنوان URL لتطبيق Functions. انسخ عنوان URL هذا والصقه في متصفح ويب.
في بوابة Azure، اختر خيار Optimize for دالات Azure أثناء إنشاء تطبيق الحاوية لتبسيط الإعداد.
يتم دعم جميع طرق النشر القياسية، بما في ذلك:
- واجهة سطر الأوامر Azure (Azure CLI)
- مدخل Azure
- قوالب ARM / Bicep
- خطوط أنابيب CI/CD (على سبيل المثال، GitHub Actions و Azure Pipelines)
للحصول على خطوات وأمثلة مفصلة ، راجع وثائق البدء الرسمية.
التسعير والفوترة
دالات Azure on Azure Container Apps follow هەمان Model Price Model مثل Azure Container Apps. تستند الفوترة إلى نوع الخطة التي تحددها لبيئتك، والتي يمكن أن تكون إما استهلاكية أو مخصصة.
- خطة الاستهلاك: هذا الخيار للحوسبة بدون خادم يفرض عليك فقط مقابل الموارد التي تستخدمها تطبيقاتك أثناء تشغيلها.
- خطة مخصصة: يوفر هذا الخيار موارد حوسبة مخصصة، وتفوترك بالمثيلات المخصصة لكل ملف تعريف حمل عمل.
يحدد اختيارك للخطة كيفية إجراء حسابات الفوترة. يمكن للتطبيقات المختلفة داخل بيئة استخدام خطط مختلفة.
النقاط الرئيسية التي يجب ملاحظتها:
- لا توجد رسوم إضافية عند استخدام نموذج برمجة دالات Azure داخل تطبيقات الحاويات.
- يتم دعم وفوترة Durable Functions والأنماط المتقدمة الأخرى تحت نفس نموذج تسعير تطبيقات الحاوية. للحصول على تفاصيل آليات الفوترة والأمثلة، راجع الفوترة في Azure Container Apps الوثائقي.
التحجيم المستند إلى الأحداث
تدعم دالات Azure في تطبيقات الحاويات جميع أوقات التشغيل الرئيسية language المتوفرة بلغات دالات Azure، بما في ذلك C#، جافاسكريبت / TypeScript (Node.js)، Python، Java، PowerShell، وحاويات مخصصة (أحضر صورتك الخاصة).
دالات Azure يعمل على Azure Container Apps تكوين قواعد التوسع التلقائي بناء على مصدر الحدث، مما يلغي الحاجة إلى تعريفات قواعد مقياس KEDA يدوية. لهذا السبب زر "إضافة قواعد المقياس" في بوابة Azure معطل للوظائف في تطبيقات الحاويات. ومع ذلك، لا يزال بإمكانك تحديد الحد الأدنى والحد الأقصى لعدد النسخ المتماثلة لإنشاء حدود التحجيم والحفاظ على التحكم في تخصيص الموارد.
تقوم المنصة تلقائيا بترجمة معلمات مشغل الوظائف (من host.json خصائص التكوين أو المشغل) إلى معلمات مقياس KEDA مناسبة. للحصول على مرجع مفصل حول كيفية تعيين تكوينات تفعيل الوظائف مع معلمات التوسع في KEDA، انظر دالات Azure تعيينات KEDA scaling mappings.
جميع المشغلات والروابط دالات Azure القياسية مدعومة في تطبيقات الحاويات مع exceptions التالية:
- مخزن البيانات الثنائية الكبيرة Trigger Auto Staging: يعمل فقط عند استخدام Event Grid كمصدر للأحداث. تعرف أكثر على Triggering دالات Azure على حاويات blob باستخدام اشتراك الحدث
- Durable Functions Auto Scaling: يدعم فقط مزودي تخزين MSSQL (Microsoft SQL Server) وDTS (Durable Task Scheduler). اطلع على مزيد من الإرشادات حول نشر الوظائف الدائمة باستخدام MSSQL
- التحجيم التلقائي غير مدعوم من أجل:
- ذاكرة التخزين المؤقت في Azure لـ Redis
- Azure SQL
يتم دعم الهويات المدارة للمشغلات والروابط التي تسمح بذلك. كما أنها متاحة ل:
- حساب التخزين الافتراضي (AzureWebJobsStorage)
- Azure Container Registry (ACR)
- الاتصال بمصادر أحداث المشغل
بالنسبة للمشغلات غير المدعومة، استخدم أعداد النسخ الثابتة (أي تعيين minReplicas > 0) في دالات Azure على Azure Container Apps. لمزيد من المعلومات، راجع دليل مطور الوظائف.
التحجيم والأداء
دالات Azure على تطبيقات الحاويات يتدرج تلقائيا بناء على الأحداث باستخدام KEDA، دون الحاجة لتكوين قواعد التوسيع يدويا. لا يزال بإمكانك تعيين الحد الأدنى/الحد الأقصى للنسخ المتماثلة للتحكم في سلوك التحجيم.
- تحجيم مدفوع بالأحداث: يتدرج تلقائيا بناء على محفزات مثل شبكة الأحداث أو Service Bus أو HTTP.
- تغيير الحجم إلى الصفر: قم بتحجيم التطبيقات الخاملة إلى الصفر لتوفير التكاليف.
- التحكم في التشغيل البارد: تعرف على تقليل وقت التشغيل البارد على Azure Container Apps.
- التزامن: يمكن لكل مثيل معالجة أحداث متعددة بالتوازي.
- مقياس عالي: التوسع إلى 1,000 مثيل لكل تطبيق (الإعداد الافتراضي هو 10).
- دعم وحدة معالجة الرسومات: قم بتشغيل أحمال العمل الثقيلة مثل استدلال الذكاء الاصطناعي باستخدام العقد المدعومة بوحدة معالجة الرسومات.
وهذا يجعل تطبيقات الحاوية مثالية لكل من أحمال العمل الاندفاعية والمستقرة. لمعرفة المزيد، راجع اضبط قواعد التحجيم في Azure Container Apps
الشبكات والأمان
دالات Azure في تطبيقات الحاويات تستفيد من networking القوية وميزات security features لنشر آمن وقابل للتوسع:
- تكامل الشبكة الظاهرية: الوصول إلى الموارد الخاصة بأمان عبر نقاط النهاية الداخلية وقواعد البيانات الخاصة.
- Managed Identity: المصادقة مع خدمات Azure باستخدام هويات معينة من النظام/المستخدم—لا حاجة للأسرار أو سلاسل الاتصال.
- دعم Dapr: تمكين pub / sub وإدارة الحالة واستدعاء الخدمة الآمنة عبر Dapr sidecars. لمزيد من المعلومات، راجع واجهات برمجة تطبيقات الخدمات المصغرة التي يتم تشغيلها بواسطة Dapr.
- الدخول وTLS: كشف نقاط نهاية HTTP الآمنة باستخدام TLS/mTLS أو المجالات المخصصة أو الاحتفاظ بها داخلية.
- عزل البيئة: تشترك الوظائف في حدود بيئة تطبيقات الحاوية للاتصال الآمن والنطاق.
تجعل هذه الإمكانات الوظائف المستضافة على تطبيقات الحاوية مثالية للتطبيقات بلا خادم آمنة على مستوى المؤسسة.
المراقبة والتسجيل
دالات Azure on Container Apps يتكامل بسلاسة مع أدوات الملاحظة الخاصة ب Azure لتتبع الأداء وتشخيص المشكلات:
- رؤى التطبيق: يوفر بيانات تتبع الاستخدام للطلبات والتبعيات والاستثناءات والتتبعات المخصصة. لمزيد من المعلومات، راجع Monitor دالات Azure.
- تحليلات السجل: يلتقط دورة حياة الحاوية وأحداث التحجيم (على سبيل المثال، إدخالات FunctionsScalerInfo). لمزيد من المعلومات، راجع تسجيل التطبيقات في Azure Container Apps.
- التسجيل المخصص: يدعم الأطر القياسية مثل ILogger وتسجيل وحدة التحكم للمخرجات المنظمة.
- المراقبة المركزية: توفر بيئة Container Apps لوحات معلومات وتنبيهات موحدة عبر جميع التطبيقات.
متغيرات البيئة
دالات Azure التي تعمل على تطبيقات الحاويات لديها إمكانية الوصول إلى متغيرات البيئة المقدمة من النظام. يتم تعيين CONTAINER_NAME متغير البيئة تلقائيا على اسم النسخة لتطبيق الدالة الخاص بك. استخدم هذا المتغير للتسجيل، والارتباط، وتصحيح الأخطاء في سيناريوهات النسخ المتعددة.
للحصول على قائمة كاملة بمتغيرات البيئة المقدمة من النظام، انظر متغيرات البيئة في Azure Container Apps.
الاعتبارات
ضع هذه الاعتبارات الأخرى في اعتبارك عند استخدام دالات Azure على Azure Container Apps:
- متطلبات الدخول للقياس التلقائي: لتمكين التحجيم التلقائي استنادا إلى الأحداث، يجب تمكين الدخول، إما بشكل عام أو داخل البيئة الداخلية لتطبيقات الحاوية.
- حساب التخزين الإلزامي: يجب ربط كل تطبيق Functions تم نشره على Container Apps بحساب تخزين. هذا مطلوب لإدارة المشغلات والسجلات والحالة. راجع إرشادات حساب التخزين للحصول على أفضل الممارسات.
- التخزين متعدد المراجعات: عند النشر باستخدام مراجعات نشطة متعددة، قم بتعيين حساب تخزين مخصص لكل مراجعة. يساعد استخدام حساب تخزين مخصص على منع التعارضات ويضمن العزل المناسب. بدلا من ذلك، إذا كنت لا تحتاج إلى مراجعات متزامنة، ففكر في استخدام وضع المراجعة الفردية الافتراضي للإدارة المبسطة.
- مشغلات المراجعات المتعددة: إذا كنت تستخدم وضع المراجعة المتعددة مع مشغل قائم على السحب، فاستخدم مصدر حدث مختلفا لكل مراجعة لتجنب التعارضات المتعلقة بالمستهلكين المتنافسين. Functions التي تستخدم Azure Queue Storage، مراكز أحداث Azure، ناقل خدمة Azure، أو Durable Functions triggers هي أمثلة على triggers المعتمدة على السحب.
- زمن انتقال البدء على البارد: عندما يتوسع تطبيق الحاوية الخاص بك إلى الصفر خلال فترات الخمول، يواجه الطلب الأول بعد عدم النشاط بداية باردة. تعرف على المزيد حول تقليل أوقات البدء على البارد.
- تكامل Application Insights: للحصول على مراقبة وتشخيصات قوية، اربط تطبيق Functions ب Application Insights. لمزيد من المعلومات، راجع تكامل App Insights مع Functions.
- وكلاء الوظائف: غير مدعوم. بالنسبة لسيناريوهات بوابة API، قم بالدمج مع إدارة Azure API بدلا من ذلك.
- فتحات النشر: لا تتوفر فتحات التجهيز والإنتاج المتاحة. استخدم استراتيجيات النشر باللون الأزرق والأخضر للإصدارات بدون تعطل.
- مفاتيح الوصول إلى الوظائف: استخدام البوابة لتوليد مفاتيح الوصول للوظائف غير مدعوم. فكر في استخدام Azure Key Vault لتخزين المفاتيح. يمكنك أيضا استخدام الخيارات التالية لتأمين نقاط نهاية HTTP في الإنتاج:
- حدود الحصة النسبية والموارد: تحتوي بيئات تطبيقات الحاوية على حدود افتراضية على عدد الذاكرة ووحدة المعالجة المركزية والمثيلات لكل منطقة. لمزيد من المعلومات، راجع حدود البيئةوالحصص النسبية الافتراضية. إذا كان حمل العمل الخاص بك يتطلب المزيد من الموارد، فيمكنك طلب زيادة الحصة النسبية.
- تكوين قواعد القياس اليدوي: زر "إضافة قواعد الحجم" في بوابة Azure معطل ل دالات Azure المستضافة في تطبيقات الحاويات لأن قواعد التوسع يتم تكوينها تلقائيا بناء على مصدر الحدث. تعريفات قواعد KEDA اليدوية غير مطلوبة في هذا الإعداد.
إرسال ملاحظات
قدم مشكلة أو طلب ميزة إلى Azure Container Apps GitHub repos.
الخطوات التالية / موارد إضافية
لمواصلة التعلم والبناء باستخدام دالات Azure على تطبيقات الحاويات، استكشف الموارد التالية:
- Getting started: دليل خطوة بخطوة لنشر وتكوين دالات Azure في Azure Container Apps.
- Azure Container Apps documentation: مرجع كامل لميزات تطبيقات الحاويات بما في ذلك التكبير، الشبكات، DAPR، وملفات تعريف عبء العمل.
- Azure Container Apps التسعير: تفاصيل حول الفوترة القائمة على الاستهلاك وتكاليف الخطط المخصصة.
- خيارات استضافة دالات Azure: مقارنة خطط الاستضافة بما في ذلك تطبيقات الحاويات، الاستهلاك المرن، المميز، والمخصص.
- دالات Azure دليل المطورين: تعمق في المحفزات، والقيود، وسلوك وقت التشغيل، والتكوين.