The difference between fault tolerance and high availability, is this: A fault tolerant environment has no service interruption but a significantly higher cost, while a highly available environment has a minimal service interruption.
Fault tolerance relies on specialized hardware to detect a hardware fault and instantaneously switch to a redundant hardware component.
High availability combines software with industry-standard hardware to minimize downtime by quickly restoring essential services when a system, component, or application fails.