Pros and cons of high availability and fault tolerance
When protecting critical applications against failures, two main approaches exist: software high availability clustering and fault-tolerant systems. Each approach offers different trade-offs in terms of cost, flexibility, recovery time, and hardware requirements. Understanding these differences helps choose the right solution for your specific needs.
Comparison of software high availability clustering vs fault-tolerant systems
| Criteria |
Software high availability cluster |
Fault-tolerant system |
| Product |
SafeKit on Windows and Linux |
Fault tolerant products |
| Hardware / hypervisor |
No dedicated server, no dedicated hypervisor.
Works with the standard and free hypervisor of Windows, Hyper-V, included in Windows kernel for servers and PCs.
Works with the standard and free hypervisor KVM (Kernel-based Virtual Machine) integrated in mainline Linux kernel.
Each server can be the failover server of the other one for multiple applications. |
Dedicated hardware or dedicated hypervisor.
The secondary server is dedicated to the execution of the same application synchronized at the instruction level. |
| Software failure |
Software failure supported with restart in another OS environment. |
Software exception on both servers at the same time on the same OS. |
| Smooth upgrade/fix of application and OS |
Yes — Smooth upgrade/fix of application and OS possible server by server. N and N+1 versions can coexist. |
No — Same application and OS image on both servers. |
| RTO/RPO |
The recovery time with SafeKit (RTO) depends on the time to detect and to restart the application (about 1 minute).
The data loss with SafeKit (RPO) is zero as the replication is synchronous. |
The recovery time (RTO) of a fault tolerant system is zero. The application is not restarted in case of failure and continues its execution on the secondary server.
The data loss (RPO) is also zero. |
| Flexibility |
Can run on any type of server with standard Windows and Linux OS |
Depends on specific hardware or on specific hypervisors |
| Suited for |
Software editors which want to add a simple high availability option to their application |
Environment where hardware failure is the main concern |
In summary, software high availability with SafeKit provides a cost-effective, flexible solution that runs on standard hardware and supports rolling upgrades, with near-zero downtime (RTO ~1 minute) and zero data loss. Fault-tolerant systems offer instant failover (RTO = 0) but require dedicated hardware and lack flexibility for independent software updates.