What is High Availability?
High Availability (HA) is a significant feature of a reliable hosting architecture. 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.
Why is HA important?
HA is critical for businesses because it ensures that their website will remain online in the event of a hardware failure, or due to scheduled maintenance.
- Reliability: HA means that in the event of a failure, such as a hardware fault, a website will operate continuously without error.
- Maintenance: When running a business online, it is vital that your website does not go down, as even one minute of downtime can cause major repercussions. Yet at the same time, websites 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.
'High Availability is a must have for any business looking to stay online all the time. E-shops, gambling sites, and critical online SaaS products should all make use of High Availability.' - Oliver Ward, Head of Strategy
How does HA work?
To setup 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.
HA 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.
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 a server that is online.
- 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) that is 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.
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.
More articles in Blog
- What is Hybrid Cloud?
- Why the healthcare sector is embracing hybrid cloud
- How can businesses use the cloud to reduce their carbon emissions?
- 3 public sector cybersecurity threats – and how to prevent them
- Why digital agencies need a managed hosting provider
- 5 ways the cloud saved education during the pandemic
- Hyve Managed Hosting wins “Company of the Year” at the Brighton and Hove Business Awards
- Is it about time the insurance sector embraced the cloud?
- The importance of ISO 27001
- Cloud Security: An Essential Guide
- On premise vs. the cloud: What is the future for the financial sector?
- Is your hosting provider solving your big data problems?