مراجعة Azure Container Apps

مكتمل

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

أشياء يجب معرفتها حول Azure Container Apps

Azure Container Apps هو نظام أساسي بلا خادم يسمح لك بالحفاظ على بنية أساسية أقل وتوفير التكاليف أثناء تشغيل التطبيقات المعبأة في حاويات. بدلا من القلق بشأن تكوين الخادم وتنسيق الحاوية وتفاصيل النشر، توفر Container Apps جميع موارد الخادم المحدثة المطلوبة للحفاظ على تطبيقاتك مستقرة وآمنة.

تتضمن الاستخدامات الشائعة لـAzure Container Apps ما يلي:

  • نشر نقاط نهاية API
  • استضافة مهام معالجة الخلفية
  • التعامل مع المعالجة القائمة على الحدث
  • تشغيل الخدمات الصغيرة

بالإضافة إلى ذلك، يمكن للتطبيقات المبنية على Azure Container Apps تغيير الحجم ديناميكيا استنادا إلى الخصائص التالية:

  • حركة مرور HTTP
  • معالجة تستند إلى الحدث
  • معالج CPU أو تحميل الذاكرة
  • أي مقياس مدعوم من KEDA

الأشياء التي يجب مراعاتها عند استخدام Azure Container Apps

تمكنك Azure Container Apps من إنشاء خدمات مصغرة ووظائف بلا خادم استنادا إلى الحاويات. وتشمل الميزات المميزة لتطبيقات الحاويات ما يلي:

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

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

مقارنة حلول إدارة الحاويات

يمكن إدارة مثيلات حاوية Azure (ACI) بعدة طرق. Azure Container Apps (ACA) هي إحدى الطرق، وخدمة Azure Kubernetes (AKS) هي طريقة أخرى. فيما يلي جدول مقارنة لمتى تستخدم ACA وAKS.

ميزة Azure Container Apps (ACA) خدمة Azure Kubernetes ‏(AKS)
نظرة عامة ACA هو نظام أساسي للحاويات بلا خادم يبسط نشر وإدارة التطبيقات المستندة إلى الخدمات المصغرة من خلال تجريد البنية الأساسية. تعمل AKS على تبسيط نشر كتلة Kubernetes مدارة في Azure بإلغاء تحميل الحمل التشغيلي إلى Azure. وهو مناسب للتطبيقات المعقدة التي تتطلب التزامن.
التوزيع يوفر ACA تجربة PaaS مع إمكانات النشر والإدارة السريعة. توفر AKS المزيد من خيارات التحكم والتخصيص لبيئات Kubernetes، ما يجعلها مناسبة للتطبيقات المعقدة والخدمات المصغرة.
الإدارة تعتمد ACA على AKS وتقدم تجربة PaaS مبسطة لتشغيل الحاويات، مع ميزات إضافية، مثل Dapr للخدمات المصغرة. توفر AKS تحكما أكثر دقة في بيئة Kubernetes، ومناسبة للفرق التي لديها خبرة Kubernetes.
قابلية التوسع يدعم ACA كلا من التحجيم التلقائي المستند إلى HTTP والتحجيم المستند إلى الحدث، ما يجعله مثاليا للتطبيقات التي تحتاج إلى الاستجابة بسرعة للتغييرات في الطلب. تقدم AKS التحجيم التلقائي للجراب الأفقي والتحجيم التلقائي للمجموعة، ما يوفر خيارات قابلة للتوسع قوية للتطبيقات المعبأة في حاويات.
استخدام الحالات تم تصميم ACA للخدمات المصغرة والتطبيقات بلا خادم التي تستفيد من التحجيم السريع والإدارة المبسطة. AKS هو الأفضل للتطبيقات المعقدة طويلة الأمد التي تتطلب ميزات Kubernetes كاملة والتكامل المحكم مع خدمات Azure الأخرى.
التكامل يتكامل ACA مع Azure Logic Apps و Functions و Event Grid للبنى المستندة إلى الحدث. توفر AKS ميزات مثل نهج Azure ل Kubernetes وAzure Monitor للحاويات وAzure Defender ل Kubernetes للأمان الشامل والحوكمة.