High Availability: What SMB Systems Actually Need
High availability is not a product you buy, it is a set of decisions about what your business can afford to lose. This guide translates uptime percentages into real minutes, maps the single points of failure that break small and mid-size systems, and gives you a tiered rollout plan you can start
It is 9:40 on a Tuesday morning. Your order portal returns a blank page, forty drivers are waiting on route assignments, and the phone system is now your order-entry system. Nobody is asking about architecture diagrams. They are asking how long.
High availability is the discipline that answers that question before it gets asked. It is not a license you buy or a box you check during a migration. It is a series of deliberate trade-offs: what fails, how fast you notice, how fast you recover, and how much you are willing to spend to shorten that window.
Most small and mid-size companies do not need five-nines infrastructure. They need to stop losing half a day to a single failed database server. The gap between those two outcomes is smaller and cheaper than most teams assume.
What High Availability Actually Means (and What It Doesn't)
High availability means a system keeps serving requests even when one of its components fails. The emphasis is on during the failure, not after it. If recovering requires a person to log in, restore a file and restart a service, that is recovery, not availability.
The practical test is simple: pick any single machine, container, disk, network link or third-party dependency in your stack. Turn it off in your head. Does the business keep operating? If the answer is no, you have found a single point of failure, and you now have a decision to make about it.
The Nines, Translated Into Minutes You Can Feel
Vendors sell availability in percentages because percentages sound harmless. Convert them to time and they start to mean something. The formula is straightforward:
Downtime budget = (1 − availability) × period
Run it against a 365-day year and a 30-day month:
- 99% — about 3.65 days per year, or 7.2 hours per month
- 99.9% ("three nines") — about 8.8 hours per year, or 43.8 minutes per month
- 99.95% — about 4.4 hours per year, or 21.9 minutes per month
- 99.99% ("four nines") — about 52.6 minutes per year, or 4.4 minutes per month
- 99.999% — about 5.3 minutes per year, or 26 seconds per month
Notice what happens between three and four nines. You go from "we can reboot a server during lunch" to "no human can react fast enough." Four nines requires automated failover, because 4.4 minutes per month does not leave room for someone to read an alert, open a laptop and think.
Now put a dollar figure next to it. Calculate your own cost of an outage hour instead of borrowing a number from a vendor deck:
Cost per hour = lost gross margin per hour + idle labor cost per hour + recovery labor + penalties or credits owed to customers
A distributor doing most of its order volume between 8 a.m. and 2 p.m. should calculate the peak-hour number, not the 24-hour average. Outages have terrible timing. They happen when the system is under load, which is also when the system is making money.
Availability, Disaster Recovery and Backups Are Three Different Things
These get used interchangeably in meetings, and the confusion is expensive.
- High availability handles the loss of a component within one environment: a node dies, traffic shifts, users notice nothing or see a brief blip.
- Disaster recovery handles the loss of the whole environment: a region outage, a ransomware event, a deleted account. It is measured by RTO (how long until you are running again) and RPO (how much data you accept losing).
- Backups are the raw material disaster recovery depends on. A backup you have never restored is a hypothesis, not a safeguard.
You need all three, and they solve different failures. A clustered database with automatic failover will cheerfully replicate a bad migration to every replica in under a second. Redundancy copies mistakes as faithfully as it copies legitimate data. NIST's Contingency Planning Guide (SP 800-34) is a solid, free framework for separating these layers and documenting them properly.
Where Small and Mid-Size Systems Actually Break
In practice, outages at companies with 20 to 500 employees rarely come from exotic hardware faults. They come from a short, repeatable list.
Single Points of Failure You Can List on One Page
Sit down with whoever knows the stack and write these out. The exercise takes an hour and usually surfences two or three things nobody realized were load-bearing.
- One application server. One instance, one deploy, no load balancer. A bad release or a full disk takes everything with it.
- One database, no replica. The most common and most damaging gap. Recovery means restoring from backup, and restore time scales with data size.
- A background job queue on the same box as the web app. A runaway import starves the thing customers are looking at.
- Disk space and certificate expiry. Two scheduled, entirely preventable outages that still happen constantly because nobody owns the alert.
- One DNS provider, one registrar, one expiring domain on a credit card nobody updated.
- A single person who knows how to restart it. If that person is on a plane, your RTO is the flight time.
The last one is organizational, not technical, and it is the one most teams refuse to write down. Availability is a staffing question as much as a server question. For teams without a 24-hour rotation, this is where a website maintenance services arrangement earns its keep — monitoring, patching and someone on the other end of the alert. Our team works from Mexico on US time zones, which means an alert at 7 a.m. Central reaches a person who is already at their desk rather than one who is asleep.
The Dependencies You Don't Control
Your payment processor, your carrier's tracking API, your email provider, your e-invoicing stack, your single ISP at the warehouse. You cannot make these redundant, but you can make them non-fatal.
Design for graceful degradation. If the credit card gateway is down, let a sales rep save the order and flag it for later capture instead of throwing an error. If the mapping API fails, serve yesterday's cached route rather than an empty screen. Partial function beats a stack trace in every single case.
Set explicit timeouts on every outbound call, and make them short. A thirty-second default timeout on a hung third-party request will exhaust your connection pool and convert someone else's outage into yours.
Designing High Availability Without an Enterprise Budget
Treat availability as tiers you climb, not a target you leap to. Each tier costs more than the last and buys less than the last. Stop where the math stops making sense.
Tier 1 — See it (days one to three, cost: minimal). External uptime checks from at least two locations, hitting a real endpoint that touches the database rather than a static page. Alerts to a phone, not an inbox. Disk, memory, certificate expiry and queue depth monitored. Until you can detect an outage in under two minutes, nothing else you build matters.
Tier 2 — Survive the obvious (weeks one to four, modest cost). Two application instances behind a load balancer with health checks. Managed database with automated backups and point-in-time recovery. Documented restore procedure, tested once. Infrastructure described in code so you can rebuild rather than remember.
Tier 3 — Survive the database (one quarter, real cost). A standby replica in a second availability zone with automated failover. Object storage for files instead of a local disk. Sessions and cache externalized so any instance can serve any user. This tier is where three nines becomes realistic.
Tier 4 — Survive the region (only if revenue justifies it). Cross-region replication, global traffic routing, regular failover drills. Expensive, operationally demanding, and genuinely unnecessary for most mid-size operations.
One warning about Tier 3: two nodes and automatic failover introduce failure modes you did not have with one node — split brain, replication lag, a failover that triggers on a network blip. Redundancy without testing can lower your availability. That is not an argument against it; it is an argument for the next section.
Testing: The Part Everyone Skips
An untested failover is a guess with a configuration file. Put these on the calendar as recurring work, with a named owner:
- Quarterly restore drill. Restore last night's backup into a scratch environment and time it. That number is your actual RTO, not the one in the plan.
- Quarterly failover drill. Promote the standby during a low-traffic window. Measure how long writes were unavailable.
- Monthly dependency test. Block one third-party API in staging and confirm the app degrades instead of collapsing.
- Semiannual runbook read-through. Hand the document to someone who did not write it and see if they can follow it.
Write the runbook for a tired person at 3 a.m.: exact commands, exact dashboard URLs, who to call, what to tell customers. Ready.gov's business continuity planning guidance is a useful free template for the non-technical half — communications, roles and escalation.
Also decide your status-page policy before you need it. Customers forgive outages. They do not forgive silence.
Start With the Downtime You Already Have
Pick a number first. Look at the outages of the last twelve months, add up the hours, multiply by your cost-per-hour figure, and compare it to the price of Tier 2 or Tier 3. The decision usually makes itself once it stops being abstract.
Then do the one-page exercise: list your single points of failure, write your current honest RTO and RPO next to each one, and name an owner. Most teams find that two or three changes — a read replica, a second app instance, an alert that actually reaches a human — move them from "a bad day costs us a day" to "a bad day costs us four minutes."
If you are weighing whether to harden what you have or rebuild the fragile parts, that is a worthwhile conversation to have with engineers who have done both. Get a quote for your project and we will walk your current architecture, map the failure points and give you a tiered plan with the trade-offs written out — including the tiers we think you should skip.
Related articles
App development
Mobile app vs web app for business: what does your company actually need?
Build an app if people use it daily on their phones or need device features; build a web app if they work on computers or you need maximum reach.
· Equipo Strappberry
App development
How to Create a Digital Catalog for Field Sales Teams
A digital catalog fails when the product data behind it is wrong, not when the design is ugly. This guide walks through the seven steps to build one that field reps and customers trust — from required data fields and image standards to pricing rules, offline access and the metrics that tell you it
· Equipo Strappberry
App development
Direct Store Delivery: A Practical Operations Guide
Direct store delivery puts your trucks, your people and your inventory inside someone else's store, which is where margin quietly disappears. This guide breaks down DSD route economics, the driver workflow that actually holds up at the shelf, and how to decide between an off-the-shelf app and custom
· Equipo Strappberry