Azure seems to be focusing more effort on AKS and Kubernetes than serverless these days, which is likely due to core differences between AWS Lamda and Azure FunctionApps approach to deployment containers (mentioned below), as well as Azure’s large Enterprise customer base. As a result, I’ve been spending a fair amount of time both wishing we were in AWS and looking at AKS over Azure Serverless solutions.
My first thought is that Kubernetes should have a similar issue unless cluster or namespace can be used to group streams more easily. Although I’ve not looked at Loki and Kubernetes yet.
That said, any move from Azure Functions Apps to AKS is both a large effort big shift and our monitoring focus is necessarily on the present. Like AWS what is lacking in Azure is connectivity between metrics, logs, and trace.
Cardinality of Azure Serverless components may be less of an issue for two reasons:
- Azure Serverless (Function Apps) containers are at the function app level, rather than function. While AWS Lamda deploys each function separately to the infrastructure, Azure Function Apps deploy grouped functions in each container.
- ApplicationInsights itself provides trace capabilities across multiple instances of each FunctionApp, whether this capability solves the cardinality and ordering issues for Loki is not clear.
I will take some time to digest the information in the blog article. Thank you for the follow up.