Now, normally, my ISP would block port 80 or discourage servers, but the key to all this is Cloudflare Tunnels. It's is even better than SSH-based tunneling or port forwarding. You install a service on your machines which opens encrypted outbound connections and then you can literally tunnel all your web servers, on all the ports, thorough that. If a connection drops, it will just reopen it.
You own, don't rent a cloud.
You own the compute, not a fraction of it.
You manage the data, locally.
You have a strong CDN for caching.
And best of all, it can be totally free, the free tier of CloudFlare is good enough for any startup.Any infrastructure that you actually don't want to pay upfront for, e.g. GPUs, you can just use any external service and just pay as you go.
So, why pay for AWS at all, if you're starting on a new project? Just host locally! No?
I should also mention that AWS, GCP etc. have similar servics, like AWS PrivateLink and Google Cloud VPN and Azure VPN Gateway.
PS: by having multiple machines in multiple locations with gigabit connections, and a Galera multi-master MySQL setup, you can achieve uptime guarantees comparable to cloud compute instances probably.
PPS: you can use CloudFlare workers and CDN to intercept most traffic to your machine at the edge, and use it mostly as an origin server and API server for people who entered a credit card or connected their crypto wallet
What happens when:
- there's a power outage?
- you trip the cable?
- a hardware failure occurs?
- your local ISP's IP is blocked or banned and you have no control over it?
- you have limited upload / download where you are (depends on country)
- your Internet is out or just fails to Cloudflare
And many more...