I'm trying to figure out how to set up high availability for my self-hosted website that runs on IIS with a MySQL database. I have a couple of key details to consider: I've got two physical locations on opposite sides of the country, both with identical hardware and ESXi hosts running multiple VMs. I'm also using Veeam for backup and replication at each site. My ultimate goal is to minimize downtime in case one of the sites goes down. Any suggestions or ideas on how to accomplish this? Thanks in advance!
3 Answers
To achieve high availability, start by determining your level of HA requirements. For local setups, consider running multiple IIS servers that are load balanced, paired with MySQL replication. If you're looking at global availability, you could set up a similar architecture but add a global load balancer in front of your local load balancers. I've used setups like this with F5 GTM/LTM, and they work well!
Have you looked into Veeam's Continuous Data Protection (CDP) replication? It should be part of your licensing. The downside is that you’ll need to manually initiate failover, but it could help with your HA strategy.
You might consider a local setup that syncs your website content changes across both locations. However, the MySQL database part could be trickier; cross-country MySQL replication might not be practical. A workaround could be to have a local replica and do nightly dumps to the other site, but that's more of a disaster recovery solution than true HA.
That's exactly my struggle right now! I feel like I'm leaning more toward DR rather than the HA I'm aiming for.
That sounds ideal, but I'm concerned about the budget for extra equipment. I'm really hoping to get as much HA as possible with our existing resources.