Resilience, risk and cost

Resilience you can measure, at a cost you can defend

Availability is a business decision with a price. I turn it into numbers: downtime per year, recovery times, the shared services everything depends on, the rules a regulated firm must meet, and what each unit of capacity really costs.

  • Availability maths
  • MTBF and MTTR
  • Cold start order
  • DORA
  • FCA and PRA
  • PCI DSS
  • Risk registers
  • Unit cost and TCO
A service running across two sites with shared services Users reach a front door that spreads requests across an application in site A and site B. Each site has its own database, and site A copies its data to site B. A strip of shared services, DNS, identity, time and keys, sits under both sites. A tag shows the target: 99.99 percent availability, about 52.6 minutes of downtime a year. SITE A SITE B copy Userscustomers Front doorload balancer Application Database Application Database Shared servicesDNS · identity · time · keys 99.99% target: 52.6 min a year
Live view · two sites, one target, shared services underneath
Overview

What fails, and what then happens

Every resilience review I run comes back to that question. A service is a chain of parts. Any part that stands alone can stop the whole service, and pairs only help if the two halves cannot fail for the same reason. Each extra layer of resilience also costs money, so the business needs to see the price before it picks a target.

A service chain, from single parts to pairs Users reach a front door, an application, a database and storage, in a line, and look up names in DNS first. In step 1 every part is single and traffic flows. In step 2 the database fails and the whole service stops. In step 3 a second application, database and storage are added, and traffic goes round the failed database. In step 4 the shared DNS fails, and both halves stop together. In step 5 everything runs again, and each pair is shown to add cost. DNSnames Userscustomers Front doorload balancer ApplicationA DatabaseA StorageA ApplicationB DatabaseB StorageB Every part stands alone: each is a single point of failure One database fails: the whole service stops Traffic goes round the failure Both halves need the same DNS, so both stop together Each pair adds hardware, licences, power and people

Swipe sideways to see the whole diagram.

Step 1
  1. Users look up the name in DNS (the domain name system), then traffic passes a front door, an application, a database and storage. Every part stands alone, so any one of them can stop the service.

  2. The database fails. The other parts are healthy, but the service is down, because a chain is only as strong as its weakest link.

  3. A second application, database and storage are added. Traffic goes round the failed database, and users notice nothing more than a short pause while the replica takes over.

  4. Both halves still use the same DNS. When it fails, users cannot find the service at all. Pairs only help if the two halves cannot fail for the same reason.

  5. Everything runs again, but every pair has a price: hardware, licences, power, space and the people to run it. That is why the business sets the target with the cost in front of it.

Start from the business

I ask which services would cause real harm if they stopped, and for how long that harm is tolerable. The technology target follows from that answer.

Tier, do not gold plate

Not everything needs five nines. I tier services by criticality, so money goes where an outage would hurt most.

Show the price

Each option comes with its availability, recovery time and cost, including the cost of doing nothing. The business then chooses knowingly.

Availability

What each nine really allows

Availability is the share of time a service works. Each extra nine cuts the allowed downtime by ten, and each one usually needs a bigger step in design: more redundancy, a second site, automated failover and changes made without downtime. Pick a target to see what it allows.

Downtime allowed per year for each availability target Five bars on a log scale show the downtime a year allowed by each target. 99 percent allows about 3.65 days and 99.9 percent about 8.76 hours. 99.95 percent allows about 4.38 hours, 99.99 percent about 52.6 minutes and 99.999 percent about 5.26 minutes. Each bar is ten times shorter in time than the one before for every extra nine. The chosen target is highlighted, with its downtime per year, per 30 day month and per week. Downtime allowed per year (log scale) 3.65 days99% 8.76 h99.9% 4.38 h99.95% 52.6 min99.99% 5.26 min99.999% Target 99.99% Down per year 52.6 minutes Per 30 day month 4.32 minutes Per week 1.01 minutes

Swipe sideways to see the whole diagram.

99.99%
Down per year52.6 minutes
Per 30 day month4.32 minutes
Per week1.01 minutes
What it usually takesTwo sites running at once, automated failover, and most changes made without downtime.

A year is taken as 365 days and a month as 30 days. The design notes are typical patterns, not rules: the real answer depends on the service and its dependencies.

Availability targets, downtime and typical design
TargetDown per yearPer 30 day monthPer weekWhat it usually takes
99%3.65 days7.2 hours1.68 hoursOne site, single parts, support in office hours.
99.9%8.76 hours43.2 minutes10.1 minutesRedundant power, network and servers in one site, with support out of hours.
99.95%4.38 hours21.6 minutes5.0 minutesN+1 at every layer, tested failover and monitoring that pages someone.
99.99%52.6 minutes4.3 minutes1.0 minuteTwo sites running at once, automated failover, and most changes made without downtime.
99.999%5.26 minutes26 seconds6 secondsSeveral sites, no shared single dependency, and every change and patch done live.

From need to target

I turn the business need into a service level objective (SLO), a measured target such as 99.95% a month. The service level agreement (SLA) with customers then sits a little below it, so there is room for error.

Tier the estate

Across a large estate I use a few site tiers. Hub sites get two diverse circuits and paired kit. Small sites get one circuit with 4G or broadband backup. Each tier has its own target and is measured against it.

Measure what users see

Availability is measured at the service, from the user's side, not by adding up green lights on devices. A network can be up while the application is not.

Series and parallel

How parts combine into a service

Parts in a chain multiply: three parts at 99.9% each give about 99.7%, so the service is worse than any one part. Parts in parallel do the opposite: a pair of 99.9% parts is down only when both are, which is about 99.9999%. That maths assumes the two halves fail independently, and that is the assumption I test hardest.

