Eliminate Single Points of Failure
The most important principle in getting high availability at any level is to eliminate single points of failure. In other words, there should be no single component, anywhere, that can bring down the system by failing. That includes everything from the power coming out of the wall to the data appearing on the screen.
For example, a storage array for a high-availability system typically has at least two of everything—from power supplies to controllers. Its disks are organized in a high-redundancy configuration, such as RAID 5 or RAID 10, and it has hot-swappable spares already installed. The network connecting the storage arrays to the servers has multiple redundant paths. All this gadgetry is powered by at least one UPS. Fortunately, equipment like this is available from most major vendors.