As for Azure, AWS, Google Cloud, and a plethora of other cloud providers, it always comes down to cost, what other services they offer, and what you intend on doing with it all. Azure VMs for example do not auto assign a static public IP, that instead is an option you set up, which allows you to load balance your application. As for stability, the biggest issue is you need to provision your VM first using a Microsoft-provided or approved image. Does not matter what OS it is, I have found that using your own image on Azure is not as stable. The other issue is Azure sometimes will depending on region, weather, and other factors restart your Azure VM without notice. You need to make sure your application service and application can survive an unclean boot, or have proper backups in place. For small application instances, I suggest running a minimum of two instances load balanced in different regions. Azure has a track record of having regional issues that will affect the ability of your application to run. If you are looking for small, personal, or one-off applications that do not need a lot of r maintenance, I would suggest looking at Dedipath, Vultr, Digital Ocean, Hostek, or AWS as an alternative.