Three tiers in series, in pairs, with a shared dependency, and with a shared fault Users reach a web tier, an application tier and a database tier. In series there is one of each. In pairs each tier has two members and traffic can use either. With a shared dependency, both halves also rely on one DNS service. With a shared fault, both application servers fail together because they run the same faulty firmware, so traffic stops at the web tier. Usersrequests WebA ApplicationA DatabaseA WebB ApplicationB DatabaseB One shared DNS Same firmware fault in both In series: every part must work In pairs: either member of each tier will do Pairs, but one shared dependency in series Pairs that fail together behave like single parts

Swipe sideways to see the whole diagram.

99.90%
Service99.70%
Down per yearabout 26.25 hours
SumA × A × A

In series. Three tiers, one of each. The service only works when all three do, so the availabilities multiply and the result is lower than any single part.

In pairs. Each tier has two members and either will do. A tier is only down when both members are down at once, so each tier gets much better, and so does the service.

Shared dependency. The pairs are still there, but both halves need the same DNS. That single service sits in series with everything, and drags the result back down to its own level.

Shared fault. Both application servers run the same firmware and hit the same bug on the same day. The pair behaves like one part, and the gain from pairing disappears. I stagger firmware and changes across pairs for this reason.

Animation

Active and active

Both halves carry live traffic, so failover is near instant and each half is proven every day. Each half must be able to carry everything: two sites at 70% load cannot absorb each other.

Active and standby

Simpler for stateful systems such as some firewalls and databases, and often cheaper to license. The standby must be tested on a schedule, or it fails when it is finally needed.

Faults that hit both halves

The same firmware bug, the same bad change pushed everywhere, or certificates that all expire on one day. I stagger upgrades, never change both halves together and keep a certificate inventory.

Detect and repair

Time between failures, and time to recover

Two numbers drive availability: how often something fails, the mean time between failures (MTBF), and how long it takes to put right, the mean time to restore (MTTR). Inside the repair time sits the mean time to detect (MTTD), which is often the easiest part to shorten.

A failure timeline with detection, repair and the time between failures A time line runs left to right. The service is up until a failure. Detection takes a while, shown as the mean time to detect. Diagnosis and the fix follow, and the whole outage from failure to restore is the mean time to restore. The service then runs until the next failure, and that gap is the mean time between failures. The last step shows the formula: availability equals MTBF divided by MTBF plus MTTR, with two worked examples. failure MTTD alert diagnosed restored MTTR: failure to restore MTBF: time between failures Availability = MTBF ÷ (MTBF + MTTR)the same idea as uptime ÷ total time MTBF 2,000 h, MTTR 4 h: 99.80% Same MTBF, MTTR 1 h: 99.95%

Swipe sideways to see the whole diagram.

Step 1
  1. The service runs normally until a part fails. From this moment the clock is running, whether anyone knows about it or not.

  2. Detection is the gap between the failure and the first alert a person acts on. Good monitoring, tuned alerts and synthetic tests that act like a user make this gap short.

  3. The fault is diagnosed and fixed, then the service is checked and restored. The whole outage, from failure to restore, is the mean time to restore. The service then runs until the next failure.

  4. Availability is MTBF divided by MTBF plus MTTR. With failures every 2,000 hours and four hours to restore, the service reaches 99.80%. Cutting the restore time to one hour lifts it to 99.95%, with no new hardware. Here MTBF is the uptime from one restore to the next failure, as ITIL defines it.

Shorten detection

Alerts that page a person, synthetic checks that behave like a user, and dashboards per service rather than per device. Faster detection is often the cheapest nine.

Shorten repair

Runbooks, spares on site, out of band access and automated failover. A fix that needs one specialist who is asleep is not a fix.

Raise the gap between failures

Better parts, redundancy, patching and fewer risky changes. This usually costs the most, so I check the cheaper levers first.

Shared services

The services everything quietly depends on

A handful of shared services sit underneath every application: names, logins, time, addresses and encryption keys. They rarely appear on a service map, yet when one fails, many services fail with it. Pick one to see what stops, what carries on, and how I protect it.

What stops when a shared service fails A shared service sits in the middle, linked to six things that depend on it: user logins, applications and encrypted storage on the left, new servers starting from the network, automation and logs on the right. For each shared service, a cross marks what stops at once, an amber dot marks what stops later, and a tick marks what carries on. DNS stops logins, applications, new servers and automation. Identity stops logins, applications and automation. Wrong time stops logins and makes logs unusable as evidence. DHCP and IP address management stop new servers and automation. Keys stop encrypted storage after a restart. DNSnames to addresses Identitydirectory and logins TimeNTP and PTP DHCP and IPAMaddresses KeysKMS and HSM User logins Applications Encrypted storage New servers Automation Logs and evidence stops nowstops latercarries on

Swipe sideways to see the whole diagram.

DNS fails. Nothing can find anything: logins, applications, new servers and automation all stop, because they look up names first. Logs sent to a fixed address may carry on. I run anycast resolvers in every site, several authoritative servers and sensible caching, so one failure is never total.

Identity fails. The directory, such as Active Directory, or the identity provider stops answering. People cannot log in, and applications and automation that use service accounts fail too. I run at least two domain controllers per site, and keep break glass accounts in a vault for when the directory itself is down.

Time goes wrong. Kerberos logins fail once clocks drift more than five minutes apart by default, certificates can look invalid, and logs from different systems no longer line up, so they are useless as evidence. I use three or four independent time sources, satellite and terrestrial, with clocks that hold time if the source is lost. Servers take time over the Network Time Protocol (NTP), and trading systems over the Precision Time Protocol (PTP).

