High Availability Architecture
Last updated
Last updated
High Availability Architecture is to be considered for serious critical systems, which can tolerate a certain amount of failure and errors before they no longer work properly. The design of this architecture comes from a key criterion for the capability of your service to meet your expected service level agreement (SLA).
The key aspects 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.