The major considerations while designing high availability mechanism of an information system are:
i. Hardware Redundancy: use of replicated hardware such as servers, storage devices, network devices so that system continues functioning even if one complete hardware set fails.
ii. Power Redundancy: power is a major cause of failures, especially in situations like ours where power supply is very unreliable. So, dual power for each equipment from dual power sources (battery banks, UPS, generators, city supply) is critical.
iii. Network Redundancy: Since systems are accessed end users over network, network redundancy is also equally important. More than one connectivity to the system servers from the organizational network is critical to make sure the network connectivity to the systems are always available.
iv. Software Capability: The system application or software should also be capable of high availability. For example, the back-end database of one system should be synchronized in live with the redundant system. The database management software should have this data synchronization capability. Other software components should also have such capability.
v. Geographical Redundancy: It is highly recommended to install the two sets of system in a geographically diverse mechanism, preferably in different seismic zones. This makes system less vulnerable to natural or manmade disasters such as earthquakes, floods, building collapses, power grid failures, vandalism etc.