DHCP and IPAM fail. Devices that already have an address from the Dynamic Host Configuration Protocol (DHCP) carry on, but new servers cannot boot from the network and automation that asks IP address management (IPAM) for an address stops. I use DHCP failover pairs, long leases and reserved addresses for infrastructure.

Keys are unavailable. Running systems carry on, but encrypted virtual machines and datastores may not start after a reboot without the key management service (KMS) or hardware security module (HSM). I cluster HSMs across sites and never host them on the platform that depends on them.

Animation
Cold start

Bringing everything back in the right order

After a full power loss, everything has to start again in order. Circular dependencies hide until that day: the key service that runs on the encrypted cluster that needs its keys, or the DNS server behind a firewall whose management needs DNS. I document the start order, put the foundations on their own small platform, and prove it with a timed cold start.

Cold start order, a circular dependency and the fix Nine steps climb from bottom left to top right: power, out of band management, time, DNS, identity, keys, the network fabric, platforms and workloads. Step 1 starts power, out of band and time. Step 2 adds DNS and identity. Step 3 adds keys and the fabric. Step 4 shows a loop: the key service runs on the platform that needs its keys, so neither can start. Step 5 moves the foundations to their own small platform, pod zero, which breaks the loop, and platforms and workloads start. Power OOB Time DNS Identity Keys Fabric Platforms Workloads Keys run on the platform that needs them Power, then out of band, then time Names and logins before anything else Keys, then the network fabric Pod zerotime, DNS, identity and keys on their own platform Loop broken: the foundations start alone Order after a full power loss

Swipe sideways to see the whole diagram.

Step 1
  1. Power and cooling come first, then the out of band (OOB) management network that lets engineers reach every device, then time. Everything after this needs accurate clocks.

  2. DNS starts next, then identity: the directory, the authentication servers for network devices, TACACS+ (Terminal Access Controller Access Control System Plus) and RADIUS (Remote Authentication Dial In User Service), and privileged access management (PAM).

  3. Key management starts, so encrypted systems can start, then the network fabric comes up and builds its routes.

  4. Here the key service runs as a virtual machine on the encrypted cluster that needs its keys. The cluster waits for the keys, and the keys wait for the cluster. Neither starts. Loops like this only show up in a real cold start.

  5. The fix is to move time, DNS, identity and keys onto their own small platform, often called pod zero, which depends on nothing above it. The loop is gone, and platforms and workloads start in order. I prove the whole sequence with a timed cold start.

Regulation

The rules a regulated firm designs around

In financial services, resilience is not optional. The UK and EU rules below shape the infrastructure I design for regulated firms: which services must survive, how fast incidents are reported, how suppliers are managed and how often defences are tested. I treat each rule as a design input with evidence behind it. The governance side is on my design authority page.

Key dates for resilience regulation, 2021 to 2027 A time line from 2021 to 2027. UK operational resilience rules were published in March 2021, applied from 31 March 2022, and firms had to be within their impact tolerances by 31 March 2025. The PRA's outsourcing statement SS2/21 applied from 31 March 2022. DORA entered into force on 16 January 2023 and applied from 17 January 2025. PCI DSS version 4.0.1 was published in June 2024, and its future dated requirements became mandatory after 31 March 2025. The UK critical third parties rules came into force on 1 January 2025, and the first designations took effect on 13 July 2026. New UK incident and third party reporting rules were published on 18 March 2026 and apply from 18 March 2027. 2021202220232024202520262027 Dates verified against FCA, PRA, EU and PCI SSC publications, October 2026 UK operational resilience · FCA PS21/3 (SYSC 15A) and PRA SS1/21 29 March 2021: rules published by the FCA and the PRA. 31 March 2022: important business services and impact tolerances set. 31 March 2025: firms must be able to stay within those tolerances. Services are mapped and tested against severe but plausible scenarios. Outsourcing and third parties · PRA SS2/21 Published 29 March 2021, applied from 31 March 2022. Material outsourcing needs due diligence, audit and access rights. Exit plans for both a stressed exit and a planned, orderly one. Updated in 2024, and again from 18 March 2027 with PS7/26. EU Digital Operational Resilience Act · Regulation (EU) 2022/2554 In force 16 January 2023, applied from 17 January 2025. Five areas: ICT risk, incidents, testing, third parties, sharing intelligence. Reaches UK groups through their EU entities and shared platforms. Threat led penetration testing at least every three years where required. Payment cards · PCI DSS version 4.0.1 Published June 2024; version 4.0 retired on 31 December 2024. Future dated requirements became mandatory after 31 March 2025. They include MFA for all access into the cardholder data environment. Scope is the biggest cost lever, so segmentation matters most. UK critical third parties · Financial Services and Markets Act 2023 Rules in force 1 January 2025, overseen by the Bank, PRA and FCA. First designations by HM Treasury took effect on 13 July 2026. Designated: entities of AWS, Google Cloud, Microsoft and Oracle. Firms stay fully responsible for their own resilience. UK incident and third party reporting · FCA PS26/2 and PRA PS7/26 Published 18 March 2026, in force from 18 March 2027. Initial report within 24 hours of finding a threshold is met. Notify the regulator of new or changed material third party deals. Keep a register of material third party arrangements, sent yearly.

Swipe sideways to see the whole diagram.

