For eleven years I was accountable for an enterprise environment — Microsoft servers, Exchange, SQL, SharePoint, networks, IP telephony — that sustained 99.9% availability. When people ask how, they expect an architecture answer: clustering, redundant power, failover links. The architecture existed and mattered. But honestly reviewing those years, the availability was earned less by the design than by a handful of operational habits, held without exception, for a decade.
Three nines allows roughly 8.7 hours of unplanned downtime a year. That budget is not consumed by dramatic failures — it is consumed by ordinary Tuesdays: a patch that breaks a service, a certificate that expires, a disk that fills, a change nobody thought through. The playbook, therefore, is mostly about Tuesdays.
Redundancy you have tested is redundancy you have
Every environment on paper has failover: clustered databases, dual power supplies, a secondary internet link. The operative question is when each was last exercised. A failover that has never been tested is a hypothesis, and infrastructure hypotheses have a way of failing at 2 a.m. during month-end. We scheduled controlled failovers — database cluster, firewall pair, secondary link — into the maintenance calendar like any other job. About one test in five found something: a stale configuration on the passive node, an expired dependency, a routing surprise. Each one was an outage that never happened.
Monitor for tomorrow's outage, not today's
Basic monitoring tells you a server is down — at that point you are already spending your downtime budget. The monitoring that protects availability watches the precursors: disk growth trends against capacity, certificate expiry dates, backup job success, queue lengths, memory creep after patches. My standing rule was that every incident review ends by asking: what signal, monitored, would have warned us a week earlier? — and then adding that signal. Ten years of that loop and the monitoring system becomes the institutional memory of every failure the environment has ever had.
Patch on a rhythm, not on a panic
Unpatched systems eventually cost availability through security incidents; recklessly patched systems cost it immediately. The sustainable middle is rhythm: a fixed monthly window, patches staged on non-critical systems first, a defined soak period, then production — with a written rollback path per system. The rhythm matters as much as the procedure, because a rhythm survives busy months. Ad-hoc patching does not, and the backlog becomes the incident.
Change windows are a promise to the business
Nearly every self-inflicted outage traces to a change made at the wrong time. The discipline is not sophisticated: production changes live in announced windows; nothing non-urgent touches production in the 48 hours before month-end close or a major business event; and every change carries a tested rollback. Holding this line is occasionally unpopular — someone always wants their small change now — and holding it anyway is precisely the job.
Own the vendors' overlaps
At enterprise scale, availability incidents love the seams between vendors: the telco blames the firewall, the firewall vendor blames the ISP, and the clock runs. What worked: maintaining our own end-to-end monitoring so we arrived at every dispute with data, and pre-agreeing escalation paths with named contacts before incidents, not during. The environment's availability is yours; vendors only ever own their fragment of it.
Report the number, own the number
One habit ties all the others together: publish availability to management monthly, from your own monitoring, whether or not anyone asked. The act of reporting changes the department's psychology — the number stops being an abstraction and becomes a standard the team defends, and incident post-mortems become collaborative (“how do we protect the number”) rather than defensive. It also builds the credibility reserve you will eventually need: the month you must ask the business for a longer maintenance window, or budget for aging hardware, you are negotiating from years of transparent delivery rather than from a crisis.
Be precise about definitions when you start — measured on which systems, from where, with planned windows excluded under what notice rule. Vague availability numbers invite disputes exactly when you least need them; a one-page measurement definition, agreed once with management, makes the metric untouchable.
The habits behind the number
- Failover tests on the calendar — and findings fixed.
- Precursor monitoring that grows after every incident.
- A patching rhythm with staging and rollback.
- Change windows defended, especially near month-end.
- End-to-end monitoring data for every vendor dispute.
None of these habits is expensive, and none is glamorous. That is rather the point: high availability is not a product you buy once but a standard you keep daily — and the number on the report is simply the residue of a thousand small refusals to cut corners.