"Kim Bu Raporu Değiştirdi?" — ALM Eksikliğinin Bedeli

Power BI forumlarında her hafta aynı hikaye: _"Üretim raporunu değiştirdim, bozuldu, eski haline dönemiyorum."_ Versiyon kontrolü olmadan, test ortamı olmadan çalışmak kaçınılmaz felakete davet çıkarmaktır.

Application Lifecycle Management (ALM), raporlarınızı güvenli bir şekilde geliştirmenizi, test etmenizi ve yayınlamanızı sağlayan süreçtir.

Deployment Pipeline Mimarisi

3 Ortam Stratejisi

| Ortam | Amaç | Kim erişir? | Veri kaynağı |

|---|---|---|---|

| Development | Geliştirme, deney | Geliştiriciler | Dev DB |

| Test | Doğrulama, UAT | Test ekibi + PO | Test DB |

| Production | Canlı kullanım | İş kullanıcıları | Prod DB |

Deployment Pipeline Kurulumu

Adım 1: Pipeline Oluşturma

Power BI Service → Deployment Pipelines → "Create a pipeline"

TEXT
Pipeline yapısı:
┌──────────────┐    ┌──────────────┐    ┌──────────────┐
│ Development  │ →  │    Test      │ →  │ Production   │
│  Workspace   │    │  Workspace   │    │  Workspace   │
└──────────────┘    └──────────────┘    └──────────────┘

Adım 2: Workspace Atama

Her aşamaya bir workspace atayın. Workspace isimlendirme standardı:

TEXT
Önerilen format:
- [Proje] - DEV
- [Proje] - TEST  
- [Proje] - PROD

Örnek:
- Satış Raporları - DEV
- Satış Raporları - TEST
- Satış Raporları - PROD

Adım 3: Deployment Kuralları

Ortamlar arası geçişte veri kaynağı parametreleri otomatik değiştirilebilir:

TEXT
Deployment Rules:
- Development → Test:
    Server: devserver.db → testserver.db
    Database: SalesDB_Dev → SalesDB_Test

- Test → Production:
    Server: testserver.db → prodserver.db
    Database: SalesDB_Test → SalesDB_Prod
💡Parametreleri Power BI Desktop'ta tanımlayın. Deployment pipeline bu parametreleri her ortam için otomatik değiştirir.

Git Entegrasyonu (Fabric)

Microsoft Fabric'te Git integration ile gerçek versiyon kontrolü yapabilirsiniz:

Git ile Çalışma Akışı

TEXT
1. Main branch'ten feature branch oluştur
   git checkout -b feature/yeni-kpi-dashboard

2. Fabric workspace'i feature branch'e bağla
   Workspace Settings → Git Integration → Branch: feature/yeni-kpi-dashboard

3. Değişiklikleri yap ve commit et
   git add .
   git commit -m "Yeni KPI kartları eklendi"

4. Pull Request aç, review al
   PR: feature/yeni-kpi-dashboard → main

5. Onay sonrası merge et
   main branch → otomatik production workspace'e sync

TMDL (Tabular Model Definition Language)

Fabric ve Power BI'da model tanımları artık TMDL formatında metin dosyası olarak saklanabilir — bu da gerçek diff ve merge imkanı sağlar:

TEXT
// TMDL dosya yapısı
model/
├── model.tmdl
├── tables/
│   ├── FactSatis.tmdl
│   ├── DimMusteri.tmdl
│   └── DimUrun.tmdl
├── relationships.tmdl
└── roles/
    └── SatisYoneticisi.tmdl
TEXT
// FactSatis.tmdl örneği
table FactSatis
    lineageTag: a1b2c3d4-...
    
    measure 'Toplam Satış' = SUM(FactSatis[Tutar])
        formatString: #,##0
        lineageTag: e5f6g7h8-...
    
    column SatisTarihi
        dataType: dateTime
        lineageTag: i9j0k1l2-...
💡TMDL sayesinde iki geliştirici aynı model üzerinde farklı branch'lerde çalışabilir ve değişiklikleri merge edebilir — Excel'deki "dosyayı kilitle" günleri bitti.

Forumlarda En Çok Sorulan ALM Soruları

"Pro lisansla deployment pipeline kullanabilir miyim?"

Hayır. Deployment Pipelines Premium Per User (PPU) veya Premium/Fabric kapasitesi gerektirir. Pro lisansla alternatif: Manuel workspace kopyalama.

"Test ve prod arasındaki farkları nasıl görebilirim?"

Deployment pipeline'da "Compare" butonu ile her iki ortam arasındaki farklılıkları görebilirsiniz — hangi raporlar değişmiş, hangi dataset'ler güncellenmiş.

"Yanlışlıkla prod'a deploy ettim, geri alabilir miyim?"

Deployment pipeline'da doğrudan "undo" yoktur. Bu nedenle:

  • Her zaman test ortamından deploy edin, dev'den direkt prod'a değil
  • Git kullanıyorsanız eski commit'e revert edin
  • Git yoksa prod workspace'in backup'ını düzenli alın

Best Practices

  • Asla prod workspace'te doğrudan değişiklik yapmayın
  • Parametre kullanın — hardcoded connection string yerine
  • Naming convention belirleyin — DEV/TEST/PROD eki
  • Deployment notları yazın — kim, ne, neden değiştirdi
  • Git entegrasyonu kullanın (Fabric varsa)
  • Automated testing pipeline'a ekleyin (REST API ile)

Sonuç

Power BI ALM, profesyonel BI geliştirmenin temel taşıdır. Deployment Pipeline ile 3 ortamlı güvenli geçiş, Git entegrasyonu ile versiyon kontrolü ve TMDL ile metin bazlı model yönetimi sağlayın. "Kim bozdu?" sorusunu tarihçeye bakarak cevaplayın, tahminle değil.