Reverse proxy without a single point of failure
-
[email protected]replied to [email protected] last edited by
I feel like op is about to find out why businesses pay for cloud services.
-
[email protected]replied to [email protected] last edited by
No, the router being the SPOF (single point of failure) is totally avoidable.
At mny home (no SaaS services offered, but critical "enough" for my life services) i have two different ISPs on two different tecnologies: one is FTTC via copper cable (aka good old ADSL successor) plus a WFA 5G (much faster but with data cap). Those two are connected to one opnSense router (which, indeed, is a SPOF at this time). But you can remove also this SPOF by adding a second opnSense and tie the two in failover.
Of course, my two ISPs are setup in failover on the opnSense.
So the setup would be:
FTTC -> ISP1 router -> LAN cable 1 to port 1 of opnSense n.1
FTTC -> ISP1 router -> LAN cable 2 to port 1 of opnSense n.2
FWA -> ISP2 router -> LAN cable 1 to port 2 of opnSense n.1
FWA -> ISP2 router -> LAN cable 1 to port 2 of opnSense n.2Then in both opnSense i would setup failover multi-WAN and bridge them together so that one diyng will trigger the second one.
-
[email protected]replied to [email protected] last edited by
I do this with HAProxy and keepalived. My dns servers resolve my domains to a single virtual ip that keepalived manages. If one HAProxy node goes down, the other picks right up.
And this is one of the few things I’ve got setup with ansible, so deploying and making changes is pretty easy.
-
[email protected]replied to [email protected] last edited by
SLAs?
You're going to need a redundant ISP and a generator. You've left the territory where it's economical to self host something if that's what you're looking at. You still have several other single points of failure.
And I'll be honest, your setup isn't ready for an SLA either. Just having a second machine is such a small part of what you need to do before doing any guarantees. Are you using a Dynamic DNS service? What's the networking setup look like? Router to Compute?
From the sounds of it, you're not a professional. It might be time to engage an expert if you want to grow this.
-
[email protected]replied to [email protected] last edited by
That's not the point. Its unprofessional. Someone is going to smash and grab OPs idea and actually have the skills to host it properly. Probably at a fraction of the cost because OP doesn't understand that hosting SaaS products out of his house isn't professional or effective.
Also; cloud is cheaper than self hosting at any small amount of scale. This wouldn't cost much to run in AWS if built properly. The people who struggle with AWS costs are not professionals and have no business hosting anything.
-
[email protected]replied to [email protected] last edited by
This is a rabbit hole that's going to be very expensive. Caddy isn't going to do what you are wanting. You likely need enterprise systems which are complex and require at least 3 machines.
I would use AWS or Azure instead
-
[email protected]replied to [email protected] last edited by
You aren't going to get high reliability unless you spend big time. Instead, could you just offer uptime during business hours? Maybe give yourself a window to do planned changes.
-
[email protected]replied to [email protected] last edited by
This is so true. You can't expect your home server to ever be compatible to enterprise setups. Companies who have stuff on prem are still paying for redundant hardware and software which requires money and skill to maintain.
-
[email protected]replied to [email protected] last edited by
This will blow up in your face. You know enough to be dangerous but no enough to know that uptime is very hard.
AWS or Azure really isn't that expensive if you are just running a VM with some containers. You don't need to over think it. Create a VM and spin up some docker containers.
-
[email protected]replied to [email protected] last edited by
You need something like HAproxy
-
[email protected]replied to [email protected] last edited by
You want proper Kubernetes. Kube is for learning and testing purposes only. In Kubernetes there are plenty of different Ingress services available depending on your provider. I would look into something like Traefik or Metallb
-
[email protected]replied to [email protected] last edited by
I've done the on prem design. I've migrated people entirely to the cloud. I specialize a little in between.
Without any shred of doubt the cloud is going to be more cost effective than self hosting for 99% of all use cases. They're priced that way intentionally. You cannot compete with Cloudflare/AWS/GCP/Vultr/Akami/Digital Ocean/etc.
My homelab isn't about scaling, production workloads and definitely isn't accessible to anyone but me. I'd argue using it in any other way defeats the purpose and shows a lack of understanding.
-
[email protected]replied to [email protected] last edited by
The cloud is cheaper hosting things like websites that need HA. However if you are doing big compute or storing lots of data it will not be cheaper.