We have a WinForms desktop app that connects to a remote server to pull some data. The remote server hosts a web service on a standard IIS website that queries a SQL Server database installed on the same machine. Today, if the remote server is under maintenance or not available our end-user cannot retrieve the necessary data.
Now I am requested to make this feature fault-tolerant. Here are my questions:
- Should I ask for another remote server that runs the same web service and move the DB to a third remote server? So the two web services can connect to the same DB?
- Should I consider moving the web service logic to the WinForms desktop app and connect directly to a remote DB paying a first-class 99.99% availability service?
- Do AWS or Azure provide a ready-to-use solution that fulfills my requirements?
- Is there any other option I didn't consider?