🔄 Disaster Recovery a Business Continuity
Terminologie
| Zkratka |
Význam |
Popis |
| RTO |
Recovery Time Objective |
Maximální doba od výpadku do obnovení služby |
| RPO |
Recovery Point Objective |
Maximální přípustná ztráta dat (čas od poslední zálohy) |
| MTD |
Maximum Tolerable Downtime |
Celková doba výpadku, kterou organizace přežije |
| WRT |
Work Recovery Time |
Čas potřebný k plnému obnovení provozu po obnovení IT |
| MTBF |
Mean Time Between Failures |
Střední doba mezi poruchami |
| MTTR |
Mean Time To Repair |
Střední doba opravy |
| SLA |
Service Level Agreement |
Smluvní závazek dostupnosti |
| SLO |
Service Level Objective |
Interní cíl dostupnosti |
| SLI |
Service Level Indicator |
Naměřená hodnota dostupnosti |
Vztah RTO, RPO, MTD, WRT
Výpočet uptimu
Tabulka devítek
| Úroveň |
Uptime |
Downtime / rok |
Downtime / měsíc |
Downtime / týden |
| 90 % (jedna devítka) |
0.9 |
36,5 dne |
72 h |
16,8 h |
| 99 % (dvě devítky) |
0.99 |
3,65 dne |
7,2 h |
1,68 h |
| 99,5 % |
0.995 |
1,83 dne |
3,6 h |
50,4 min |
| 99,9 % (tři devítky) |
0.999 |
8,76 h |
43,2 min |
10,1 min |
| 99,95 % |
0.9995 |
4,38 h |
21,6 min |
5,04 min |
| 99,99 % (čtyři devítky) |
0.9999 |
52,6 min |
4,32 min |
1,01 min |
| 99,995 % |
0.99995 |
26,3 min |
2,16 min |
30,2 s |
| 99,999 % (pět devítek) |
0.99999 |
5,26 min |
25,9 s |
6,05 s |
| 99,9999 % (šest devítek) |
0.999999 |
31,6 s |
2,59 s |
0,605 s |
Výpočet
Kalkulačka
Fallacies výpočtu
- Složená dostupnost není součet — přidání další závislosti vždy snižuje celkovou dostupnost
- Redundance není zadarmo — přidání standby komponenty vyžaduje detekci selhání + failover (MTTR se nezlepší automaticky)
- SLA není garance — poskytovatelé často počítají SLA jako měsíční průměr, ne per-incident
- Měření je klíčové — bez SLI nelze ověřit SLO; "nedoměřená dostupnost neexistuje"
- Plánovaná odstávka — někdy se počítá do uptimu, někdy ne (záleží na definici SLA)
DR scénáře
Klasifikace
| Kategorie |
Scénář |
Typický RTO |
Typické RPO |
Frekvence |
| Site |
Výpadek celého DC / regionu |
hodiny |
minuty |
Nízká |
| Infrastructure |
Selhání HW (storage, switch, server) |
minuty–hodiny |
sekundy |
Střední |
| Software |
Selhání OS, aplikace, DB |
minuty |
vteřiny |
Vysoká |
| Data |
Poškození dat, delete, cryptolocker |
hodiny |
okamžik zálohy |
Nízká–střední |
| Human |
Chybný deployment, config change |
minuty–hodiny |
vteřiny |
Střední |
| Security |
Útok, breach, ransomware |
dny |
před útokem |
Nízká |
| Network |
Výpadek konektivity, DDoS |
minuty–hodiny |
N/A |
Střední |
| Cloud provider |
Regionální výpadek (AWS, Azure, GCP) |
hodiny |
minuty |
Velmi nízká |
Detail scénářů
Site / Region failure
| Aspekt |
Popis |
| Příčina |
Blackout, požár, povodeň, zemětřesení, výpadek cloud providera |
| Prevence |
Multi-AZ architektura, multi-region deployment, active-active |
| Mitigace |
Automatický DNS failover (Route53, Azure Traffic Manager), replica v DR regionu |
| Testování |
Game day: vypnout primární region, ověřit automatický failover |
Data corruption / human error
| Aspekt |
Popis |
| Příčina |
Chybný SQL příkaz (DELETE bez WHERE), omylem smazaný bucket, chybná migrace |
| Prevence |
RBAC, MFA pro destructive operace, change management, peer review SQL |
| Mitigace |
Point-in-time recovery (PITR), transaction log replay, immutable backups |
| Testování |
Obnova zálohy do izolovaného prostředí, ověření integrity dat |
Ransomware / cyber attack
| Aspekt |
Popis |
| Příčina |
Útok na produkční systémy, zašifrování dat, exfiltrace |
| Prevence |
Immutable backups (object lock), air-gapped backups, network segmentation |
| Mitigace |
Obnova z čisté zálohy, re-build infrastructure from IaC |
| Testování |
Pravidelná obnova v izolované síti, ověření že backup není infikován |
Prevence — strategie
Backup strategie
| Aproach |
Popis |
Use case |
| 3-2-1 pravidlo |
3 kopie, 2 různá média, 1 off-site |
Univerzální |
| 3-2-1-0 |
+ 0 chyb po obnově (testování) |
Enterprise, compliance |
| GFS (Grandfather-Father-Son) |
Denní, týdenní, měsíční rotace |
Dlouhodobý archiv |
| Incremental forever |
Plná záloha 1×, pak jen změny |
Velké objemy dat |
| Reverse incremental |
Plná + inkrementální, plná je vždy aktuální |
Rychlá obnova |
Zálohovací metody
| Metoda |
RPO |
RTO |
Úložiště |
Vhodné pro |
| Full backup |
Poslední full |
Doba obnovy full |
Velké |
Malá data, weekly |
| Incremental |
Poslední inkrement |
Full + všechny inkrementy |
Malé |
Velká data, daily |
| Differential |
Poslední diff |
Full + poslední diff |
Střední |
Kompromis |
| Snapshot |
Okamžik snapshotu |
vteřiny |
Copy-on-write |
VM, storage array |
| Continuous (CDC) |
< 1 s |
Sekundy |
Log stream |
DB (binlog, WAL) |
| PITR |
Libovolný bod v čase |
Dle objemu |
Full + WAL |
RDS, PostgreSQL, SQL Server |
Imunabilita backupů
Klíčová ochrana proti ransomwaru:
| Technika |
Popis |
| Object Lock (WORM) |
Backup nelze smazat ani přepsat po defined retention period (S3 Object Lock, Azure Blob Immutable) |
| Air gap |
Backup je fyzicky oddělený od produkční sítě (offline disk, tape, cloud bez VPN) |
| Isolated backup network |
Backup traffic jde přes dedikovanou síť bez přístupu z produkční VLAN |
| Out-of-band access |
Backup management console není dostupná z produkční sítě |
DR architektury
Multi-AZ (Single region)
- RTO: minuty (automatický failover)
- RPO: 0 (sync replication)
- Ochrana: proti selhání AZ, nikoliv regionu
Multi-Region
| Varianta |
RTO |
RPO |
Náklady |
Failover |
| Active-Passive |
minuty–hodiny |
sekundy |
Střední |
Manuální / auto |
| Active-Active |
sekundy |
< 1 s |
Vysoké |
Automatický (DNS) |
| Pilot Light |
desítky minut |
minuty |
Nízké |
Manuální škálování |
| Warm Standby |
minuty |
sekundy |
Vysoké |
Auto (zmenšená kopie) |
| Backup & Restore |
hodiny |
24 h |
Nízké |
Manuální |
On-prem → Cloud DR (Hybrid)
- RTO: desítky minut (závisí na startup VM)
- RPO: minuty–hodiny (závisí na replikačním nástroji)
- Nástroje: Veeam, Zerto, Azure Site Recovery, AWS MGN, Commvault
- Use case: enterprise s on-prem DC, které potřebuje DR bez druhého DC
DR testování
Typy testů
| Typ |
Popis |
Frekvence |
Riziko |
| Tabletop exercise |
Manuální procházení scénáře, žádný dopad na produkci |
Měsíčně |
Žádné |
| Walkthrough |
Verifikace runbooku, kontrola že všichni ví co dělat |
Kvartálně |
Žádné |
| Component test |
Test jedné komponenty (např. obnova jedné DB) |
Měsíčně |
Nízké |
| Integrated test |
Test celého stacku v izolovaném prostředí |
Kvartálně |
Nízké |
| Full failover test |
Produkční failover do DR site |
Ročně |
Vysoké |
| Chaos experiment |
Cílené vnášení poruch do produkce |
Průběžně |
Střední |
Runbook struktura
Každý DR scénář by měl mít runbook:
Best practices
- Testuj obnovu, ne zálohu — backup bez testované obnovy není backup
- Automatizuj DR — Terraform / Ansible pro spin-up DR prostředí, DNS failover
- Dokumentuj runbooky — každý scénář, kontakt, rozhodovací strom
- Počítej se selháním — design for failure, nečekej že všechno poběží
- Nepodceňuj WRT — obnova služby neznamená plný provoz (data warming, cache, connections)
- Slaď RTO/RPO s businessem — technické možnosti musí odpovídat obchodním požadavkům
- Monitoruj SLI — bez dat nelze ověřit SLO
- DR není jen IT — komunikace, PR, právní, regulace
Související
Zdroje
Odkazy, knihy a standardy: sources/infrastructure/sources.md
Poslední revize: 2026-06-11