"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > 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

Publié le 2024-09-13
Parcourir:349

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 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

Lorsque vous accédez à 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 la différencie des autres applications de conteneur.

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

  • Ramasser:
- 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 fournit 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.

Conclusion

Auparavant, il était possible d'exécuter Azure Functions en les conteneurisant dans un environnement d'exécution de conteneurs, mais il n'existait pas d'interface de gestion dédiée pour Azure Functions.

Avec cette nouvelle méthode, Azure Functions et Azure Container Apps se sont intégrés, offrant un environnement de conteneur avec une interface de gestion Azure Functions associée.

Je sais que certains clients exploitent Azure Functions Container sur Azure Kubernetes Service (AKS). Auparavant, il leur manquait une interface de gestion dédiée. Cependant, en déployant sur Azure Container Apps, ils peuvent désormais utiliser la gestion Azure Functions tout en profitant de la simplicité de gestion d’Azure Container Apps par rapport à la gestion des opérations sur AKS.

Les méthodes de déploiement d'Azure Functions sur Azure Container Apps sont susceptibles d'évoluer davantage. J'ai hâte de voir comment cela évoluera.

Déclaration de sortie Cet article est reproduit à l'adresse : https://dev.to/azure/comparison-of-two-methods-for-deploying-azure-functions-to-azure-container-apps-2o7o?1. En cas de violation, veuillez contacter study_golang@163 .comdelete
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3