eviden-logo

Evidian > Products > High Availability Software - Zero Extra Hardware > Difference between High Availability and Fault Tolerance

Difference between High Availability and Fault Tolerance

Evidian SafeKit

What is the difference between high availability and fault tolerance?

Overview

This article explores the pros and cons of a high availability cluster versus a fault tolerant system by looking at hardware constraints, software failures, RTO, RPO...

The following comparative tables explain in detail the difference between a fault tolerant system and SafeKit, a software high availability cluster.

What is high availability?

A high availability cluster is based on two servers with restart of the critical application in the event of hardware or software failures. There are 2 types of clusters: hardware clusters and software clusters.

Hardware clusters are based on shared disks resulting in dependencies between servers and their connections to shared disk arrays.

Software clusters like Evidian SafeKit are based on real-time data replication and are hardware-agnostic: they can be deployed on physical or virtual servers or in the cloud.

What is fault tolerance?

A fault tolerant system relies on either specialized hardware or specialized hypervisor to detect a hardware failure and instantly switch to a redundant hardware component without application restart.

Fault-tolerant systems only deal with hardware failures and not software failures, by far the most common reason for system downtime.

Pros and cons of high availability and fault tolerance

Software high availability cluster

Active active high availability

Fault-tolerant system

Fault tolerance with lockstep CPU

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 upgrage/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 continue 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 failures is the main concern

SafeKit High Availability Differentiators

SafeKit Quick Installation Guides

New application (real-time replication and failover)


New application (network load balancing and failover)


Database (real-time replication and failover)


Web (network load balancing and failover)


Full VM or container real-time replication and failover


Amazon AWS


Google GCP


Microsoft Azure


Other clouds


Physical security (real-time replication and failover)


Siemens (real-time replication and failover)