Redundancy is the provisioning of additional systems to avoid single points of failure. Some approaches to redundancy include:
Redundancy is the best (perhaps the only) way to assure system availability. The potential arguments against redundancy include cost and complexity. The desired level of redundancy can be determined through cost-benefit or risk analysis showing the investment required to achieve a particular desired level of availability.
Apart from security risk mitigation, redundancy (for system uptime and network availability) is also a common network design goal. The hierarchical internetworking model incorporates redundancy as one of its major architectural criteria.