Step 1
  1. The Financial Conduct Authority (FCA) and Prudential Regulation Authority (PRA) ask firms to name their important business services, set an impact tolerance for each, map what each depends on and test it. The deadline to stay within tolerance was 31 March 2025.

  2. The PRA's supervisory statement SS2/21 covers outsourcing and third party risk: due diligence, contract rights, business continuity and exit plans, including what happens if a supplier fails suddenly.

  3. The EU Digital Operational Resilience Act (DORA) covers risk management for information and communication technology (ICT), incident reporting, resilience testing, third party risk and information sharing. It has applied since 17 January 2025, and it lets EU supervisors oversee critical ICT third party providers directly. The European supervisors named the first of these on 18 November 2025.

  4. The Payment Card Industry Data Security Standard (PCI DSS) version 4.0.1 sets the controls for any system that stores, processes or sends card data. Its future dated requirements, such as multi factor authentication (MFA) for all access into card systems, are now mandatory.

  5. Since 1 January 2025 the UK can bring a key supplier to the whole financial sector under direct oversight. The first four, all cloud and technology providers, took effect on 13 July 2026. Each firm still owns its own resilience and exit plans.

  6. New UK rules from 18 March 2027 standardise operational incident reports and require notice of material third party arrangements. I design monitoring and logging so the facts for a report are ready within hours, not days.

DORA major incident reporting clocks A track with five points: the firm becomes aware of an incident, classifies it as major, sends an initial notification, an intermediate report and a final report. The initial notification is due within four hours of classifying the incident as major, and no later than 24 hours after becoming aware of it. The intermediate report is due within 72 hours of the initial notification. The final report is due within one month of the latest intermediate report. The track is not to scale. Aware Major Initial Intermediate Final within 4 hours and within 24 hours of becoming aware within 72 hours within 1 month Not to scale. Source: Commission Delegated Regulation (EU) 2025/301

Swipe sideways to see the whole diagram.

Step 1
  1. Monitoring raises the incident and the firm classifies it against DORA's criteria, such as clients affected, duration, data lost and services hit. Classification must be quick, so the facts need to be on hand.

  2. Within four hours of classifying it as major, and no later than 24 hours after becoming aware of it.

  3. Within 72 hours of the initial notification, and again whenever the situation changes materially.

  4. Within one month of the latest intermediate report, with the root cause, the impact and the fixes. A UK firm may also owe reports on UK timelines for the same incident.

Impact tolerance compared with the recovery time objective A time line starts at the moment of disruption. The impact tolerance is a fixed line further along: the most disruption the service can take before harm becomes intolerable. When recovery is planned well, the system recovery time objective and the service restore both fall well inside the tolerance. When detection is slow and recovery waits on the slowest dependency, the service comes back after the tolerance line, and the tolerance is breached. Impact tolerance disruption IT recovered (RTO) service back Within tolerance, with time to spare finally detected service back Tolerance breached: intolerable harm

Swipe sideways to see the whole diagram.

Within tolerance. The impact tolerance is a business measure, always a length of time. The IT recovery time objective (RTO) sits well inside it, leaving room to detect the problem, decide and restore the full service.

Breached. Detection was slow, and recovery waited on the slowest dependency, such as a restore from backup. The service came back after the tolerance line. An RTO that equals the tolerance leaves no margin at all.

Animation

Impact tolerance is not an RTO

A tolerance is the most disruption a service can take before harm is intolerable to customers or the market. It covers people and process too. I set technical recovery targets well inside it.

Concentration and exit

Too much on one provider, site or technology is a concentration risk, and being unable to leave is an exit risk. DORA and SS2/21 both ask for exit plans. I use open standards at the boundaries so leaving is possible.

A regulated high level design

For a regulated firm, the high level design maps each important business service to its pods, sites and suppliers, states its impact tolerance and recovery time objective, and names the evidence each control will leave.

Hidden concentration

Two suppliers can still share one weak point: the same firmware, the same optics maker, the same building or the same fibre route. I check for these during discovery, not after an outage.

PCI and clocks

Card data scope, and clocks you can trust

Two rules shape the network more than most. PCI DSS draws a boundary around the cardholder data environment (CDE), and everything that can reach it joins the scope, so segmentation decides the cost of compliance. The Markets in Financial Instruments Directive (MiFID II) sets how closely trading clocks must follow Coordinated Universal Time (UTC), which drives time design down to the network card.

How segmentation sets PCI DSS scope Eight systems: a payment application and a card database, a directory, a jump host, logging and backup, office PCs, email and development servers. On a flat network every system can reach the card database, so all of them are in scope. With segmentation, only the card systems are in the cardholder data environment, the directory, jump host and logging are in scope because they connect to it, and the office, email and development are out of scope. When office PCs can reach the shared jump host directly, they are pulled back into scope. FLAT NETWORK: EVERYTHING IN SCOPE CARDHOLDER DATA CONNECTED OUT OF SCOPE NOW IN SCOPE Payment app Card database Directory Jump host Logging and backup Office PCs Email Development Firewalls allow only named flows into the CDE One shared tool pulls the office into scope

Swipe sideways to see the whole diagram.

Flat network. Any system can reach the card database, so every system is in scope for the assessment. That makes every control, scan and review apply to the whole estate.

Segmented. Only the payment systems sit in the CDE. Systems that connect to it or can affect its security, such as the directory, jump hosts, logging and backup, are in scope too. The office, email and development are out of scope. PCI DSS does not demand segmentation, but it is the biggest lever on scope.

Shared tool. Office PCs can reach the jump host that also manages the CDE. That one path pulls the office back into scope. Shared management tooling is the most common way scope leaks, so I give the CDE its own management path.

Animation

From rule to control to evidence

