بالأمس، كتبت مقالًا بعنوان "نشر وظيفة Java Azure على تطبيقات Azure Container Apps."
في هذا الإدخال، ذكرت استخدام إمكانات الإدارة المتكاملة لـ Azure وأريد توضيح معنى ذلك وكيف يختلف عن الطرق السابقة في هذه المقالة.
تعد Azure Container Apps إحدى بيئات تنفيذ الحاويات في Azure، مما يسمح لك بتشغيل أي خدمة داخل حاوية. في السابق، إذا كنت تريد تشغيل Azure Functions في Azure Container Apps، فيمكنك إنشاء مثيل باستخدام الأمر التالي:
az containerapp create \ --name general-container-app \ --resource-group $RESOURCE_GROUP_NAME \ --environment $CONTAINER_ENVIRONMENT \ --registry-server $CONTAINER_REGISTRY_SERVER \ --image $CONTAINER_REGISTRY_SERVER/$C_IMAGE_NAME:$C_IMAGE_TAG \ --target-port 80 \ --ingress external \ --query properties.configuration.ingress.fqdn
بعد تنفيذ الأمر، ستظهر لك رسالة مثل هذه:
Container app created. Access your app at https://general-container-app.niceocean-********.eastus.azurecontainerapps.io/
يمكنك بعد ذلك استخدام أمر تجعيد للاتصال بخدمة Azure Functions:
curl https://general-container-app.niceocean-********.eastus.azurecontainerapps.io/api/httpexample?name=World
عند الوصول إلى بيئة تطبيقات Azure Container، سترى أنه تم إنشاء تطبيق الحاوية العامة كتطبيق حاوية، وتتوفر واجهة الإدارة هذه لأي تطبيق منشور في حاوية.
https://raw.githubusercontent.com/yoshioterada/Azure-Functions-Deploy-To-Azure-Container-Apps/main/images/ACA-Instance-for-Azure-Functions.png
تتيح لك الطريقة الجديدة إنشاء وظائف Azure في تطبيقات Azure Container باستخدام أمر إنشاء az functionapp بدلاً من إنشاء az Containerapp.
az functionapp create \ --name $AZURE_FUNCTION_NAME \ --resource-group $RESOURCE_GROUP_NAME \ --environment $CONTAINER_ENVIRONMENT \ --storage-account $STORAGE_NAME \ --workload-profile-name "Consumption" \ --max-replicas 15 \ --min-replicas 1 \ --functions-version 4 \ --runtime java \ --image $CONTAINER_REGISTRY_SERVER/$C_IMAGE_NAME:$C_IMAGE_TAG \ --assign-identity
باستخدام هذا الأمر، سيتم إنشاء وظائف Azure الخاصة بك في تطبيقات Azure Container Apps، وستظهر واجهة الإدارة بوضوح أنه تطبيق وظيفي.
وهذا يعني أنه يمكن الآن إدارة وظائف Azure من خلال واجهة إدارة Azure Functions المخصصة، مما يجعلها مختلفة عن تطبيقات الحاويات الأخرى.
ومع ذلك، هناك بعض الاختلافات بين ميزات الإدارة المتوفرة في خدمة تطبيقات Azure وتلك المتوفرة لوظائف Azure في تطبيقات الحاوية. على سبيل المثال، قد لا تتوفر وظائف معينة مثل أدوات التشخيص وميزات النشر وغيرها.
للمقارنة، إليك واجهة الإدارة لوظائف Azure المنشورة على خدمة تطبيقات Azure.
يمكن أن تتضمن الاختلافات في إمكانات الإدارة بين خدمة التطبيقات وتطبيقات Azure Container ما يلي:
- Diagnose and solve problems - Microsoft Defender for Cloud - Events (preview) - Log stream - Deployment - App Service plan - Development Tools - Monitoring - Support troubleshooting
قد يعتقد البعض أن عدم وجود ميزات معينة يشير إلى فقدان الوظائف.
ومع ذلك، عند النشر إلى Azure Container Apps، فإن بيئة التشغيل تعتمد على الحاوية، مما يؤدي إلى تغيير أساليب النشر والإدارة. ستحتاج الميزات غير المضمنة في واجهة إدارة Azure Functions إلى إدارتها بشكل منفصل من خلال واجهة Azure Container Apps.
عند استخدام أمر إنشاء az functionapp لإنشاء مثيل Azure Functions على تطبيقات Azure Container Apps، يتم إنشاء مجموعة موارد جديدة تلقائيًا تحتوي على مثيل الحاوية.
في بيئتي، يتبع اسم مجموعة الموارد هذه الاتفاقية:
$CONTAINER_ENVIRONMENT_FunctionApps_$UUID
سترى أنه تم إنشاء مثيل Azure Container Apps الذي تم تسميته باسم $AZURE_FUNCTION_NAME المحدد.
عند النقر على هذا المثيل، سيتم توجيهك إلى واجهة إدارة خاصة بتطبيقات Azure Container Apps، حيث تعمل وظائف Azure كمثيلات حاوية.
توفر تطبيقات Azure Container Apps طرق نشر وCI/CD مختلفة عن خدمة Azure App. كما يسمح أيضًا بالميزات المقدمة على مستوى الحاوية، مثل Dapr وService Connector، والتي يمكن الاستفادة منها.
في السابق، كان من الممكن تشغيل وظائف Azure عن طريق وضعها في حاويات في بيئة تنفيذ الحاوية، ولكن لم تكن هناك واجهة إدارة مخصصة لوظائف Azure.
بفضل هذه الطريقة الجديدة، تم دمج Azure Functions وتطبيقات Azure Container Apps، مما يوفر بيئة حاوية مع واجهة إدارة Azure Functions المرتبطة.
أعلم أن بعض العملاء يقومون بتشغيل Azure Functions Container على خدمة Azure Kubernetes (AKS). في السابق، كانوا يفتقرون إلى واجهة إدارة مخصصة. ومع ذلك، من خلال النشر إلى Azure Container Apps، يمكنهم الآن استخدام إدارة Azure Functions مع الاستمتاع ببساطة إدارة Azure Container Apps مقارنة بإدارة العمليات على AKS.
من المرجح أن تتطور طرق نشر وظائف Azure إلى تطبيقات Azure Container Apps بشكل أكبر. وإنني أتطلع إلى رؤية كيف يتطور هذا.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3