/* _glossary-shared.css */ :root{ --ink:#0B0B0C; --muted:#6B7280; --bg:#FFFFFF; --panel:rgba(11,11,12,.04); --stroke:rgba(11,11,12,.10); --stroke2:rgba(11,11,12,.14); --max:1120px; --r:16px; --r2:24px; } *{box-sizing:border-box;} html,body{margin:0;padding:0;} body{ font-family:Poppins,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif; color:var(--ink); background:var(--bg); } .wrap{max-width:var(--max); margin:0 auto; padding:0 20px;} .ob-page-pad{padding:64px 0;} .ob-nav{ position:sticky; top:0; z-index:20; background:var(--ink); border-bottom:1px solid rgba(255,255,255,.08); } .ob-nav-inner{ max-width:var(--max); margin:0 auto; padding:14px 20px; display:flex; align-items:center; justify-content:space-between; gap:16px; } .ob-logo{display:flex; align-items:center; gap:10px; text-decoration:none; color:#fff;} .ob-logo img{height:22px; width:auto; opacity:.95;} .ob-nav-links{display:flex; align-items:center; gap:18px; flex-wrap:wrap;} .ob-nav-links a{color:rgba(255,255,255,.86); text-decoration:none; font-weight:500; font-size:14px;} .ob-nav-links a:hover{color:#fff;} .ob-nav-cta{ padding:10px 14px; border-radius:999px; background:#fff; color:var(--ink) !important; font-weight:700; } .ob-breadcrumb{ background:rgba(11,11,12,.03); border-bottom:1px solid rgba(11,11,12,.06); } .ob-breadcrumb .wrap{padding:12px 20px;} .ob-breadcrumb a{color:rgba(11,11,12,.75); text-decoration:none; font-weight:600; font-size:13px;} .ob-breadcrumb .sep{color:rgba(11,11,12,.35); padding:0 6px;} .ob-breadcrumb .current{color:rgba(11,11,12,.78); font-weight:700; font-size:13px;} .ob-hero-tag{ display:inline-flex; align-items:center; gap:8px; padding:8px 12px; border-radius:999px; background:rgba(11,11,12,.06); border:1px solid rgba(11,11,12,.10); color:rgba(11,11,12,.75); font-weight:700; font-size:12px; letter-spacing:.02em; } h1{font-size:52px; line-height:1.06; letter-spacing:-.03em; margin:14px 0 12px;} .ob-sub{font-size:18px; line-height:1.7; color:var(--muted); max-width:78ch; margin:0;} .ob-btn-row{display:flex; gap:12px; flex-wrap:wrap; margin-top:18px;} .ob-btn{ display:inline-flex; align-items:center; justify-content:center; padding:12px 18px; border-radius:999px; text-decoration:none; font-weight:700; border:1px solid transparent; transition:transform .06s ease, background .12s ease, border-color .12s ease; } .ob-btn:active{transform:translateY(1px);} .ob-btn-primary{background:var(--ink); color:#fff;} .ob-btn-primary:hover{background:rgba(11,11,12,.92);} .ob-btn-secondary{background:transparent; color:var(--ink); border-color:var(--stroke2);} .ob-btn-secondary:hover{background:rgba(11,11,12,.03);} .ob-section{padding:44px 0;} .ob-section-tint{ background:linear-gradient(180deg, rgba(11,11,12,.03), rgba(11,11,12,0)); border-top:1px solid rgba(11,11,12,.06); border-bottom:1px solid rgba(11,11,12,.06); } .ob-eyebrow{ font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); font-weight:800; margin:0 0 10px; } .ob-title{font-size:32px; line-height:1.15; letter-spacing:-.02em; margin:0 0 12px;} .ob-body{font-size:16px; line-height:1.7; color:var(--muted); margin:0;} .ob-body p{margin:0 0 12px;} .ob-body p:last-child{margin-bottom:0;} .ob-grid{display:grid; gap:18px;} .ob-grid-3{grid-template-columns:repeat(3,1fr);} .ob-grid-2{grid-template-columns:repeat(2,1fr);} .ob-card{ border:1px solid var(--stroke); border-radius:var(--r); background:#fff; padding:18px; } a.ob-card{display:block; text-decoration:none; color:inherit;} a.ob-card:hover{border-color:rgba(11,11,12,.16); box-shadow:0 10px 30px rgba(11,11,12,.06); transform:translateY(-2px);} .ob-card h3{font-size:18px; margin:0 0 8px; line-height:1.35;} .ob-card .ob-card-sub{color:var(--muted); font-size:14px; line-height:1.6; margin:0 0 10px;} .ob-card .ob-card-link{font-weight:800; color:rgba(11,11,12,.82); font-size:14px;} .ob-definition{ border:1px solid rgba(11,11,12,.10); background:var(--panel); border-radius:var(--r2); padding:18px; } .ob-definition p{margin:0; color:rgba(11,11,12,.78); font-size:16px; line-height:1.75;} .ob-bullets{margin:10px 0 0; padding-left:18px; color:var(--muted); line-height:1.7;} .ob-bullets li{margin:6px 0;} .ob-callout{ border:1px solid rgba(11,11,12,.10); background:linear-gradient(180deg, rgba(11,11,12,.05), rgba(11,11,12,.02)); border-radius:var(--r2); padding:18px; } .ob-callout strong{color:var(--ink);} .ob-callout p{margin:0; color:rgba(11,11,12,.78); line-height:1.7;} .ob-faqs{display:grid; gap:10px; margin-top:12px;} details.ob-faq{ border:1px solid rgba(11,11,12,.10); border-radius:14px; padding:12px 14px; background:#fff; } details.ob-faq summary{ cursor:pointer; font-weight:800; color:rgba(11,11,12,.86); } details.ob-faq p{margin:10px 0 0; color:var(--muted); line-height:1.7;} .ob-related{display:flex; flex-wrap:wrap; gap:10px; margin-top:10px;} .ob-chip{ display:inline-flex; align-items:center; padding:9px 12px; border-radius:999px; border:1px solid rgba(11,11,12,.10); background:rgba(255,255,255,.92); font-weight:700; font-size:13px; color:rgba(11,11,12,.78); text-decoration:none; } .ob-chip:hover{background:rgba(11,11,12,.03);} .ob-cta{ margin-top:18px; border-radius:var(--r2); border:1px solid rgba(11,11,12,.10); background:linear-gradient(180deg, rgba(11,11,12,.06), rgba(11,11,12,.02)); padding:22px; } .ob-cta h2{margin:0 0 8px; font-size:26px; letter-spacing:-.02em;} .ob-cta p{margin:0; color:var(--muted); line-height:1.7;} .ob-cta .ob-btn-row{margin-top:14px;} .ob-footer{ margin-top:60px; background:var(--ink); color:rgba(255,255,255,.72); } .ob-footer-inner{ max-width:var(--max); margin:0 auto; padding:26px 20px; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:14px; } .ob-footer a{color:rgba(255,255,255,.78); text-decoration:none; font-weight:600; font-size:14px;} .ob-footer a:hover{color:#fff;} .ob-footer small{opacity:.7;} .ob-divider{height:1px; background:rgba(11,11,12,.08); border:0; margin:0;} /* Scroll reveal */ .ob-reveal{opacity:0; transform:translateY(14px); transition:opacity 650ms cubic-bezier(.2,.8,.2,1), transform 650ms cubic-bezier(.2,.8,.2,1);} .ob-reveal.is-visible{opacity:1; transform:none;} .ob-stagger > *{opacity:0; transform:translateY(14px); transition:opacity 650ms cubic-bezier(.2,.8,.2,1), transform 650ms cubic-bezier(.2,.8,.2,1);} .ob-stagger.is-visible > *{opacity:1; transform:none;} .ob-stagger.is-visible > *:nth-child(1){transition-delay:0ms;} .ob-stagger.is-visible > *:nth-child(2){transition-delay:80ms;} .ob-stagger.is-visible > *:nth-child(3){transition-delay:160ms;} .ob-stagger.is-visible > *:nth-child(4){transition-delay:240ms;} .ob-stagger.is-visible > *:nth-child(5){transition-delay:320ms;} .ob-stagger.is-visible > *:nth-child(6){transition-delay:400ms;} @media (prefers-reduced-motion: reduce){ .ob-reveal,.ob-stagger > *{opacity:1 !important; transform:none !important; transition:none !important;} } @media (max-width:980px){ h1{font-size:40px;} .ob-grid-3,.ob-grid-2{grid-template-columns:1fr;} .ob-page-pad{padding:52px 0;} }
What Is a Disaster Recovery Plan (DRP)? Definition & Guide | Opsbook
Home/ Glossary/ Disaster Recovery Plan
Glossary

What Is a Disaster Recovery Plan (DRP)?

A disaster recovery plan (DRP) is the technical playbook for restoring systems, applications, and data after disruption. It defines restoration priorities, dependencies, runbooks, and recovery targets like RTO and RPO so recovery can happen in a structured, repeatable, and testable way.


Key Elements of a Disaster Recovery Plan

  • System inventory and dependency mapping for what must be restored first
  • Defined recovery targets such as RTO and RPO for each service tier
  • Backup, restore, failover, and validation runbooks
  • Decision authority for declaring disaster conditions and initiating recovery actions
  • A repeatable testing cadence with documented results and remediation

Why Disaster Recovery Planning Matters for IT and Risk Leaders

When a critical system fails, leadership wants one answer: how long until we are back? The DRP is what turns that answer from guesswork into a disciplined process.

For resilience leaders, DR planning also provides measurable evidence of preparedness. If recovery steps are not tested, restoration targets are just assumptions.

Disaster Recovery Plans and Regulatory Requirements

Across many frameworks, organizations are expected not only to define technical recovery plans, but also to show those plans are tested and improved over time.

That usually means a combination of tabletop validation, technical recovery drills, and documentation showing what was learned and what changed afterward.

See how DR applies in practice: Financial Services · Manufacturing

How Opsbook Helps with Disaster Recovery Planning

Opsbook helps teams validate DR assumptions through structured scenarios that test recovery sequencing, escalation, and cross-functional coordination under realistic conditions.

Each cycle produces after-action reporting and tracked remediation so DR programs improve over time instead of relying on one annual test.

Frequently Asked Questions

What is the difference between a DRP and a BCP?

A DRP focuses on technical restoration. A BCP focuses on continuity of services across the wider business while recovery is underway.

How do RTO and RPO relate to disaster recovery?

They define what successful recovery looks like: how fast restoration must occur and how much data loss is acceptable.

How should organizations test a DRP?

Start with tabletop validation and then move into controlled recovery tests, backup validation, and failover exercises where appropriate.

Related Terms

Ready to put disaster recovery into practice?

Validate recovery assumptions and track the fixes that reduce downtime.