Wicket Posted August 1, 2021 Share Posted August 1, 2021 Hi, I am at the stage with my project where I need to start looking at a failover implementation to limit downtime, should the worst happen. Currently I deploy each client to their own virtual private server. I use a DNS A-record for each client and use that to point at the respective server IP. eg company1.myapp.com -> server IP. I back up daily, but need to look at having a solution to mitigate down time if a a client server went down for any reason, or even if the dns server went down. Does anyone have any experience of this or ideas on how I could implement? Do AWS or Azure offer some sort of solution out of the box? I am open to all ideas. I have attached an image of current high level architecture. Thanks for any help, W. Link to comment Share on other sites More sharing options...
mierlp Posted August 5, 2021 Share Posted August 5, 2021 Hi It depends on what you want to achieve. In your current setup you have no fail-over at machine level. So when VPS - Comapny2.myapp.com fails or is going down then this company can't use the application anymore. You have now made a split by assigning a vps per customer with your uniGui stack (IIS, HyperServer, UniGuiApp and Database) If you want to achieve a fail-over in the event of a machine failure, you must ensure that there is a complete copy on a fail-over vps where the correct ip address is again linked to this vps server. What you could do is run multiple application environments on 1 VPS (vps-A). You then get: - 1 IIS environment - 1 Hyper server - in this case 3 uniGui applications - 1 MySQL installation with its own database per customer A 2nd VPS (vps-B) is an exact copy of vps-A. If you change something on vps-A (eg an update of your application), you ensure that this is automatically synchronized to vps-B. Sufficient tools are available to synchronize the database. vps-B is actually a so-called standby server and is used when vps-A fails There are roughly 2 ways to monitor / realize / check if vps-A is up-and-running - DNS level failover - Server-level failover DNS level A DNS fail over can be setup using online DNS IP failovers but they cost money and many people say they are not as good as doing it on the server level, since at DNS level they check your hosting on intervenes and these can be from 4- 10 mins at any time. A Quick Google search reveals DNS Failover System Monitoring. Server level Normally you would proceed with the following: - Replicate Clone of MySQL on both Servers - Clone the file systems using clusters - Interment a IP fail over using something like UCARP A VPS is a virtual private server, so it is already virtual. There are providers that offer the option of purchasing a disaster recovery plan at VPS level, for example, where they ensure that your vps-A is automatically copied to another server and started again with the same ip address. This is what, for example, hypervisors like VMware do and is called Replication ovh.com offers very extensive possibilities when it comes to failover solutions or disaster recovery https://docs.ovh.com/gb/en/dedicated/ip-fo-move/ A other solutions can be this where you do it self: A second machine is always easy to switch everyone to vps-B during maintenance of vps-A. Then perform maintenance and switch the users back to vps-B and then you do maintenance on it. It is important to first consider what form of continuity and redundancy you want to achieve. Then you can think about the concept and realize it Greetz Peter 1 Link to comment Share on other sites More sharing options...
Recommended Posts