Smiling woman in data center showcasing technology expertise.

Bursa’da 480 çalışanlı bir otomotiv yan sanayi üreticisi, ana müşterileri (Türk + Avrupa OEM) tedarikçi denetimlerinde “iş sürekliliği planınız var mı, BCDR test ediyor musunuz” sorusuyla karşılaştı. RTO 30dk / RPO 5dk hedefli BCDR programı kurduk. Bu yazı 5 aylık projeden notlar.

BIA: İlk ve En Önemli Adım

Business Impact Analysis ile her sistem için “1 saat kapalı kalsa kaç para kayıp, kaç müşteri etkilenir” analizi.

Sistem Saatlik kayıp (TL) RTO hedef RPO hedef
SAP B1 ERP (üretim, satış, stok) ~~85.000 30 dk 5 dk
Üretim takip (MES) ~~120.000 15 dk 1 dk
EDI gateway (müşteri sipariş) ~~28.000 1 saat 15 dk
Mail (Exchange Online) ~~15.000 4 saat 15 dk
Dosya sunucusu (SharePoint) ~~8.000 4 saat 1 saat
İntranet ~~2.000 24 saat 24 saat
Eski raporlama ~~500 72 saat 24 saat

Üretim takip MES en kritik — durduğunda hat duruyor, ceza maddesi var.

Mimari: Hot / Warm / Cold Standby

Tip RTO RPO Maliyet Kullanım
Hot standby (active-active) 0-5 dk ~~0 2x production MES, ödeme
Warm standby (active-passive) 5-60 dk 1-15 dk ~~30-50% production SAP, EDI
Cold standby (yedekten restore) 4-24 saat 1-24 saat ~~5-15% production İntranet, raporlama

SAP B1: warm standby. Production North Europe, DR West Europe. Always-on availability group ile asenkron replication, 5 dk RPO.

MES: hot standby. İki ayrı bölgede çalışan instance, traffic Front Door ile load balanced. Bir bölge düşse otomatik diğerine yönlenir.

Azure Site Recovery (ASR)

VM-based replication için ASR. On-prem VMware’den Azure’a, Azure region’lar arası replikasyon, fail-over orchestration.

# Replication etkin
az site-recovery vault create -g rg-dr -n vault-dr -l northeurope

# VM replikasyonu
az site-recovery replicated-item enable 
  --vault-name vault-dr 
  --resource-group rg-dr 
  --vm-name sap-prod-vm 
  --target-region westeurope 
  --target-resource-group rg-dr-target

# Failover plan oluştur
az site-recovery recovery-plan create 
  --vault-name vault-dr 
  --name plan-sap-failover 
  --replicated-items '["sap-prod-vm","sap-db-vm","sap-app-vm"]' 
  --groups '[
    {"groupType":"Boot","replicatedItems":["sap-db-vm"]},
    {"groupType":"Boot","replicatedItems":["sap-prod-vm","sap-app-vm"]}
  ]'

Recovery plan boot order tanımlıyor (önce DB sonra app sunucu).

SQL Always On AG

SAP B1 SQL Server için Always On Availability Group, async commit. Production region’da DBs aktif, DR region’da read-only secondary.

CREATE AVAILABILITY GROUP [SAPB1AG]
WITH (AUTOMATED_BACKUP_PREFERENCE = SECONDARY,
      DB_FAILOVER = ON,
      DTC_SUPPORT = NONE)
FOR DATABASE [SAPB1_PROD]
REPLICA ON
  N'SQL-PROD' WITH (ENDPOINT_URL = N'TCP://sql-prod:5022',
                    AVAILABILITY_MODE = SYNCHRONOUS_COMMIT,
                    FAILOVER_MODE = AUTOMATIC),
  N'SQL-DR' WITH (ENDPOINT_URL = N'TCP://sql-dr:5022',
                  AVAILABILITY_MODE = ASYNCHRONOUS_COMMIT,
                  FAILOVER_MODE = MANUAL);

Failover sırasında manuel onay (otomatik failover kritik veride istenmiyor — split-brain riski). Operatör DR runbook’a göre takip ediyor.

Runbook: 16 Sayfalık Adım Adım Yönergeler

Her DR senaryosu için runbook:

  1. Olay tespit kriteri (hangi alarm hangi durum)
  2. Kim haberdar (telefon listesi, çağrı zinciri)
  3. İlk müdahale adımları (5 dk içinde)
  4. Failover kararı kriteri (kim onaylıyor)
  5. Failover komutları (copy-paste hazır)
  6. DNS update (Front Door, Traffic Manager)
  7. Doğrulama (smoke test)
  8. Müşteri/iş tarafı bildirim
  9. Post-mortem template

Runbook OneDrive’da + basılı kopyası IT şefinin masasında + 2 yedek kişide.

Tatbikat: 6 Ayda Bir DR Drill

Test failover (production etkilenmiyor): DR ortamı gerçekten kalkıyor mu, performans yeterli mi.

# ASR test failover
az site-recovery recovery-plan failover 
  --vault-name vault-dr 
  --recovery-plan plan-sap-failover 
  --failover-direction Test 
  --target-network /subscriptions/.../virtualNetworks/vnet-dr-test

Test’te bulunan eksiklikler runbook’a eklenir, bir sonraki tatbikatta valide edilir.

Backup’lar DR’dan Bağımsız

DR (replication) ≠ Backup. Replication’da production’da silinmiş data DR’da da silinir. Backup ayrı disiplin: Veeam + Acronis + Azure Backup üçlü, 30/90/365 gün retention.

Maliyet

Kalem Aylık (USD)
ASR replication (12 VM) ~~$280
DR region storage (replicated) ~~$540
SQL DR replica (Standard_E8s_v5) ~~$920
MES hot standby (2x production) ~~$1.450
Network (cross-region) ~~$320
Toplam ~~$3.510

Karşılığında: bir yıllık potansiyel kayıp (saatlik 85K × ortalama 4 saat × 4 olay = ~~1.4M TL) önlenmiş, müşteri denetim baskısı kalkmış.

Sahada Düşülen Üç Tuzak

  1. BIA yapmadan teknolojiye atlamak: Önce hangi sistem ne kadar kritik bilinmeli, sonra yatırım.
  2. Tatbikat yapmamak: 6 ayda bir test edilmeyen DR çalışmaz. Ihtiyaç anında patlıyor.
  3. Runbook’u eski tutmak: Ortam değişiyor, runbook eskimiş, IP’ler farklı, komutlar yanlış. Quarterly review.

CloudSpark olarak BCDR planlama, BIA workshop, Azure Site Recovery, Always On AG, runbook tasarımı ve DR tatbikat organizasyonu için danışmanlık veriyoruz.

🇹🇷 Türkçe🇬🇧 English🇩🇪 Deutsch🇫🇷 Français🇸🇦 العربية🇷🇺 Русский🇪🇸 Español