In a cloud computing solution, we can host our web application into three models: virtual machine (IAAS), managed server like Web app or EBS (PAAS), or serverless like ECS or Azure Container. So, which one do you choose?
The VM
- If you do not want to spend time to migrate the VM is for you
- If you need to communicate with the operating system service, the VM is for you
- If you cannot find the managed server solution / like legacy application with specific framework the VM is for you.
The Web App
- If you build the solution with the supported technology (current web app)
- If you don't want to control the host OS
- If you want the great scalability without additional configuration
The Container.
- If you want to build microservices architecture rather than monolithic
- If you need a performance
- If you want agnostic with a platform
You can see how easy to deploy this kind of publish setting in Azure with the Visual Studio