نشر تطبيق Spring الذكاء الاصطناعي إلى Azure Container Apps

مكتمل

في هذه الوحدة، ستتعرف على نشر تطبيق Spring retrieval-augmented generation (RAG) إلى Azure Container Apps. Azure Container Apps هو نظام أساسي بلا خادم يمكنك من الحفاظ على بنية أساسية أقل وتوفير التكاليف عند تشغيل التطبيقات المعبأة في حاويات. تغطي هذه الوحدة مفاهيم Container Apps الضرورية بحيث يمكنك تعبئة التطبيق الخاص بك في حاويات، وإعداد Azure Container Apps، وضمان توزيع آمن وقابل للتطوير.

Environments

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

رسم تخطيطي يوضح بيئة Azure Container Apps.

هناك نوعان من بيئات تطبيق الحاوية:

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

  • الاستهلاك فقط: قم بتشغيل التطبيقات بلا خادم مع دعم تغيير الحجم إلى الصفر والدفع مقابل الموارد التي تستخدمها تطبيقاتك فقط.

Replicas

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

مراجعات

المراجعات هي لقطات غير قابلة للتغيير لتكوين تطبيق الحاوية ورمزه في نقطة زمنية محددة. ينشئ كل عملية نشر مراجعة جديدة، مما يتيح لك العودة إلى الإصدارات السابقة إذا لزم الأمر. تتيح المراجعات التحديثات الآمنة والتحكم في الإصدار للتطبيقات المعبأة في حاويات. يمكنك تكوين تقسيم نسبة استخدام الشبكة بين المراجعات لنشر ميزات جديدة تدريجيا أو لإجراء اختبار A/B.

أنواع النشر

هناك ثلاثة أنواع توزيع أساسية لتطبيقات حاويات Azure:

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

  • النشر من التعليمات البرمجية المصدر: يمكنك نشر التطبيق الخاص بك مباشرة من مستودع التعليمات البرمجية المصدر المحلي. يقوم az container up الأمر بإنشاء صورة الحاوية، ودفعها إلى سجل، ونشر تطبيق الحاوية. كما أنه ينشئ السجل في Azure Container Registry إذا لم توفر سجلا. يمكن لهذا الأمر إنشاء الصورة باستخدام Dockerfile أو بدونه. إذا قمت بالبناء بدون Dockerfile، يتم دعم اللغات التالية:

    • .NET
    • Node.js
    • PHP
    • Python
  • النشر من مستودع GitHub: عند استخدام az containerapp up الأمر للتوزيع من مستودع GitHub، فإنه ينشئ سير عمل GitHub Actions الذي يبني صورة الحاوية، ويدفعها إلى سجل، وينشر تطبيق الحاوية. مطلوب Dockerfile لإنشاء الصورة.

خيارات الدخول

تدعم Azure Container Apps خيارات الدخول التالية للتحكم في كيفية الوصول إلى التطبيق الخاص بك:

  • الدخول الخارجي: يعرض هذا الخيار تطبيق الحاوية إلى الإنترنت، مما يسمح للعملاء الخارجيين بالوصول إليه. يمكنك تكوين المجالات المخصصة وشهادات TLS/SSL للوصول الآمن.

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

  • بدون دخول: إذا لم تكن بحاجة إلى أي وصول خارجي أو داخلي، يمكنك تعطيل الدخول. هذا الخيار مفيد للوظائف أو الخدمات في الخلفية التي لا تتطلب الوصول المباشر.

تغير الحجم

توفر Azure Container Apps خيارات تحجيم مرنة للتأكد من أن تطبيقك يمكنه التعامل مع الأحمال المختلفة بكفاءة. تصف القائمة التالية خيارات التحجيم الأساسية:

  • التحجيم اليدوي: يمكنك تعيين عدد النسخ المتماثلة لتطبيق الحاوية يدويا. يمنحك هذا الخيار التحكم الكامل في عملية التحجيم، ما يتيح لك ضبط عدد المثيلات بناء على احتياجاتك المحددة.

  • التحجيم التلقائي: تدعم Azure Container Apps التحجيم التلقائي استنادا إلى مقاييس مختلفة. يمكنك تكوين قواعد التحجيم التلقائي لضبط عدد النسخ المتماثلة تلقائيا استنادا إلى استخدام وحدة المعالجة المركزية أو استخدام الذاكرة أو المقاييس المخصصة، بما في ذلك JVM - جهاز Java الظاهري - المقاييس، باستخدام التحجيم التلقائي المستند إلى أحداث Kubernetes (KEDA). تضمن هذه الإمكانية أن التطبيق الخاص بك يمكنه التعامل مع زيادة نسبة استخدام الشبكة دون تدخل يدوي.

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

لتكوين التحجيم، يمكنك استخدام CLI Azure أو مدخل Azure أو قوالب ARM. يوضح لك المثال التالي كيفية إعداد التحجيم التلقائي باستخدام Azure CLI:

az containerapp update \
    --resource-group spring-ai-demo \
    --name spring-ai-app \
    --min-replicas 1 \
    --max-replicas 10 \
    --scale-rule-name http-rule \
    --scale-rule-type http \
    --scale-rule-http-concurrency 15

في هذا المثال، يتم تكوين تطبيق الحاوية لتوسيع نطاقه بين 1 و10 نسخ متماثلة استنادا إلى تزامن HTTP. يتم تعيين تزامن HTTP إلى 50، ما يعني أن كل نسخة متماثلة تعالج ما يصل إلى 50 طلب HTTP متزامن قبل إنشاء المزيد من المثيلات.

ملخص الوحدة

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