Regulatory requirements mapped to design controls and evidence
RuleDesign controlEvidence I keep
DORA Article 8, PCI DSS 12.5.1Every asset recorded in the configuration management database (CMDB) from the factory, tagged with the services it supports.CMDB reports reconciled with discovery scans.
FCA and PRA impact tolerancesImportant services placed across two sites, with recovery targets inside each tolerance.Scenario test results against each tolerance.
DORA Article 9, PCI DSS 1.3 and 1.4A routing table (VRF) per zone, deny by default, and only named flows allowed.Firewall rule reviews at least every six months (PCI DSS 1.2.7) and flow tests.
PCI DSS 11.4.5 and 11.4.6Segmentation that can be tested automatically.Segmentation tests at least every 12 months and after changes, or every six months for service providers.
DORA Article 10, PCI DSS 10Central logging to the security information and event management system (SIEM), with logs that cannot be altered.Logs kept 12 months, with three months on hand (PCI DSS 10.5.1).
PCI DSS 10.6.1, MiFID II regulatory technical standard (RTS) 25Redundant time sources, with the Precision Time Protocol (PTP) for trading systems.Time offset monitoring and alarms.
DORA Articles 11 and 12Backups isolated physically and logically, and immutable.Scheduled restore tests per service.
PCI DSS 8.4.2Multi factor authentication for all access into the CDE.Access and authentication reports.
PCI DSS 6.3.3Critical security patches applied within one month of release.Patch compliance reports.
DORA Article 28, PRA SS2/21A register of third parties, with exit plans for the material ones.The register, and tested exit plans.
DORA ICT risk standards, Delegated Regulation (EU) 2024/1774A full key lifecycle, and a register of certificates and the devices that hold them.Key and certificate records.
A precision time design for trading systems Satellite time and a terrestrial UTC feed both reach a PTP grandmaster clock. The grandmaster sends timing messages to a boundary clock in the core switch, which passes time on to boundary clocks in two leaf switches. One leaf serves trading servers that timestamp in hardware. The other serves general servers that only need NTP. Trading servers send delay requests back up, so the path delay can be measured. Tags show the MiFID II limits: high frequency trading within 100 microseconds of UTC with 1 microsecond timestamps, and other algorithmic trading within 1 millisecond. GNSSsatellite time Terrestrial UTCfibre feed GrandmasterPTP, IEEE 1588 Boundary clockcore switch Boundary clockleaf switch Leaf switchNTP server Trading servershardware timestamps Other serversNTP, milliseconds High frequency: 100 µs of UTC Timestamps to 1 µs Other algorithmic: 1 ms delay request

Swipe sideways to see the whole diagram.

Animation

Trading time. MiFID II and its clock standard, RTS 25 (Delegated Regulation (EU) 2017/574, kept in UK law), require business clocks traceable to UTC. For high frequency algorithmic trading that means within 100 microseconds, with timestamps to 1 microsecond. Other algorithmic trading gets 1 millisecond.

The Precision Time Protocol (PTP, IEEE 1588) is the usual way to get there reliably. Every switch on the path must take part as a boundary or transparent clock, and the paths must be symmetric, or the delay maths is wrong. Satellite signals can be jammed or spoofed, so I add a terrestrial source and clocks that hold time on their own. General servers only need NTP.

Testing

Proving recovery one rung at a time

A resilience design is only a claim until it is tested. I build a ladder of tests, from pulling one cable in the factory to an attack simulated by a specialist team. Every test produces evidence: the plan, the expected result, what really happened, the issues and the fixes. The evidence pack for each pod is described on my design authority page.

The resilience test ladder Five rungs from bottom to top: component failover in the factory, a full cold start of a pod, disaster recovery for each service, scenario tests against impact tolerances, and threat led penetration testing such as CBEST. A marker climbs one rung per step, and a panel shows what each test proves and the evidence it leaves. Component failover Pod cold start Disaster recovery Scenario tests Threat led testing Rung 1 · in the factory Pull a power feed, a link, a switch, a disk. Proves: every redundant part takes over. Evidence: factory acceptance report. Before the kit ever reaches the data hall. Rung 2 · a full cold start Power the whole pod off, then on again. Proves: the start order works, with no loops. Evidence: a timed log of each stage. Repeated in production on a schedule. Rung 3 · each service Fail a service over to the second site, and back. Proves: the RTO and RPO are really met. Evidence: timings and data checks. Run by the people who would do it for real. Rung 4 · against impact tolerances Severe but plausible: a cyber attack, a site loss, a key supplier failing, people unavailable. Proves: the service stays within tolerance. Evidence: the scenario, timeline and lessons. Rung 5 · threat led testing Specialists act like a real attacker, on live systems. DORA: at least every three years where required. UK: CBEST, or STAR-FS for other firms. Systems must be safe to test and log every step.

Swipe sideways to see the whole diagram.

Step 1
  1. In the factory, before anything ships, I pull power feeds, links, switches and disks, and check that every redundant part takes over as designed.

  2. The whole pod is powered off and on again, and each stage is timed. This is the only test that finds circular dependencies, so I repeat it in production on a schedule.

  3. Each service is failed over to its second site and back, by the people who would do it for real, to prove the recovery time objective (RTO) and recovery point objective (RPO).

  4. Severe but plausible scenarios, such as a cyber attack, the loss of a site or a key supplier failing, are tested against each impact tolerance, including the people and processes, not only the technology.

  5. Threat led penetration testing (TLPT) uses intelligence about real attackers. DORA requires it at least every three years for firms in scope, and the UK's versions are CBEST and STAR-FS (simulated targeted attack and response for financial services). It runs on live systems, so they must be safe to test and log every step.

Risk and debt

Risks scored against appetite, and debt with an owner

I keep an architecture risk register alongside every design: end of life kit, single points of failure, capacity ceilings, security exposure, supplier concentration and regulatory deadlines. Each risk is scored for likelihood and impact, compared with the organisation's risk appetite, then treated or knowingly accepted by the right person.

