High Availability cluster
The standard Flying Fleet solution runs on a virtualized environment hosted in Europe and owned by an European company. In case of the extremely unlikely event that the VPS dies for some reason, re-installing it will be pretty quick however due to the standard data backup we may loose up to one day of data.
In some scenarios, downtime and or data lost is simply not acceptable. For those scenario an High Availability cluster can be an improvement. However it is important to note that even in that case a power cut in the data centre, a network issue, or more catastrophic (like a fire) events can prevent operation. Therefore archiving a 100% reliable solution is never possible.
Upgrade of the software will be done one node at a time, ensuring that even during the upgrade process the system will continue to work.
While we can offer such setup in an hosted environment, most likely it will be safer and wiser to run it on premise on the customer data centre. However this will require an access to the network from outside such that we can perform the upgrades.
An high availability solution is not a standard solution and will have additional costs (being hardware, configuration and maintenance).
Using keepalived and MariaDB clustering
The High Availability cluster will require at least 3 nodes, on which the software stack will be installed. The database will be replicated across the nodes, as well as all nodes will use a shared VIP (Virtual IP) which will be taken by the currently active node.
- Database clustering: https://mariadb.com/docs/galera-cluster/galera-cluster-quickstart-guides/mariadb-galera-cluster-guide
- NGinx: https://j3ffyang.medium.com/nginx-high-availability-and-load-balancing-with-keepalived-521d44798bff
Using containers
We can also use existing infrastructure if a containerisation is available, leaving the responsibility of the switch of the active node to the customer solution.