I have moved my website hosting to AWS. This was done for two reasons. Improve load times and lower running costs.
The old stack: Vultr + Epic + OpenBSD + httpd
In the server, I was running OpenBSD. I started off on this as I wanted to self-host an email server. In the OpenBSD VPS, I was using httpd, openSMTPD, and dovecot. This stack made hosting an email server not as painful as using Postfix. As with all email servers I had lots of delivery problems. In the end, I moved to Protonmail for my email hosting, letting me keep my custom domain without the maintenance and delivery problems.
The VPS was in Sydney. This gave Oceania good response times. The single point of presence did limit response times in NA and EU. As I was on the cheapest VPS with an ipv4 address I was paying $5 per month. Working out to $60 per year. This is quite a lot for a website that gets less than 10 views a month.
The new stack: AWS Route53 + AWS S3 + AWS Cloud Front
I have now moved to AWS. To do this I am using 3 AWS services. Route53 for DNS. S3 for storing the website. And Cloud Front as a CDN. Cloud Front does all the SSL and cacheing.
This set of tools gives worldwide CDN coverage, less downtime, and costs less.
As my traffic is so low, I am in the free tier for most of the services that I use. Costs have settled to $0.50 per month. This makes the total cost $6 per year. That is almost what I paid a month with the old stack.
Once I moved from Epic to AWS Route53 for my DNS I had problems linking my domain’s apex to Cloud Front. It would always give pops that were in the EU. After months of research, I found that I had not changed the name server to the ones my hosted zone used. After I made this change the system is now working with 100% efficiency.