A risk on a likelihood and impact grid A five by five grid scores likelihood from left to right and impact from bottom to top. Risk R1, end of life core switches, scores likelihood 4 and impact 5, which is 20. Cells above the appetite of 9 are marked as needing treatment. A funded refresh moves R1 to likelihood 2 and impact 4, a score of 8. A second risk, R2, one circuit at a small site, scores 6 and is accepted within appetite by its owner, with a review date. 12345 54321 Likelihood Impact Above appetite of 9 R1 R1 R2 Risk register R1 · End of life core switchesLikelihood 4 × impact 5 = 20No security fixes after end of supportOwner: head of infrastructure Appetite for critical services: 9R1 scores 20, so it must be treatedOptions: refresh, extend support,or isolate the old kit Action: refresh funded and plannedMeanwhile: extended supportand tighter management accessNew score: 2 × 4 = 8, within appetite R2 · One circuit at a small siteLikelihood 3 × impact 2 = 64G backup only, within appetiteAccepted by the owner, review in 12 months

Swipe sideways to see the whole diagram.

Assess. End of life switches get no more security fixes once support ends, and they carry the core. Likelihood 4 times impact 5 gives 20 on a five by five scale. End of support is the textbook risk you can see coming years ahead.

Compare with appetite. The organisation decides how much risk it will carry. Here nothing above 9 is acceptable on critical services, so R1 must be treated.

Treat. A refresh is funded and planned, and meanwhile extended support and tighter management access reduce the exposure. The risk falls to 8, within appetite, with an owner and a date.

Accept. Not every risk is worth fixing. One circuit at a small site with 4G backup scores 6. The owner accepts it in writing, with a review date, so the decision is visible rather than forgotten.

Animation

A technical debt register

Technical debt is any shortcut or ageing part that will cost more later. The goal is not zero debt. It is debt that is known, justified, owned and on a path to closing. These rows are illustrative.

Example technical debt register
ItemWhy it existsRisk if leftFix and costOwner and review
Core switches past end of saleRefresh deferred last year to fund a migration.No fixes after end of support, spares harder to find.Refresh in two waves, budgeted next year.Head of infrastructure, quarterly.
Firewall rules with no ownerRules added during incidents and never removed.Wider access than needed, failed audit.Rule review and clean up, about ten days' effort.Security lead, every six months.
Manual site buildsNo templates when the estate was small.Drift between sites, slower fault finding.Templates and a source of truth, one quarter.Network lead, monthly.
Time exception on a legacy systemVendor does not support NTP authentication.Spoofed time could corrupt logs.Isolate it, then replace at contract end.Service owner, at contract end.
Unit cost

What one unit of capacity really costs

A unit cost is the full yearly cost of a platform divided by the units it can sell at its target utilisation: a standard virtual machine (VM), a terabyte, a graphics processing unit (GPU) hour. I divide by what can be sold, not by what is installed, and I state what is included. After a merger, I build one unit cost per platform across both estates, so duplicate platforms show up as idle, expensive units. Try the model below. The figures are indicative, not a quote.

A unit cost model for a VM pod or a GPU cluster The model shows the yearly cost of a platform split into its parts as a stacked bar, and the cost per unit. With the starting values, a pod of 64 hosts sold as standard virtual machines costs about 2.6 million pounds a year, about 967 pounds per virtual machine a year. Licences are the largest part, at about 47 percent, followed by hardware at about 30 percent. Switching to the GPU cluster shows the cost per GPU hour instead. Per standard VM, per year £967 about £81 a month Total a year £2.60M 2,688 units sold at 75% Hardware £768k · 30% Licences £1.23M · 47% Support £150k · 6% Power £162k · 6% Space £90k · 3% People £200k · 8% Balanced: CPU and memory run out together at 4:1

Swipe sideways to see the whole diagram.

VM pod

64
CPU ratio
75%
£300
5 yrs

Assumptions: 64 cores and 1 TB of memory per host, and a standard VM of 4 virtual central processing units (CPUs) and 16 GB. Two hosts in every cluster of 16 are held in reserve. Each host costs £60k with its network share and draws about 1 kW. A rack holds 12 hosts and costs £15k a year. Licences are priced per core per year. Power is £0.20 a kWh with a power usage effectiveness (PUE) of 1.4, and the operations team share is a fixed £200k. Indicative only.

Stranded capacity: one resource runs out first Four bars show how much of a pod's processor, memory, power and rack space is in use. When balanced, all four are near 70 percent. When memory runs out, the processors still have spare capacity that cannot be sold, which is stranded. In a dense GPU hall, power runs out first, and rack space is stranded. CPUMemoryPowerRack space Balanced: all sell together Memory full: the rest is stranded Power full: rack space stranded

Swipe sideways to see the whole diagram.

Balanced. Processor, memory, power and space are used at about the same rate, so the pod fills evenly and every pound spent can be sold.

Memory runs out. The hosts have processor cores to spare, but no memory, so no more virtual machines fit. The spare cores are stranded: paid for but unusable. Raising the CPU ratio from 4:1 to 6:1 in the model above shows the same effect.

Power runs out. In a dense GPU hall the power budget is used up long before the floor is full. Rack space is stranded by design, which is why GPU capacity is often costed per kilowatt as well as per GPU hour.

Animation
TCO

Total cost of ownership, including what gets missed

Total cost of ownership (TCO) is build plus run plus lifecycle plus exit, usually over five years. The purchase price is rarely the biggest part. Licences, people, power and the cost of leaving often are, and they are the lines most often missed.

