Operations model & SOP
The architecture blueprint describes what to build. This is how it actually gets run once it's live — day to day, on-call, when something breaks, and the review cadence that keeps guardrails from quietly rotting.
What this is: a "day two" operating model — roles, on-call, incident response, change/maintenance windows, and a periodic review cadence — written for whoever is accountable for this architecture once it's live in a real environment. What this isn't: a substitute for the risk-tier matrix, guardrails, or approval mechanism defined on the architecture page; this document assumes that design and describes the human process wrapped around it, not a different set of rules.
Purpose & how to use this document
A risk-tiering model and an approval gate only survive contact with a real environment if someone actually staffs the gate, someone owns each domain agent's playbooks, and someone periodically checks that the guardrails still mean what they said on day one. This document is that missing layer: it assumes the architecture and the integration guide are already built per the phased rollout, and describes the recurring human process around the running system — not a one-time deployment task, but the thing a team does every day, every week, and every quarter for as long as this stays live.
Nothing below changes a tier assignment, adds a new automated capability, or opens a path around the human approval/arbitration gate. It's entirely about who does what, on what schedule, and what "healthy" looks like for a system this document doesn't redesign.
Roles & responsibilities
Six roles, none of them full-time on this alone in most organizations — the architecture is designed so the human load stays bounded even as the number of managed systems grows, because the thing that scales (the approval queue) is a single narrow decision, not one job per system.
| Role | Who | Owns |
|---|---|---|
| Human Operator / Approver | On-shift service-desk staff, rotating | The ServiceNow approval queue — the one mandatory checkpoint every Tier ≥1 action waits on. Approve, reject, or edit; never a rubber stamp. |
| On-call Engineer | Rotating, paged outside business hours | Anything Platform Ops can't resolve itself: a domain agent that fails two auto-restarts, a Tier 3 condition, or an alert that doesn't match a known signature. |
| Domain agent owner | Senior engineer per system class (e.g. network lead owns the Network agent) | That agent's playbooks, canary group definitions, and default-tier mapping. Accountable for its blast radius, not its uptime. |
| Change Advisory reviewer | CAB, or its existing equivalent | Weekly review of the week's Tier 2/3 changes — a look-back audit of what ran and why, not a second approval gate in front of every action. |
| Security / Vault admin | Security or platform engineering | Credential rotation policy, scoped-lease TTLs, and the quarterly access review (below). |
| Platform Ops (automated) | The tenth agent, see the architecture page | First responder for Tier 0/1 conditions; escalates to the on-call engineer rather than retrying indefinitely — see its self-healing table. |
Daily operations
Shift-start checklist — five minutes, every shift change:
- Grafana health dashboard is green: no agent flatlined, no sustained Tier 0 self-healing loop (a condition that keeps re-triggering is a sign the fix isn't actually fixing it).
- ServiceNow approval queue is empty or every open item is within its SLA (below) — a queue that's quietly grown over a weekend is the most common way this design silently degrades into "nobody's actually approving anything."
- Overnight Tier 0/1 self-healing log reviewed for anything unusual, even though none of it needed a click at the time.
- Platform Ops's own heartbeat is green — the supervisor watching everything else is itself unwatched by nothing; this is the one manual check that stands in for that.
- No domain agent stuck >15 minutes in "awaiting approval" without a corresponding open item in the queue (a symptom of a webhook or notification failure, not an actual empty queue).
Approval SLAs — how fast a pending item needs a human response:
| Tier | Target response | If missed |
|---|---|---|
| Tier 0 | n/a — no approval step by design | n/a |
| Tier 1 | 30 min business hours · 2h off-hours | Pages the on-call engineer, not a second automated retry |
| Tier 2 | 4 business hours | Escalates to the domain agent owner |
| Tier 3 | Next scheduled CAB, or explicit expedited approval | Stays open; Tier 3 is never auto-approved for missing an SLA — see "Change & maintenance," below |
Incident response lifecycle
The architecture page's "Walkthrough: an alert firing, end to end" traces two concrete examples through this loop. The diagram below is the general shape underneath both of them, drawn against this project's actual agents and tools rather than a generic four-box template — the same four phases every mature incident process uses, mapped onto Platform Ops, the orchestrator, the domain agents, and the human gate this design already defines.
At Tier 0 the gate box doesn't apply at all — detect, act, verify, log, close, unattended, exactly as the "disk fills up" example on the architecture page walks through. Everything above Tier 0 waits at the gate between phase 2 and phase 3 before a domain agent is allowed to act.
Change & maintenance management
Every Tier 2/3 action already walks through ServiceNow's normal Change process by design — this section is about when that's allowed to happen, not whether it needs approval. A maintenance window is what makes the difference between "approved" and "approved and executed at 2pm on a Tuesday nobody warned about."
| Domain / system | Standard window | Notes |
|---|---|---|
| Windows Server | Patch Tuesday + 3 days, 20:00–24:00 local | Canary host group first, batch verification between waves |
| Linux Server (Satellite) | Staggered by host group, 02:00–04:00 | Content-view promotion, Library never targeted directly |
| Network (Catalyst Center / Nexus Dashboard) | Change freeze during business hours | Batfish dry-run mandatory regardless of window |
| Desktop (Intune / MECM / Jamf) | Rolling ring deployment, no fixed window | Ring 0 (pilot) burn-in before wider rollout |
| Firewall (FMC) | Emergency-only outside CAB | Temporary rules carry a hard expiry; Platform Ops flags any that outlive it |
| VMware (Aria) | Monthly maintenance window | Capacity-driven, scheduled off Aria's own trend data |
| Database | Backup-verified before any Tier 2 action | Read-replica first for anything diagnostic |
| Voice / CUCM | After-hours only | Business-critical; no daytime reprovisioning at scale |
| Identity & AD | Any time for Tier 1 (reset/unlock) | Tier 2+ (bulk group changes) scheduled like any other Change |
| APC power (UPS/PDU) | Quarterly UPS self-test, scheduled outside business hours | Annual battery-replacement check; a real on-battery event is never "scheduled" — see the self-healing table |
| Storage (NetApp / Dell) | Firmware/ONTAP upgrades in a monthly window, 02:00–05:00 | Takeover/giveback tested per node; provisioning is Tier 3 but not window-bound. Volume/snapshot deletion is deny-list |
| Network ToR (Dell PowerSwitch) | Same freeze as the Cisco fabric | OS10 changes get the same Batfish dry-run; fabric-mode changes target the SmartFabric endpoint, not switch-by-switch |
| Backup & recovery | Console/agent upgrades in a monthly window; job schedule changes via Change | Restores are Tier 2, any time during an incident; retention/repository changes are deny-list |
| Security tooling (CyberArk / CrowdStrike / Splunk) | CPM/sensor/forwarder upgrades in a monthly window, ring-deployed | Vault changes rehearsed in a non-prod instance first; a Falcon sensor policy change is a Change, host containment is Tier 3 |
Emergency change: an active outage doesn't wait for the next CAB. The human gate can approve a Tier 3 action directly, with the domain agent owner notified and a post-hoc CAB review recorded within 24 hours. That review is a requirement, not a formality — it's the mechanism that catches an emergency exception being used as a routine shortcut.
Monitoring & alerting reference
Each supporting system from the architecture page's table feeds Platform Ops or opens a ServiceNow Incident directly; this is the operational cheat sheet for what to actually watch and who it wakes up.
| Source | Watch for | Escalates to |
|---|---|---|
| Zabbix | Threshold breach on network/server/hypervisor metrics | Auto-tiered by the orchestrator; Tier 0 self-heals, Tier ≥1 pages per the SLA table above |
| SCOM / Azure Monitor | Management-pack alerts (on-prem), resource metric alerts (cloud/Arc) | Same path as Zabbix — one alert pipeline, not two parallel ones |
| APC power management | On-battery, low runtime, overload on any UPS/PDU | Platform Ops triggers the graceful shutdown sequence at Tier 1; a PDU outlet fault pages the on-call engineer directly |
| Batfish | A proposed network change that fails pre-change verification | Blocks the change from reaching the approval gate at all — returned to the domain agent to replan |
| Grafana | Trend lines a threshold alert wouldn't catch (slow capacity creep) | Weekly ops review, not a page — see "Periodic review," below |
| Audit log | A write action with no matching approval record | Immediate page to the Security/Vault admin — this should be structurally impossible, so it firing at all is itself the incident |
| Splunk | Correlation-search hits: out-of-window changes, Tier 3 actions without a paired approval, credential-retrieval spikes | Opens a ServiceNow Incident; feeds the monthly Tier 3 approval audit — see "Periodic review," below |
| CrowdStrike Falcon | Detections on managed hosts; a sensor that has stopped reporting (coverage gap) | Detection opens an Incident on the standard path; host isolation is Tier 3 and needs an approval record. Coverage gap re-deploys via the host's domain agent |
| CyberArk | Vault unreachable (agents must fail closed); a credential lease that outlived its task | Vault-down pages the on-call engineer immediately; an un-revoked lease is force-revoked and handled as a security event, not routine cleanup |
| NetApp / Dell storage | Volume/aggregate crossing its capacity threshold; a failed or lagging replication (SnapMirror / Dell) session | Capacity opens a Tier 2 Change through the owning agent (never an auto-grow); replication lag pages per the SLA table |
| Dell PowerSwitch (ToR) | Same signals as the Cisco fabric — port/optic faults, config drift; a proposed change failing Batfish | Same path as any Network-agent alert; Batfish failures block the change before the gate |
| Backup & recovery | A failed or missed backup job; a restore-test verification that did not pass | Failed job opens an Incident automatically; Platform Ops re-queues once, then pages. Deleting/shortening retention is deny-list — never an option |
Backup, audit log retention & disaster recovery
- Audit log: append-only by design; retained a minimum of one year (or whatever the organization's own compliance window requires, if longer), backed up nightly off the primary ServiceNow instance — the log is the architecture's entire evidentiary basis, so its own backup gets treated like a production database, not an afterthought.
- CMDB / NetBox: nightly backup; Platform Ops's drift detection is only as trustworthy as the source of truth it's diffing against.
- Vault (CyberArk): sealed-key / Master-key backup per the vendor's standard procedure, with a documented recovery runbook that doesn't depend on any one person being reachable. Safe contents replicate per CyberArk's own DR component; agents fail closed while it's unavailable rather than using a fallback credential.
- Backup & recovery platform: the backup catalog/config itself is backed up nightly; repository immutability / air-gap is enforced at the storage layer so retention can't be shortened even by a compromised console. A scheduled restore-test (isolated network, checksum, tear down) runs at least monthly — an untested backup is not a backup.
- Storage arrays (NetApp / Dell): array config backed up on change; SnapMirror / Dell replication to a second site for anything hosting Tier 1 workloads, with replication lag alarmed against its RPO.
- DR testing: quarterly tabletop walkthrough of "the orchestrator or the approval gate is unreachable" — the framework's own version of the question every DR plan has to answer. Annual full failover test of the orchestrator and approval-gate path specifically, since everything downstream of the gate is only as available as the gate itself.
| Component | RPO | RTO |
|---|---|---|
| Audit log | ≤ 24h (nightly backup) | ≤ 4h to restore read access |
| ServiceNow (orchestration/approval) | Per existing ServiceNow HA/DR posture | Per existing ServiceNow HA/DR posture — this design adds no new requirement here |
| Vault (CyberArk) | 0 — recovery keys don't "lose data" between backups | ≤ 1h to recover via documented runbook |
| CMDB / NetBox | ≤ 24h | ≤ 8h; drift detection degrades to read-only-unverified until restored |
| Backup catalog / config | ≤ 24h | ≤ 4h; protected data itself stays on immutable repositories throughout |
| Storage array (NetApp / Dell) | Per replication schedule for Tier 1 workloads (typically ≤ 15 min) | Per array failover runbook |
Security operations
- Credential rotation: every domain agent's vault role uses short-lived, scoped leases checked out just-in-time — the standing secret that needs rotating is the vault role's own signing key, rotated quarterly.
- Quarterly access review: the Security/Vault admin audits every standing (non-leased) credential and every human account with approval-gate access, and removes anything that's outlived its reason for existing.
- Tier 3 approval audit: monthly, the Change Advisory reviewer samples a portion of the month's Tier 3 approvals and checks the plan the human approved actually matches what the audit log shows executed — the control that catches an approval becoming a rubber stamp before it becomes a habit.
- Deny-list review: quarterly check that the deny-list from the architecture page's guardrails still reflects anything the organization has learned should never run unattended, including anything a post-mortem (below) surfaced since the last review.
- Privileged-session review (CyberArk): monthly review of every PSM-recorded human break-glass session — each one is an exception to the "agents act, humans approve" norm and should be rare enough to read every entry.
- Security signal pipeline: CrowdStrike detections and Splunk correlation searches feed the same ServiceNow intake as everything else; the weekly ops review includes a pass over low-severity detections and near-miss correlation hits that didn't cross an alerting threshold.
Capacity & lifecycle planning
Nothing here is urgent on any given day, which is exactly why it needs a fixed cadence instead of waiting for someone to notice:
- VMware Aria capacity trend review — monthly, ahead of the next maintenance window rather than reactive to a full datastore.
- Database storage headroom review — monthly.
- Storage array (NetApp / Dell) capacity, aggregate headroom, and snapshot-reserve trend — monthly; growth here is a procurement lead-time decision, so noticing it late is expensive.
- Backup window & repository-capacity trend — monthly; a backup job whose runtime is creeping toward its window is a capacity problem before it's a failure.
- APC UPS runtime/load trend review — monthly; a UPS whose runtime has been quietly shrinking for months is a battery-replacement decision, not a Tier 1 shutdown-sequence decision.
- Vault lease volume & agent request-rate trend — quarterly, the framework's own capacity plan for itself.
On-call & escalation matrix
Every row in the table below reduces to one of two lanes: a normal, SLA-timed queue that climbs one step at a time, or a small set of triggers that skip the queue entirely because waiting on it would defeat the point — a live security anomaly or a UPS about to run out of runtime doesn't get a 30-minute SLA.
The left lane is the common case — a page climbs one step at a time, each with a fixed time-to-escalate. The right lane exists because a 30-minute SLA is the wrong answer to "the audit log just proved something executed with no approval record" or "the UPS runtime just crossed critical" — both go straight to a human, no queue in between.
| Trigger | First responder | Escalates to (if unresolved) | Time to escalate |
|---|---|---|---|
| Tier 0 self-healing loop repeating >3× | Platform Ops (auto) | On-call engineer | Immediate — a repeating "fix" isn't one |
| Domain agent unresponsive after 2 restarts | Platform Ops (auto) | On-call engineer | Immediate |
| Tier 1 approval unanswered | On-shift approver | On-call engineer | Per SLA table above (30 min / 2h) |
| Tier 2/3 approval unanswered | On-shift approver | Domain agent owner → CAB | Per SLA table above |
| Audit log write with no approval record | Security/Vault admin | Incident commander (treat as a live security incident) | Immediate |
| APC UPS on-battery, runtime critical | Platform Ops (auto shutdown sequence) | On-call engineer + facilities | Immediate |
Periodic review cadence
The single table this whole document reduces to — if only one part of this SOP survives being read, it should be this one:
| Cadence | Review | Owner |
|---|---|---|
| Daily | Shift-start checklist, approval queue, overnight self-healing log | On-shift approver |
| Weekly | Tier 2/3 change log look-back; Grafana trend scan | Change Advisory reviewer |
| Monthly | Tier 3 approval sample audit; capacity trend reviews (VMware, DB, APC) | Change Advisory reviewer / domain agent owners |
| Quarterly | Access review; deny-list review; DR tabletop; vault lease-volume trend | Security/Vault admin |
| Annual | Full orchestrator/approval-gate failover test; architecture review against the phased-rollout scope | All roles above, jointly |
Take it further
- Download this SOP as a PDF — same content, free, no signup.
- Architecture blueprint — the diagrams, risk tiers, guardrails, and phased rollout this document assumes is already built.
- Integration guide — setup steps, API auth, and a working MCP server for all twenty-two supporting systems and the nine domain-agent target systems.
- Screen-by-screen mockup — what the approval queue this SOP has approvers staffing actually looks like on screen.
- Interactive ticket trace — one ticket stepped through the lifecycle, including the approval a person on this SOP's on-call rota would action at stage 5.
- Agent-to-agent coordination protocol — the wire format under the hood: where this SOP says "the approver reviews the plan and the rollback," the protocol specifies the message that carries them.
- Peer-to-peer & distributed architecture — the federated variant adds one procedure to this SOP: the cross-cell contract review that decides whose gate approves shared work and whose audit log is authoritative when two cells disagree.
- Agent operations playbook — the agent-fleet counterpart to this SOP: the operating loop, a fleet register, five golden signals, the intervention ladder, and game-day drills for the agents themselves.
- SOC & incident-response architecture — the security-side counterpart to the service-desk blueprint: detection triage, enrichment, and reversible containment, with eradication and recovery human-owned.