You seem to recommend a VPS but then suggest a bunch of page-hosting platforms.
Other comments were talking about pros and cons of self-hosting, so I tried to give advice for both approaches. I probably could have been clearer about thay in my comment though. I edited the comment a bit to try and clarify.
I have some static sites that I just rsync to my VPS and serve using Nginx. That’s definitely a good option.
If you want to make it faster by using a CDN and don’t want it to be too hard to set up, you’re going to have to use a CDN service.
Self-hosted CDN is doable, but way more effort. Anycast approach is to get your own IPv4 and IPv6 range, and get VPSes in multiple countries through a provider that allows BGP sessions (Vultr and HostHatch support this for example). Then you can have one IP that goes to the server that’s closest to the viewer. Easier approach is to use Geo DNS where your DNS server returns a different IP depending on the visitor’s location. You can self-host that using something like PowerDNS.
That’s not Cloudflare-specific; you can use any CDN that supports origin pull in the same way :)
Definitely agree with this! That’s one of the pain points of “cloud” services - they really try to lock you in, making it impossible to swotch.
You still need encryption between your CDN and your origin, ideally using a proper certificate. Let’s Encrypt (and other ACME services like ZeroSSL) are pretty easy to use, and can be fully automated. I’m using Let’s Encrypt even for internal servers on my network, using a DNS challenge for verification instead of a HTTP one.
It’s strange because out of all the possible options, Github Pages is the most basic. You have to store your generated files in a Git repo (which is kinda gross) and it barely supports any features. For example, it doesn’t support server logs or redirects.
I guess it’s popular because people already use Github and don’t want to look for other services?