126.96.36.199. High Availability Architecture
High Availability Architecture is to be considered for serious critical system as it means that the system can tolerate a certain amount of failure and errors, before it is no longer working properly. The design of architecture comes from a key criterion for the capability of your service to meet your expected service level agreement (SLA).
Main key to design High Availability Architecture are as follows.
- Avoid single points of failure - To avoid single points of failure and to maximize system availability, it needs to have some degree of redundancy. The solution typically involves horizontal scaling across multiple machines.
- Hardware redundancy - Eliminate single points of failure in the system by including hardware redundancy. There are many techniques to design hardware redundancy.
- Use horizontal scaling to distribute application servers across multiple physical machines (Active-Active)
- User backup server (Active-Standby)
- Process redundancy - Provide process redundancy and isolation so that a failing server does not impact the remaining healthy servers.
- Load balancing (Active-Active) - Use Load balancing techniques to make sure that the individual servers are not overwhelmed with client requests while other servers are idle.
- Fail-over support (Active-Standby) - The environment must be able to continue processing client requests, even if one or more components are offline.