← all glossary terms

High availability

Designing a service so it keeps responding when any single component fails — typically by running redundant copies of every part.

High availability (HA) is the property of a system that continues to deliver service when one of its components fails. The standard pattern is redundancy: run two or more copies of every component (load balancer, application server, database replica, object store node) so that the failure of any single instance does not bring the whole service down. HA is often quantified as a target uptime — three nines (99.9%) is roughly 8.77 hours of downtime per year, four nines (99.99%) is 52 minutes, five nines (99.999%) is 5.26 minutes. Each additional nine costs roughly 10x more to engineer.

In a self-hosting context

For most self-hosted SaaS replacements at small-team scale — Mattermost for a 50-person company, a Nextcloud for a family, Gitea for a 10-person dev team — a single VPS with nightly backups is the right operating point, not HA. The marginal cost of a second replica is rarely worth the saved minutes per year. HA starts to matter when the service is in the critical path of a paying customer; at that point, see Load balancing and Kubernetes vs Docker Compose.

All 30 terms