Computer applications run on computer hardware made from highly complex electrical machinery. These servers, like any mechanical equipment, have a limited life expectancy before failure. Computer failover is a strategy in which a computer application is distributed on multiple sets of hardware to reduce the probability of downtime. This limits unnecessary losses due to hardware failure because the system will continue running after a single server crashes.
Many large organizations use clusters of computers to manage its technological system. This approach typically includes redundant systems and a failover plan. Failover is more expensive option than single-server design because it requires duplicate hardware and software licenses.
Disaster recovery is the technical term used for failover planning and design techniques. This is not limited to computer hardware. Advanced services are also available for networks and electric power for buildings. Most commercial data centers offer failover capabilities to hosted applications within the building. Failover services are considered an optional feature for a data center and are typically sold as a premium service.
It is important to define the failover requirements of a computer application before it is deployed. This type of planning typically would be too complex and difficult to implement post deployment.
Backup power is an important feature for failover design. This typically includes building management services that permit commercial power sources into a building. This approach reduces the likelihood of complete power failure because two electric feeds are available in the building.
Gas-powered generators are another option often used in disaster recovery. These generators should be located near the company's computer equipment to ensure adequate power is available. Generators provide short-term backup power while the main power is restored and typically run on diesel fuel.
Software failover is another option in system design that is used in disaster recovery. This approach requires a software application to be loaded onto two computers using special load-balancing equipment. The software approach has limitation because it doesn’t account for power and network issues.