custom software design

ArticlesBuilding Redundancy with Computer Technology
custom software design

Redundancy is a system design in which a component is duplicated so if it fails there will be a backup. Redundancy has a negative connotation when the duplication is unnecessary or is simply the result of poor planning. A part in a machine, system, etc., that has the same function as another part and that exists so that the entire machine, system, etc., will not fail if the main part fails. This allow a fail safe system when something goes wrong. Having an electricity generator for when the power goes out is an example of redundancy.

So what do you do in a situation with computers? how do you build redundancy? If you have a system in place and it fails, how long is it going to take to get a backup working? These are questions that are often discussed in company meetings when it comes to their computer system.

in computing, the term is used more specifically and refers to duplicate devices that are used for backup purposes.
custom software design
The goal of redundancy is to prevent or recover from the failure of a specific component or system. There are many types of redundant devices. The most common in personal computing is a backup storage device. While most other computer components can be easily replaced, if a hard drive fails, it may not be possible to recover personal data. Therefore, it is important to regularly back up your data to a secondary hard drive. In enterprise situations, a RAID configuration can be used to mirror data across two drives in real-time. However, RAID is not totally full proof especially if the controller card fails. I've seen situations where the RAID card fails and ends up scrambling the hard drive so not only did it not provide redundancy, but it also destroyed a good hard disk in the process. The only option was a backup drive.

Another type of redundant device is a secondary power supply. High traffic web servers and other critical systems may have multiple power supplies that take over in case the primary one fails. While an uninterruptible power supply (UPS) is not technically a redundant device, the battery within the surge protector provides power redundancy for a few minutes if electricity is lost.

Computer networks often implement redundancy as well. From local area networks to Internet backbone connections, it is common to have redundant data paths. This means if one system goes down, the connection between other systems will not be broken. For example, an FDDI network has a duplicate data "ring" that is used automatically when the primary data path is interrupted. Network redundancy can be accomplished by either adding extra physical connections or using networking software that automatically reroutes data when needed.

Having a duplicate server with data being backed up to it on a nightly basis is a very solid approach to building redundancy. If the main server fails, you simply have anything accessing it now go to the backup server. This make things a bit easier in case of a situation.

There are also several ways to build redundancy over the network. The first is by using multiple network cards on the same subnet. Whether your server system is standalone, clustered, or load-balanced, the network card is a potential point of failure. Starting with Windows 2000, Microsoft simplified the installation of multiple NICs configured for the same IP subnet. To provide NIC redundancy, you can connect such NICs to the same hub or switch or preferably to different switches.

Another way is by using multiple default gateways. A failure of the default gateway on the subnet will cause traffic to remote subnets to fail. Implementing multiple routers on the subnet provides a measure of fault tolerance to this kind of failure. You can also implement multiple default gateways at each client by defining more than one default gateway address on each NIC. Starting with Win2K, Microsoft lets you assign a metric to a default gateway the same way that you assign a metric to a NIC.