مقارنة تطبيقات الحاويات بخيارات حاوية Azure الأخرى

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

لا يوجد حل مثالي لكل حالة استخدام ولكل فريق. يقدم الشرح التالي إرشادات عامة وتوصيات كنقطة بداية للمساعدة في الحصول على أفضل ما يناسب فريقك ومتطلباتك.

مقارنات خيار الحاوية

Azure Container Apps

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

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

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

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

Azure App Service

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

مثيلات حاوية Azure

توفر Azure Container Instances (ACI) حاوية واحدة من حاويات Hyper-V المعزولة عند الطلب. يمكن اعتباره خيار "كتلة برمجية إنشائية" بمستوى أقل مقارنةً بـ Container Apps. لا يتم توفير مفاهيم مثل المقياس وموازنة التحميل والشهادات مع حاويات ACI. على سبيل المثال، لتوسيع نطاق إلى خمس مثيلات حاوية إنشاء خمس مثيلات حاوية مميزة. توفر Azure Container Apps العديد من المفاهيم الخاصة بالتطبيقات بالإضافة إلى الحاويات، بما في ذلك الشهادات والمراجعات والمقياس والبيئات. غالباً ما يتفاعل المستخدمون مع Azure Container Instances من خلال خدمات أخرى. على سبيل المثال، يمكن لـ Azure Kubernetes Service أن تندمج ويتسع حجمها فوق ACI من خلال العقد الافتراضية . إذا كنت بحاجة إلى كتلة برمجية إنشائية تتسم "بالتصلّب" والتي لا تتوافق مع السيناريوهات التي تعمل Azure Container Apps على تحسينها، فإن Azure Container Instances تكون الخيار الأمثل.

Azure Kubernetes Service

توفر خدمة Azure Kubernetes (AKS) خيار Kubernetes مدار بالكامل في Azure. كما أنها تدعم الوصول المباشر إلى واجهة برمجة التطبيقات Kubernetes وتعمل على تشغيل أي حمل عمل Kubernetes. الكتلة الكاملة موجودة في الاشتراك الخاص بك مع تكوينات الكتلة والعمليات ضمن عنصر التحكم الخاص بك والمسؤولية. الفرق التي تبحث عن إصدار مُدار بالكامل من Kubernetes في Azure ، تعد خدمة Azure Kubernetes خيارًا مثاليًا.

دالات Azure

Azure Functions هو حل Functions-as-a-Service (FaaS) بلا خادم. تحسين تشغيل الدوال التي تعتمد على الأحداث باستخدام نموذج برمجة الدوال. كما أنه يشترك في العديد من الخصائص مع Azure Container Apps حول الحجم والتكامل مع الأحداث، ولكنه محسّن للدوال المؤقتة التي يتم توزيعها إما باعتبارها تعليمات برمجية أو حاويات. يوفر نموذج البرمجة Azure Functions مزايا إنتاجية للفِرق التي تتطلع إلى تشغيل الأحداث والربط بمصادر البيانات الأخرى. عند إنشاء دوال مماثلة لأسلوب الدوال كخدمة "FaaS"، فإن Azure Functions تكون الخيار الأمثل. يتوفر نموذج البرمجة Azure Functions كصورة حاوية أساسية، ما يجعلها قابلة للنقل إلى أنظمة الحوسبة الأخرى المستندة إلى الحاوية ما يسمح للفِرق بإعادة استخدام التعليمات البرمجية مع تغير متطلبات البيئة.

Azure Spring Apps

Azure Spring Apps هي خدمة مدارة بالكامل لمطوري Spring. إذا كنت ترغب في تشغيل Spring Boot أو Spring Cloud أو أي تطبيقات Spring أخرى على Azure، فإن Azure Spring Apps هو خيار مثالي. تدير الخدمة البنية التحتية لتطبيقات Spring حتى يتمكن المطورون من التركيز على رمزهم. توفر Azure Spring Apps إدارة دورة الحياة باستخدام المراقبة الشاملة والتشخيص وإدارة التكوين واكتشاف الخدمة وتكامل CI/CD والتوزيع باللون الأزرق والأخضر وغير ذلك الكثير.

Azure Red Hat OpenShift

يتم تصميم Azure Red Hat OpenShift وتشغيله ودعمه بشكل مشترك من قبل Red Hat وMicrosoft لتوفير منتج متكامل وتجربة دعم لتشغيل OpenShift المدعوم من Kubernetes. يمكنك اختيار حلول التسجيل والشبكات والتخزين وCCI/CD الخاصة بك، أو استخدام الحلول المضمنة لإدارة التعليمات البرمجية للمصدر تلقائياً، وعمليات إنشاء الحاوية والتطبيقات، والتوزيع، والتحجيم، والإدارة الصحية، وغيرها. إذا كان فريقك أو مؤسستك يستخدم OpenShift، فإن Azure Red Hat OpenShift هو خيار مثالي.

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