Building up the five year cost of a pod A stacked bar builds up the five year cost of a virtualisation pod, one layer per step. Hardware, including network, optics and a share of cabling, is about 28 percent. Software licences are about 34 percent. Support is about 7 percent. Facility costs for space, power and cooling are about 12 percent. People and tooling are about 12 percent. Migration in, exit and secure disposal are about 7 percent. About two thirds of the total is running cost. The shares are illustrative. Hardware, network, optics, cabling share · 28% Software licences · 34% Support contracts · 7% Space, power and cooling · 12% People and tooling · 12% Migration in, exit and disposal · 7% Optics are often missed People are often missed So is the cost of leaving About two thirds is running cost

Swipe sideways to see the whole diagram.

Step 1
  1. Servers, switches and storage, plus optics and a share of the cabling. Optics are easy to leave out, and at 400G they are a real cost.

  2. For a virtualisation pod, software licences are often the biggest line, especially where they are charged per processor core.

  3. Vendor support and maintenance contracts, which grow once kit passes its standard support period.

  4. Space, power and cooling. Power is the IT load multiplied by the power usage effectiveness (PUE): at a PUE of 1.4, each kilowatt of IT needs another 0.4 kW for cooling and losses.

  5. The engineers who run it, and the monitoring and automation tools they need. This is the line most business cases forget.

  6. Moving workloads in, running old and new side by side, then leaving one day: data return, exit help and certified destruction of drives. About two thirds of the total is running cost, not purchase price.

Capital or operating cost

Capital spend buys kit and depreciates it, which is cheapest over its life at high use. Operating spend covers subscriptions, support, power and people, and scales faster. Finance decides the treatment, and some as a service deals count as leases.

Pay as you use

Consumption models such as HPE GreenLake, Dell APEX and Pure Evergreen//One place spare capacity on site and bill what is used above a commitment. I buy for the steady base and consume for uncertain growth. In a bank, such a deal is also a third party arrangement to register.

Showback, then chargeback

Showback tells each team what it consumes without billing it. Chargeback bills the cost centre. Showback alone usually removes idle and oversized machines, so I start there, with accurate metering and clear ownership in the CMDB.

Capacity

When to order the next pod

New capacity takes months to arrive: ordering, delivery, factory build, burn in, installation and acceptance. So I order when free capacity falls to the demand expected during that whole lead time, plus a buffer for failover headroom and forecast error. Move the sliders to see the trigger and the order date.

A capacity burn down chart with an order trigger Free capacity falls week by week as demand grows. A dashed line marks the order trigger, the free capacity equal to demand during the lead and build time plus a buffer. With 60 units a week, 12 weeks of lead time, 8 weeks of build and a 400 unit buffer, the trigger is 1,600 units. Starting with 3,000 free units, the order goes in at week 23 and the new pod arrives at week 43, just as free capacity reaches the buffer. 01020304050 01,0002,0003,0004,000 Weeks trigger 1,600 buffer 400 order, week 23 arrives, week 43

Swipe sideways to see the whole diagram.

Animation
60
12 wks
8 wks
400
Order trigger1,600 free units
Order inweek 23
New pod arrivesweek 43, with 400 units still free

The pod starts with 3,000 free units and a new pod adds 2,688. Trigger = demand a week × (lead time + build time) + buffer. Indicative only.

Separate triggers for long lead parts

GPUs and high speed optics can take far longer than servers. I give them their own, earlier trigger, so one late part does not hold up a whole pod.

Track per pod type and site

A trigger for the whole estate hides a site that is about to run out. I track each pod type in each site against its own forecast.

A buffer for the unexpected

For sudden demand, I keep a buffer pod or a standing order that is approved in advance, so a spike does not wait for a full procurement cycle.

Business case

Options a finance team can decide on

My input to a business case is a short set of options, each with its architecture, cost to build and run, resilience, risk and lifespan, and always the cost of doing nothing. I lead with the decision needed, state the weak points first, and show which assumptions move the answer most.

Example option comparison for a network refresh
OptionBuild costRun costResilienceMain riskLifespan
Do nothingNoneRising: extended support, field visitsFalls as kit agesUnfixed security flaws, long outages waiting for sparesEnds with support
Like for like refreshMediumSimilar to todaySame design, newer kitOld design faults carried forwardAbout seven years
Standardise and automateHigherLower: fewer site visits, faster changesBetter: standard patterns, tested failoverChange for the teams, skills to buildAbout seven years, easier to extend

An illustrative comparison. Real options carry costed figures agreed with finance.

Which assumptions move the unit cost most A tornado chart for the VM pod model, starting from 967 pounds per VM a year. Utilisation moves it most: 853 pounds at 85 percent and 1,208 pounds at 60 percent. Licence price plus or minus 20 percent gives 875 to 1,058 pounds. Server life of six or four years gives 919 to 1,038 pounds. Server price plus or minus 20 percent gives 910 to 1,024 pounds. Power price down a quarter or up a half gives 952 to 997 pounds. Sensitivity of £ per VM a year Base £967 Utilisation 85% to 60%Licence ±20%Server life 6 to 4 yearsServer price ±20%Power price −25% to +50% £853£1,208 £875£1,058 £919£1,038 £910£1,024 £952£997
Utilisation moves the answer more than any price. That is why I treat target utilisation as the biggest lever in a cost model, and agree it with finance before anything else.

One page first

The recommendation, three reasons, the options rejected and why, the cost, the risk and the decision needed. Detail sits behind it for those who want it.

Weak points first

I say where the recommended option is weakest before anyone asks. It builds trust, and the decision is made with the full picture.

If I am overruled

I record the risk in the decision record, make sure the owner has accepted it, and then deliver the chosen option properly.

Engagement

How I run a resilience and cost review, from service map to evidence

A resilience or cost review follows the same path as any engagement. I start with the services that must not stop and the people who own them, map what each one really depends on, then design, prove and report against numbers the business agreed.

