At Build 2025, Microsoft announced Announcing Native Azure Functions Support in Azure Container Apps.
We already can do this: That is create a Function App in Container Apps Environment using az functionapp create.
az functionapp create `
--name ${APP_NAME} `
--resource-group ${RESOURCE_GROUP} `
--environment ${ENVIRONMENT} `
--image ${IMAGE} `
--registry-server ${REGISTRY_SERVER} `
--registry-username ${REGISTRY_USERNAME} `
--registry-password ${REGISTRY_PASSWORD} `
--max-replicas 10 `
--min-replicas 1 `
--storage-account ${STORAGE_ACCOUNT}
With the new announcement, we can now do this.
az containerapp create `
--name ${APP_NAME} `
--resource-group ${RESOURCE_GROUP} `
--environment ${ENVIRONMENT} `
--kind functionapp ` # Create a Function App in Azure Container Apps
--image ${IMAGE} `
--registry-server ${REGISTRY_SERVER} `
--registry-username ${REGISTRY_USERNAME} `
--registry-password ${REGISTRY_PASSWORD} `
--ingress external `
--target-port 80
Notice the --kind functionapp.
I have created these two container apps for testing:
Function Apps in Container Apps Environment |
So what's the difference.
When I look at fa-hello-world, it's the regular function app experience, I can see the functions etc.
When I look at ca-hello-world it's the regular container app experience. I can't see the functions
which is kind of reduced functionality. However, this approach gives access to ACA specific features such as multi-revision management & traffic split, authentication/authorization, health probes, side cars etc (more information here) which were previously limited when using az functionapp create.
The future Direction from Microsoft is to continue evolving and supporting the az containerapp create --kind functionapp approach. And hopefully we will be able to see the functions as well.
Hope this helps.
Happy Coding.
Regards,
Jaliya
Azure’s new az containerapp create --kind functionapp offers more container app features like multi-revision and traffic split compared to the classic az functionapp create. For streamlined management and flexibility, using NAPS2 to organize your deployment scripts can be a great help.
ReplyDelete