High Availability Architecture Guide
Active-Active and Active-Passive are two different architectural configurations for server nodes in a high availability cluster. Active-Active architecture refers to both servers being powered up and processing data. Active-Passive is quite different in that only one server is actively working to process data, and the secondary server is waiting in an inactive state to take over control if the Active server has a failure.
High Availability Systems and Core Components
High availability is all about eliminating single points of failure, meaning that, should a problem occur with a particular node, another node is available to take on the work.
Key components of a highly available system:
- a primary processing core node with memory and power
- a standby processing core node with memory and power
- communication links between the two core components
- storage at the local level or shared between core components
Active-Active Architecture
In an Active-Active architecture, two identical servers are run at the same time, both active, each capable of processing transactions. Transactions can be handled by either server.
Benefits of Active-Active Architecture
Both servers are on all the time, versus other configurations, which have nodes that are unused in normal operation. The potential benefits are as follows:
- Scalability, especially using cloud platforms, makes peak usage problems a thing of the past
- Workload of servers can be balanced so one is not overloaded
- Overall, increased throughput for the same amount of hardware
Scalability
On a cloud platform, Active-Active architecture is very scalable. For example, AWS AutoScale can be used to add more EC2 instances on demand to allow the cluster to grow to handle data peaks.
Load balancing
A load balancer can be provisioned upstream of the nodes to send transactions to the lighter-loaded server, ensuring traffic is balanced across the cluster to ensure high throughput of work items.
Active-Active Use Cases
Heavy data, transactional-type processing, and multi-node hosted applications are best for active/active configurations. Here are some examples:
- Multi-node, globally distributed database systems
- mathematical data processing for real-time applications
- big data/data warehousing
- high traffic website hosting
- telecom networking and SMS
Active-Passive Architecture
In an Active-Passive architecture, a clustered environment employs two servers. One will be designated to be in active mode, performing processing. The other server will be in standby mode, not performing any data processing, but ready to take over should there be a failover from the active node or a user-issued switchover from the active node.
Benefits of Active-Passive Architecture
As only one server is active at a time, one server enjoys downtime (powered up, but in standby mode, essentially keeping up with any data copying needs from the active unit, ready to take over control if needed, but not actually processing any active work). The potential benefits are as follows:
- Reduced power needs for the cluster
- Increased hardware longevity – components last longer when they operate under less strain and aren’t consistently pushed to their limits
- reduced cooling needs, and lower power bills due to less cooling
- simplified resource view – the resources will be active on the active node
- A load balancer is not needed
Cost-Effectiveness of Active-Active vs. Active-Passive
As only half of the processing power of the cluster is being utilized for real work, there is a higher overall cost for the hardware for the amount of processing that can be performed in an active-passive configuration, so it is slightly less cost-effective than an active-active configuration.
Simplified Management
The resources will be active on the active node – there is no guessing which node is currently actively hosting a particular resource.
Active-Passive Use Cases
Important systems that must stay up with low data loss, such as:
- financial processing systems
- backend retail systems
- disaster recovery solutions
- relational databases
- cost-reduced high availability for small to mid-sized companies
- legacy systems that require a simple hosting solution
Active-Active vs. Active-Passive in Disaster Recovery Solutions
Role of Active-Active vs. Active-Passive
Active-Active Disaster Recovery (DR) systems are implemented on geographically dispersed nodes, both handling production traffic. If one goes down, the workload is funneled to the system that is still up. Downtime and user disruption are virtually undetectable, although workload processing may drop to lower levels than normal with one system down.
An Active-Passive Disaster Recovery (DR) system implements a disaster recovery solution whereby the standby system will take over if the primary system fails. A small amount of downtime on the transition of activity will occur in the event of failure of the active node, but workload levels should be indistinguishable when the standby node takes over from the old active system.
Integration with Redundant Systems
Implementing Disaster Recovery using redundant systems is a strategy of providing the capability to switch activity to a synchronized backup system, where data is at the same level as on the old active system, and the new active system comes online within a short time period. Redundancy considerations should also consider hardware redundancy, communication path redundancy, and software redundancy (via high availability) when choosing to implement a redundant system.
Choosing Between Active-Active vs. Active-Passive Architecture for Your Business
Factors to Consider
Selecting the right architecture for your business depends on factors such as:
- cost, including ongoing cloud costs if wishing to use cloud-hosted nodes.
- mission-critical system, or transactional high data?
- user temperance of living with occasional small amounts of downtime, performance requirements – e.g., FCC penalties for non-compliance in uptime?
- geographical dispersion of nodes and storage for lower latency, and the ability to increase nodes on demand to accommodate peak demands.
Performance and Uptime Requirements
Performance and uptime obligations for the business should be established prior to deciding on an architecture.
For businesses providing services that have uptime in the three-nines (99.9%) that allows just 8 hours of downtime on an annual basis, it’s certainly possible to provide this with Active-Passive, if failovers are swift and the system is well monitored and maintained. Four nines (99.99%) uptime, is mostly in the domain of Active-Active systems.
Levels of transactional processing should also be considered. If large continuous data transaction rates are expected, an Active-Active configuration may be a better fit.
Active-Active vs. Active-Passive: Which Architecture Is Right for Your Business?
Both active-active and active-passive systems have their place. As an organization, you may like to host critical systems that can’t go down on active-active architecture systems. For the other systems that can tolerate occasional downtime, active-passive may be the correct choice. A blend of technologies may be right to cover all systems. Companies have great options to suit their needs: larger, spread-out businesses can benefit from the flexibility of a cloud-hosted active-active system, while smaller companies can enjoy the simplicity and cost savings of an active-passive setup. There’s a solution for everyone.
If you’re evaluating Active-Active vs. Active-Passive for your high availability strategy, request a demo to see how SIOS can help you design the right architecture for your business.
Author: Paul Scrutton, Software System Engineer at SIOS