Azure Compute Decision Tree is a simplified decision making assistant that lets you decide which compute resources to choose based on your compute requirements. It is a comprehensive decision tree considering the lift and shifts and new developments. But developing new applications are much simpler given most services support multiple runtimes as well as containerisation.
Ideal for event-driven short live processes such as HTTP requests, multiple service triggers or simpler schedulers. Gives you ability to host as managed code as well as containers. So if you are thinking of long term expansions, containers is an option to consider.
Functions is a famous option when you pay for number of executions which is available with Standard pricing. But if you need to extend networking you have to select another pricing level.
Ideal for web applications as can easily connected with custom domains and have the ability to use deployment slots. Getting started with a web app hosting does not get easier than this. Supports multiple language runtimes as well.
Azure Container Apps
Being the newest member amongst the options, it can be considered one of the most effective services considering it is crafted to modern business needs. It runs on Kubernetes and allows all the networking features while allowing state of the art canary based deployments. Biggest advantage is not needing to have much Kubernetes knowledge. I see lot of new applications adopting to Container Apps.
Azure Kubernetes Services
Of course the biggest of the hosting options where you get full orchestration capabilities and access to Kubernetes API to interact with. If your application is large and have higher demands for resources and complexity, AKS would be the best option. Apart from AKS, as an alternative RedHat Openshift is also available.
The full view of the Compute Decision tree is available below: Image credits - Microsoft