What is High Availability?
High Availability (HA) is the ability of a system, network or aspect of a platform to operate continuously, with no single points of failure. This is achieved through built-in redundancies across all aspects of the infrastructure.
Why is HA important?
For businesses with high-profile websites that encounter large numbers of traffic, HA is a necessity. Downtime can damage a business’s reputation as well as having financial repercussions, so it is critical to avoid any disruption to normal service. Our research on tolerance to downtime showed that ⅓ of customers will move to a competitor’s site after only 30 seconds of downtime, in spite of any previous loyalties.
HA is not just essential for businesses to minimise financial repercussions. For organisations working in healthcare, autonomous vehicles, telecommunication networks, or even military operations, there are potentially life-threatening consequences to a system going down.
High availability hosting is critical for businesses because it ensures that their sites and applications will remain online under any circumstances.
For many organisations, even one minute of downtime can cause major repercussions. Yet at the same time, websites and applications require continuous updates and maintenance to keep them up and running properly. Using HA will allow you to carry out maintenance or updates to your website, without encountering any downtime at all.
How does high availability work?
To set up HA you need to run a minimum of two servers, but to achieve top performance, it is beneficial to run four. Two servers will be dedicated to your web/application traffic, and two will be dedicated to your database, with a failover setup between them.
High availability on dedicated servers means that there is more than one node of your website running on the server. If one node stops running, the other nodes will keep your website running, processing and handling requests.
HA is achieved by using load balancers to share traffic across several servers to keep the front end running, and using MS SQL clustering or MySQL replication to keep the databases online in the event of a failure.
Load balancing
The front end of a website requires load balancers to achieve HA. Load balancers are used to distribute traffic intelligently across two or more dedicated servers. There are multiple methods that load balancers can use to direct traffic across the servers. The most common method is ‘least connections,’ where the load balancer directs traffic to the least populated server. Load balancers ensure HA in the following situations:
- Hardware failure – If one of your servers fails due to a fault with the hardware, the load balancer will redirect the incoming traffic to an online server.
- Maintenance – If it is necessary to take a server offline to carry out scheduled maintenance, the load balancer will redirect all traffic to the server(s) available. This prevents any downtime and ensures HA.
MySQL replication and MS SQL clustering
Using load balancers to direct traffic between different servers will ensure the front end of your website will not go offline, however it is also necessary to ensure your database will not fail.
If Linux is running, HA is achieved using MySQL replication. If Windows is running, HA will be achieved using MS SQL clustering.
Find out more about SQL replication and clustering in our dedicated insight.
MySQL replication
Replication is a method for duplicating and sharing data (and database objects) across multiple databases. It lets you access all the data for the SQL Server instance from any node you want. This is done by setting up a replication job between the primary (master) database and the secondary (slave) database.
In the event of a failure, the secondary database will be taken over from the primary database, keeping all systems online. This can be done manually, or you can code your application to failover automatically so that the transition is seamless.
MS SQL clustering
Clustering is the technology that automatically allows one server to take over the tasks and responsibilities of another server in the event that it has failed. This method requires a shared storage pool (SAN) where your data is kept. In this case, a Database Cluster is set up.
Clustering is the process of installing more than one SQL server node into a cluster. This means that all data can be accessed from any of the nodes in a cluster, so if one node is experiencing issues, you can seamlessly switch to a different node on the cluster. MS SQL detects when one of the databases goes down, and automatically fails over.
Could your business benefit from a High Availability solution?
Find out more about running HA on Hyve’s dedicated servers in an initial consultation with our cloud experts. Fill out our contact form and we will be in touch.