High availability
High availability is a characteristic of a system, which aims to ensure an agreed level of operational performance for a higher than normal period.
There are three principles of system design in high availability engineering:
Elimination of single points of failure. This means adding redundancy to the system so that failure of a component does not mean failure of the entire system. See Reliability Engineering.
Reliable crossover. In multithreaded systems, the crossover point itself tends to become a single point of failure. High availability engineering must provide for reliable crossover.
Detection of failures as they occur. If the two principles above are observed, then a user may never see a failure. But the maintenance activity must.
Modernization has resulted in an increased reliance on these systems. For example, hospitals and data centers require high availability of their systems to perform routine daily activities. Availability refers to the ability of the user community to obtain a service or good, access the system, whether to submit new work, update or alter existing work, or collect the results of previous work. If a user cannot access the system, it is - from the users point of view - unavailable. Generally, the term downtime is used to refer to periods when a system is unavailable.