"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > Comparación de dos métodos para implementar funciones de Azure en aplicaciones de contenedores de Azure

Comparación de dos métodos para implementar funciones de Azure en aplicaciones de contenedores de Azure

Publicado el 2024-11-07
Navegar:413

Ayer escribí un artículo titulado "Implementación de una función de Java Azure en aplicaciones de contenedores de Azure".

En esa entrada, mencioné el uso de las capacidades de administración integrada de Azure y quiero aclarar qué significa eso y en qué se diferencia de los métodos anteriores en este artículo.

Método antiguo: crear con az containerapp create

Azure Container Apps es uno de los entornos de ejecución de contenedores de Azure, que le permite ejecutar cualquier servicio en contenedores. Anteriormente, si deseaba ejecutar Azure Functions en Azure Container Apps, debía crear una instancia con el siguiente comando:

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

Después de ejecutar el comando, verás un mensaje como este:

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

Luego podría usar un comando curl para conectarse a su servicio Azure Functions:

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

Al acceder al entorno de aplicaciones de contenedor de Azure, verá que la aplicación de contenedor general se crea como una aplicación de contenedor y esta interfaz de administración está disponible para cualquier aplicación en contenedor implementada.

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

Nuevo método: creación con az functionapp create

El nuevo método le permite crear Azure Functions en Azure Container Apps usando el comando az functionapp create en lugar de az containerapp 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

Con este comando, sus Azure Functions se crearán en Azure Container Apps y la interfaz de administración mostrará claramente que es una Function App.

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

Esto significa que Azure Functions ahora se puede administrar a través de una interfaz de administración de Azure Functions dedicada, lo que la diferencia de otras aplicaciones de contenedor.

Sin embargo, existen algunas diferencias entre las características de administración proporcionadas en Azure App Service y las disponibles para Azure Functions en Container Apps. Por ejemplo, es posible que determinadas funcionalidades, como herramientas de diagnóstico, funciones de implementación y otras, no estén disponibles.

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

Referencia: Azure Functions en App Service (Portal)

A modo de comparación, aquí se muestra la interfaz de administración de Azure Functions implementada en Azure App Service.

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

Las diferencias en las capacidades de administración entre App Service y Azure Container Apps pueden incluir:

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

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

Algunos pueden pensar que la falta de ciertas funciones sugiere que faltan funciones.

Sin embargo, cuando se implementa en Azure Container Apps, el entorno operativo está basado en contenedores, lo que cambia los métodos de implementación y administración. Las características no incluidas en la interfaz de administración de Azure Functions deberán administrarse por separado a través de la interfaz de Azure Container Apps.

Gestión de contenedores en aplicaciones de contenedores de Azure

Cuando se utiliza el comando az functionapp create para crear una instancia de Azure Functions en Azure Container Apps, se crea automáticamente un nuevo grupo de recursos que alberga la instancia del contenedor.

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

En mi entorno, el nombre del grupo de recursos sigue esta convención:

$CONTAINER_ENVIRONMENT_FunctionApps_$UUID

Verá que se ha generado una instancia de Azure Container Apps con el nombre de su $AZURE_FUNCTION_NAME especificado.

Al hacer clic en esta instancia, se lo dirigirá a una interfaz de administración específica de Azure Container Apps, donde Azure Functions se ejecuta como instancias de contenedor.

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

Azure Container Apps proporciona CI/CD y métodos de implementación diferentes a los de Azure App Service. También permite funciones ofrecidas a nivel de contenedor, como Dapr y Service Connector, que se pueden utilizar.

Conclusión

Anteriormente, era posible ejecutar Azure Functions convirtiéndolos en contenedores en un entorno de ejecución de contenedores, pero no había una interfaz de administración dedicada para Azure Functions.

Con este nuevo método, Azure Functions y Azure Container Apps se han integrado, ofreciendo un entorno de contenedor con una interfaz de administración de Azure Functions asociada.

Sé que algunos clientes operan Azure Functions Container en Azure Kubernetes Service (AKS). Anteriormente, carecían de una interfaz de gestión dedicada. Sin embargo, al implementar Azure Container Apps, ahora pueden usar la administración de Azure Functions mientras disfrutan de la simplicidad de administrar Azure Container Apps en comparación con la administración de operaciones en AKS.

Es probable que los métodos para implementar Azure Functions en Azure Container Apps evolucionen aún más. Espero ver cómo se desarrolla esto.

Declaración de liberación Este artículo se reproduce en: https://dev.to/azure/comparison-of-two-methods-for-deploying-azure-functions-to-azure-container-apps-2o7o?1 Si hay alguna infracción, por favor contacto Study_golang@163 .comeliminar
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3