Drivers for the load-balancing architecture solution pattern include:
- The system has a required level of availability which must be delivered even in the face of hardware or software failure.
- The system has to be maintained and upgraded over time. Even with planned downtime, there may be a need to upgrade or fix a system element whilst ensuring the system remains available.
- When implementing active/passive elements, the number of users accessing a reduced capacity redundant server can be restricted to a level matching its capabilities. However, this will effectively make the server unavailable to the remaining users, which may not be satisfactory.
- Specifying a redundant server to the same level as that of the active server means that there will be no degradation in performance, but is economically unacceptable for most organizations.
- The system has a required level of performance in the face of a particular user load which it needs to maintain even though hardware and software elements will be taken out of service due to failure or the need for maintenance.
- The system will need to deliver a consistent level of performance in the face of increased user load. There must be some way of increasing the system capacity should this load exceed original estimates.