"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"
Pipeline yapısı:
┌──────────────┐ ┌──────────────┐ ┌──────────────┐
│ Development │ → │ Test │ → │ Production │
│ Workspace │ │ Workspace │ │ Workspace │
└──────────────┘ └──────────────┘ └──────────────┘Adım 2: Workspace Atama
Her aşamaya bir workspace atayın. Workspace isimlendirme standardı:
Önerilen format:
- [Proje] - DEV
- [Proje] - TEST
- [Proje] - PROD
Örnek:
- Satış Raporları - DEV
- Satış Raporları - TEST
- Satış Raporları - PRODAdım 3: Deployment Kuralları
Ortamlar arası geçişte veri kaynağı parametreleri otomatik değiştirilebilir:
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_ProdGit Entegrasyonu (Fabric)
Microsoft Fabric'te Git integration ile gerçek versiyon kontrolü yapabilirsiniz:
Git ile Çalışma Akışı
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 syncTMDL (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:
// TMDL dosya yapısı
model/
├── model.tmdl
├── tables/
│ ├── FactSatis.tmdl
│ ├── DimMusteri.tmdl
│ └── DimUrun.tmdl
├── relationships.tmdl
└── roles/
└── SatisYoneticisi.tmdl// FactSatis.tmdl örneği
table FactSatis
lineageTag: a1b2c3d4-...
measure 'Toplam Satış' = SUM(FactSatis[Tutar])
formatString: #,##0
lineageTag: e5f6g7h8-...
column SatisTarihi
dataType: dateTime
lineageTag: i9j0k1l2-...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.
