Disaster recovery software has to monitor the entire system and apply failover measures if any part of the system is lost. The components of a system are generally enumerated as power, hardware, network connections, and operating system functions.
The software should be able to monitor domain controllers, DNS servers, gateways, and the public connection (the means through which users access the server or the network).
If the server is healthy, but user access is blocked, the software can switch over to the secondary server and use its communications channels for public access.
The most reliable monitoring paradigm is continuous communication from the primary server to the secondary server in which the software monitors the primary server and continuously sends a message to the secondary server that says “everything is fine”.
In the absence of such a message, the secondary server immediately takes control. This creates the shortest “time to recovery,” which is the essence of high availability.