What are the Basics of High Availability Engineering?

February 26, 2019 Jake Fellows

Does your business rely on cloud services, databases, remote servers, or stored data of some kind? Of course it does. Are you in constant fear of downtime? Of course you are. In our 24-hour, always-on, always connected, someone-is-always-awake market(s), uptime is critical. Simply put, going dark is bad for business… and it is unacceptable. That’s why high availability engineering solutions—like ones offered by Liquid Web, and other modern web hosting companies—are so important. From high availability infrastructure and SQL databases, to redundant replication, transaction logs, and the elimination of single points of failure, a web host is only as good as its high availability (HA) engineering services.

Let’s assume your application will be hosted on a traditional managed infrastructure.

Now, let’s look at why a high availability server is a better solution.

High Availability Summarized

When it comes to HA, the three principles of reliability engineering must be considered:

  1. Reduce or eliminate single points of failure.
  2. In redundant systems, make sure crossover points are reliable.
  3. The system in place must detect and react to failures in real-time.
Check Mark Subscribe to the Liquid Web weekly newsletter to get the latest on high availability technology sent straight to your inbox.

When these three principles are reliably implemented, a significant reduction in downtime is achieved. A quality web host will have these principles in mind when designing their services.

Reducing single points of failure in an HA system means redundancy in data—virtual, physical, or a combination of the two. An HA structure will have a primary volume, and at least one physical backup volume. A standard configuration is comprised of two, identical, primary volumes backed up by two, identical, Distributed Replicated Block Device (DR:BD) physical volumes, backed up by two DR:BD virtual volumes. DR:BD volumes perform selective, synchronous data replication, which means that only blocks of changed data (not the entire volume) are rewritten and backed up in real-time.

DR:BD volumes ultimately reduce backup times as they require less computing resources at one time. Each backup tier (two identical primary volumes, two identical DR:BD virtual volumes, etc.) is stored on separate physical servers—some hosts will even back up to a server at a remote location. A configuration with a remote location eliminates another single point of failure by protecting your data from natural disasters and other location-based issues like power outages and network failures.

redundancy in high availability

What To Do With the Database

In an HA system, it’s recommended that your SQL database is stored on a separate, redundant server environment as it improves performance and reduces overhead on your primary server. A dedicated SQL server also works with/toward the principles of reliability engineering as it is specifically designed for high availability, including automated and reliable crossovers and real-time failure detection.

SQL databases also create incremental transaction logs; another guard against single points of failure. Transaction logs record every change in the database at set intervals as frequently as one minute—the SQL database can use the transaction logs as a dataset, writing to the backup servers in your HA configuration.

Liquid Web’s standard configuration for SQL database hosting includes a daily backup of the entire database and 24 rollings hours of hourly transaction logs.

heartbeat monitoring on high availability

Monitoring for Failover

At the very core of the HA configuration should be a monitoring system that is constantly and consistently keeping an eye on the health of the clusters and automatically performing failovers when necessary. The monitoring subsystem most popular across the industry is Heartbeat. Heartbeat is a Linux-based monitor that can reliably support multiple nodes. Heartbeat can quickly and accurately identify critical failures and automatically transition the system to a redundant server.

As you can see, each part of the HA system works with/toward more than one of the three principles of high availability engineering. The redundant data nodes (physical and virtual) reduce single points of failure and create reliable crossover points.

A dedicated SQL server creates another layer of redundancy, another guard against single points of failure, and has built-in, automated crossover points.

Finally, Heartbeat sits at the center of the entire configuration, monitoring the system in real-time and automating crossovers when necessary.

With a quality HA system in place, downtime is reduced or virtually eliminated, keeping your business on and operational all day, every day.

Check Out Our Custom Solutions

At Liquid Web, we know one size doesn’t fit all. We can help you design a high availability server hosting solution for websites, applications, and anything in between.


The post What are the Basics of High Availability Engineering? appeared first on Liquid Web.

About the Author

Jake Fellows

Jake Fellows is an Associate Product Manager for Liquid Web's Managed Hosting products and services. He has over 10 years of experience involving several fields of the technology industry including hosting, healthcare, and IT system architecture. On his time off, he can be found in front of some form of screen enjoying movies, video games and researching into one of his many technical side projects.

More Content by Jake Fellows
Previous eBook
Mission-Critical Sites Need a High Availability Hardware Environment
Mission-Critical Sites Need a High Availability Hardware Environment

If you are running an eCommerce or WooCommerce store, a SaaS solution, or a mid-sized company running a bac...

Next eBook
High Availability Active Directory
High Availability Active Directory

The High Availability Active Directory is a solution that delivers all the power of centralized user manage...

Secure Your Infrastructure With This List

Get Checklist