Maison  >  Article  >  Java  >  Comparaison de deux méthodes de déploiement d'Azure Functions sur Azure Container Apps

Comparaison de deux méthodes de déploiement d'Azure Functions sur Azure Container Apps

王林
王林original
2024-09-11 06:43:06944parcourir

Hier, j'ai écrit un article intitulé « Déploiement d'une fonction Java Azure sur Azure Container Apps ».

Dans cette entrée, j'ai mentionné l'utilisation des capacités de gestion intégrées d'Azure et je souhaite clarifier ce que cela signifie et en quoi cela diffère des méthodes précédentes dans cet article.

Ancienne méthode : création avec az containersapp create

Azure Container Apps est l'un des environnements d'exécution de conteneurs d'Azure, vous permettant d'exécuter n'importe quel service conteneurisé. Auparavant, si vous souhaitiez exécuter Azure Functions dans Azure Container Apps, vous deviez créer une instance à l'aide de la commande suivante :

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

Après avoir exécuté la commande, vous verrez un message comme celui-ci :

Container app created. Access your app at https://general-container-app.niceocean-********.eastus.azurecontainerapps.io/

Vous pouvez ensuite utiliser une commande curl pour vous connecter à votre service Azure Functions :

curl https://general-container-app.niceocean-********.eastus.azurecontainerapps.io/api/httpexample?name=World

En accédant à l'environnement Azure Container Apps, vous verrez que l'application conteneur générale est créée en tant qu'application conteneur et que cette interface de gestion est disponible pour toute application conteneurisée déployée.

Comparison of Two Methods for Deploying Azure Functions to Azure Container Apps

https://raw.githubusercontent.com/yoshioterada/Azure-Functions-Deploy-To-Azure-Container-Apps/main/images/ACA-Instance-for-Azure-Functions.png

Nouvelle méthode : création avec az functionapp create

La nouvelle méthode vous permet de créer des fonctions Azure dans Azure Container Apps à l'aide de la commande az functionapp create au lieu de az containersapp create.

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

Avec cette commande, vos Azure Functions seront créées dans Azure Container Apps, et l'interface de gestion indiquera clairement qu'il s'agit d'une Function App.

Comparison of Two Methods for Deploying Azure Functions to Azure Container Apps

Cela signifie qu'Azure Functions peut désormais être géré via une interface de gestion Azure Functions dédiée, ce qui le différencie des autres applications conteneurs.

Cependant, il existe certaines différences entre les fonctionnalités de gestion fournies dans Azure App Service et celles disponibles pour Azure Functions sur Container Apps. Par exemple, certaines fonctionnalités telles que les outils de diagnostic, les fonctionnalités de déploiement et autres peuvent ne pas être disponibles.

Comparison of Two Methods for Deploying Azure Functions to Azure Container Apps

Référence : Azure Functions sur App Service (portail)

À titre de comparaison, voici l’interface de gestion pour Azure Functions déployée sur Azure App Service.

Comparison of Two Methods for Deploying Azure Functions to Azure Container Apps

Les différences dans les capacités de gestion entre App Service et Azure Container Apps peuvent inclure :

Comparison of Two Methods for Deploying Azure Functions to Azure Container Apps

  • Retrait :
- Diagnose and solve problems
- Microsoft Defender for Cloud
- Events (preview)
- Log stream
- Deployment
- App Service plan
- Development Tools
- Monitoring
- Support + troubleshooting

Certains peuvent penser que l'absence de certaines fonctionnalités suggère une fonctionnalité manquante.

Cependant, lorsqu'il est déployé sur Azure Container Apps, l'environnement d'exploitation est basé sur des conteneurs, ce qui modifie les méthodes de déploiement et de gestion. Les fonctionnalités non incluses dans l’interface de gestion Azure Functions devront être gérées séparément via l’interface Azure Container Apps.

Gestion des conteneurs dans Azure Container Apps

Lors de l'utilisation de la commande az functionapp create pour créer une instance Azure Functions sur Azure Container Apps, un nouveau groupe de ressources est automatiquement créé pour héberger l'instance de conteneur.

Comparison of Two Methods for Deploying Azure Functions to Azure Container Apps

Dans mon environnement, le nom du groupe de ressources suit cette convention :

$CONTAINER_ENVIRONMENT_FunctionApps_$UUID

Vous verrez qu'une instance Azure Container Apps nommée d'après votre $AZURE_FUNCTION_NAME spécifié a été générée.

Lorsque vous cliquez sur cette instance, vous serez dirigé vers une interface de gestion spécifique à Azure Container Apps, où les fonctions Azure s'exécutent en tant qu'instances de conteneur.

Comparison of Two Methods for Deploying Azure Functions to Azure Container Apps

Azure Container Apps propose des méthodes de CI/CD et de déploiement différentes de celles d'Azure App Service. Il permet également d'utiliser des fonctionnalités proposées au niveau du conteneur, telles que Dapr et Service Connector.

결론

이전에는 Azure Functions를 컨테이너 실행 환경에서 컨테이너화하여 실행하는 것이 가능했지만, Azure Functions 전용 관리 인터페이스가 없었습니다.

이 새로운 방법을 통해 Azure Functions와 Azure Container Apps가 통합되어 연결된 Azure Functions 관리 인터페이스가 있는 컨테이너 환경을 제공합니다.

일부 고객이 AKS(Azure Kubernetes Service)에서 Azure Functions 컨테이너를 운영하는 것으로 알고 있습니다. 이전에는 전용 관리 인터페이스가 부족했습니다. 그러나 Azure Container Apps에 배포하면 이제 AKS에서 작업을 관리하는 것과 비교하여 Azure Container Apps를 관리하는 단순성을 즐기면서 Azure Functions 관리를 사용할 수 있습니다.

Azure Container Apps에 Azure Functions를 배포하는 방법은 더욱 발전할 가능성이 높습니다. 어떻게 발전할지 기대됩니다.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn