When I initially built my website, I hosted on my own mac at home. I have fibre broadband at home, when I tested the speed, it was quite good.
There were a few problems of hosing at home:
1. Dynamic ip address (i think that I have a static ip)
2. My ISP ban port 80
3. No data backup
For me, problem number 2 is a real problem. Although I never ask my ISP for a static IP, I don't see my ip address changed. So number 1 is always not a problem, although I also set a DDNS in my router. You have to pay extra money if you want to use your own domain for DDNS.
Problem number 3 is a little problem. I can easily write a script to do regular backup into dropbox folder.
I don't want to use other ports than 80 for my website, that looks unprofessional. I was so lazy to move my website to the cloud. So that I map my domain to an Azure VM. Then I ran a fiddler in that VM and use VM's host feature to remap my public domain to ddns's domain.
This works very well. My VM has a public ip address, and port 80 is available. All the traffic to my website will go to my VM first. Then fiddler as a reverse proxy, forward all the traffic to my home mac.
This way, it doesn't save me any money for hosting. Because I have to run a VM. And all the traffic goes through my VM, I also need to pay for the bandwidth usage as well. I don't get much benefit by running host from home. But I have enough free credit for my Azure account, who cares.
I didn't think about moving my host to the cloud until one day I failed to open my website. Fiddler through an error of timeout when connecting to my home mac. I then noticed that I couldn't rely on my ISP to provide a good service for hosting at home.
Then I started thinking about moving my host to my Azure VM. This is straightforward, my VM has been there for years, and I rarely use it. And this is easy to do. I can install docker on the VM then start new mysql and wordpress container. I will only need to import my local mysql data to the new mysql container and also copy over my wp-content folder.
By looking around, I noticed that Linux VM is cheaper than windows VM. Then I was thinking about creating a Linux VM instead. Yes, I have enough free credit to use, but once I started doing a thing, I would like to do it properly. I can use the remaining credit to do something else, a download server, a VPN, a web proxy whatever.
Then I realized that MS Azure now has Azure Container Instance, which is even cheaper than Linux VM. Then I decided to use it. I am using Azure mysql db for my database, I can customize my wordpress container to be able to host mysql as well, but for a better backup service, I use a separate mysql db, which will cost me a little bit more. But the total cost will be still less than a windows VM.
Now, my website is hosted on ACI, I use the sourtheast asia resource group (which is more expensive than east us). The speed is all right.