How an engagement runs, from first conversation to lifecycle Seven stages from left to right: engage (sponsors), requirements (tolerances), discovery (map and cost), design (options), build and test (test it), support (reporting), lifecycle (review). For each stage the panel shows who I work with and what comes out of it. After the lifecycle stage the loop returns to the start. Engagesponsors Requirementstolerances Discoverymap and cost Designoptions Buildtest it Supportreporting Lifecyclereview Step 1 · EngageAgree what must never stopWho I work withWhat comes outBusiness service ownersRisk and complianceFinance and procurementImportant business services listRisk appetite statementScope and decision rightsEngagement plan and RACI Step 2 · RequirementsTurn appetite into measurable targetsWho I work withWhat comes outService ownersOperational riskArchitecture and securityImpact tolerance per serviceAvailability, RTO and RPO targetsRegulatory obligations mappedCost targets per unit Step 3 · DiscoveryMap what each service really depends onWho I work withWhat comes outPlatform and network teamsSuppliers and third partiesFinance and asset ownersDependency map per serviceSingle points of failure listCurrent cost baselineThird party register Step 4 · DesignCosted options, not a single answerWho I work withWhat comes outDesign authorityFinance business partnerRisk ownersTwo or three costed optionsAvailability model per optionUnit cost and TCO modelDecision record Step 5 · Build and testProve recovery before relying on itWho I work withWhat comes outEngineering teamsService managementInternal auditFailover and cold start testsScenario test resultsEvidence pack per serviceRemediation plan Step 6 · SupportMeasure what the business was promisedWho I work withWhat comes outService desk and NOCProblem managerRisk committeeAvailability and SLO reportsShowback or chargeback reportsIncident reports to regulatorsRisk register reviews Step 7 · LifecycleReview every year, and after every changeWho I work withWhat comes outDesign authorityFinance and procurementRisk and complianceAnnual self assessmentCapacity trigger trackingDebt and exception reviewsRefresh and exit plans

Swipe sideways to see the whole diagram.

Step 1
  1. I start with the business, not the kit. Which services would cause real harm if they stopped, who owns each one, and how much risk is the organisation willing to carry? I agree who decides what in a RACI (responsible, accountable, consulted, informed).

  2. Each service gets numbers: how long it may be down, how much data it may lose, the availability it must reach and the cost per unit it should hit. Regulatory obligations, such as DORA or PCI DSS, are mapped to the services they touch.

  3. I map every service down to people, process, technology, facilities and suppliers, then look for single points of failure and shared services nobody listed. With finance I build a cost baseline from invoices, depreciation and staff time.

  4. I present two or three options, each with its availability, recovery time, cost and risk, including the cost of doing nothing. The business chooses with the price visible, and the decision goes into an architecture decision record.

  5. Recovery is proven, not assumed. I test failover, a full cold start and severe but plausible scenarios against each impact tolerance. Results, gaps and fixes go into an evidence pack an auditor can follow.

  6. Once live, I report what was promised: availability and recovery against target, cost per unit, and risks against appetite. Major incidents follow a timed reporting path so regulator deadlines are met even under pressure.

  7. Targets, risks and costs drift as the business changes. I review them on a fixed cycle and after any big change, track capacity against the order trigger, and keep refresh and exit plans current.

Functional requirements

What it must do.

  • Identify each important business service and the systems, people, suppliers and sites it depends on.
  • Recover each service within its impact tolerance in a severe but plausible scenario.
  • Report availability, recovery and cost per service in a form the business can read.
  • Keep a register of third parties, with exit plans for the material ones.
  • Give a unit cost per service unit, such as a VM, a terabyte or a GPU hour, for showback or chargeback.
  • Raise an alert when free capacity falls below the order trigger.

Non functional requirements

How well it must do it, with a number wherever one can be agreed.

Availability
A target per service tier, for example 99.95% for tier 1 and 99.9% for tier 2.
Recovery
Recovery time objective (RTO) and recovery point objective (RPO) per service, set well inside the impact tolerance.
Evidence
Every control has an owner and dated evidence an auditor can follow.
Reporting
Major incidents classified and reported within each regulator's deadlines.
Accuracy
Unit cost within an agreed margin of finance's actual figures.
Time
Business clocks traceable to UTC, within the accuracy each rule sets.
Cost
Cost per unit and total cost of ownership reviewed every quarter.

These are typical starting points. Each organisation sets its own targets and tolerances, and each one is traced to a test.

Projects

Where I have kept services up and costs down

Availability targets, regulated estates and cost savings run through my career, from banks to manufacturers.

AVEVA · 2020 to 2021

99.99% through a merger

Safeguarded over £200M of transactional services through data centre transitions during AVEVA's reverse merger, holding 99.99% uptime throughout.

BNY Mellon · 2018 to 2019

Regulated refresh, no outages

Delivered the network refresh for Europe, the Middle East and Africa (EMEA), replacing end of life equipment with minimal impact on global operations, keeping the estate compliant with MiFID II throughout with no service outages.

Penguin Random House · 2013 to 2015

£700k a month saved

Post merger infrastructure integration across a multi site estate, rationalising infrastructure, support and technology overheads to save £700k a month.

JJ Food Wholesale · 2007 to 2011

Payback in the first year

Local and wide area networks, voice, virtualisation and security across the group, saving over £250k a year with first year payback.

XIDA · 2025 to now

Capacity for dense compute

Designed AI ready data centre infrastructure for high density compute clusters, covering network, power, cooling and structured cabling, with the rack layouts the build teams worked from.

Governance

How I run it

Technical design authority, high and low level designs and vendor and third party management, in MiFID II and PCI DSS environments, delivered with PRINCE2 and ITIL practice.

Backed by PRINCE2 Practitioner and ITIL. See all credentials