Geçen ay üç farklı müşteride tekrar tekrar aynı soruyla karşılaştım: “Faturamız geçen aya göre neden %30 arttı, bir şey değişmedi ki?” Bakıyoruz, aslında değişmiş. Dev ortamında açık kalan D8s_v5’ler var, iki yıl önce silinen bir uygulamanın 512 GB’lık Premium SSD’si hâlâ aylık 80 dolar yakıyor, birisi test amaçlı Application Gateway ayağa kaldırmış ve hiç kapatmamış. Bulut faturası fark edilmeden şişen bir kar topu gibi. FinOps bu topu kontrol altına alma disiplini.
Neden “bir disiplin”?
FinOps’u araç zannediyor çoğu kişi. Değil. FinOps Foundation’ın tanımıyla aslında kültürel bir dönüşüm: finans, mühendislik ve iş birimlerini aynı masaya oturtup şu soruyu cevaplamak — “Harcadığımız her liranın karşılığı ne?” On-prem zamanında sunucu almak için imza turu gerekirdi. Bulutta tek bir az vm create komutu 200 dolarlık aylık harcama doğurur. Harcama kararı dağıldı, sorumluluk da dağılmalı.
Olgunluk: Crawl → Walk → Run
Crawl — önce görünürlük
İlk saha notum: etiketleme yapılmadan hiçbir FinOps toplantısı işe yaramaz. Etiketlerin olmadığı bir fatura tablosu seyretmek; sadece toplam sayıyı görürsünüz, sebebini değil. Minimum etiket setim şudur:
env— prod / stage / dev / testowner— ekip veya ekip lideri e-postasıcost-center— muhasebedeki maliyet merkezi koduapp— uygulama adı
Azure Policy ile etiketsiz kaynağın oluşmasını engelliyoruz. “Sonra eklerim” yalanı yüzünden kaybedilen hafta sayısı çok fazla:
az policy assignment create
--name require-owner-tag
--policy /providers/Microsoft.Authorization/policyDefinitions/1e30110a-5ceb-460c-a204-c1c3969c6d62
--params '{"tagName":{"value":"owner"}}'
Sonra Cost Management’ta dashboard: günlük trend, servis dağılımı, kaynak grubu kırılımı, anomaly alert. Bu aşamayı “tasarrufa geldik” diye atlayan ekipler 2-3 hafta içinde geri dönüyor çünkü neyin kesileceğini bilmiyorlar.
Walk — optimizasyon
Right-sizing. Azure Advisor’ın “cost” kategorisini her pazartesi sabahı inceliyorum. En sık önerisi: CPU ortalaması %5 olan D4s_v3 → D2s_v3’e düş. Tek başına bu değişiklik bir müşterimizde aylık 4.200 USD tasarruf getirdi. Endişe: “Ya yük gelirse?” Cevap: Azure Monitor’da P95 CPU 14 günü geçmişte %40’ın altındaysa korkma. Gelirse de yarım saatte resize yaparsın.
Reserved Instances vs Savings Plan. Bu ikisini karıştırıp yanlış satın alma yapan çok ekip gördüm. Kararlı, aynı tipte, aynı bölgede çalışan yük için RI (%72’ye kadar indirim). Dinamik ortam, boyut/bölge değişiyorsa Savings Plan (daha az indirim ama esnek). En az 3 aylık kullanım verisi olmadan rezervasyon almayın — yanlış tip alırsanız 3 yıl takılıp kalırsınız.
Orphan kaynaklar. En iyi pazartesi hediyem bir müşteride çıkmıştı: 37 adet deallocated VM, disk’leri hâlâ duruyor, aylık 1.800 USD. Resource Graph sorgusu ile buluyorum:
resources
| where type == "microsoft.compute/disks"
| where properties.diskState == "Unattached"
| project name, location, sku.name, properties.diskSizeGB,
tags, resourceGroup
| order by toint(properties_diskSizeGB) desc
Spot VM. Rendering, batch ETL, CI build agent — kesintiye toleranslıysa %60-90 indirim. Üretim veritabanında kullanma; kapasite geri alındığında 30 saniye içinde VM kayboluyor.
Run — otomasyon ve kültür
Dev/test ortamlarını hafta içi 19:00’da kapatıp sabah 08:00’de açmak, tek başına %35-45 tasarruf. Azure Automation Runbook veya Logic App ile 20 dakikada kurulur. Ayda bir kere bile manuel yapmak çok daha pahalıya patlar.
Sonra haftalık FinOps stand-up: 15 dakika, anomali harcamalarını konuş, aksiyon ver. Aylık derin analiz: rezervasyon kullanımı, commitment fırsatları. Çeyreklik: stratejik kararlar, RI yenileme.
Azure Cost Management’ın fazla kullanılmayan özellikleri
Çoğu ekip Cost Management’ı “fatura ekranı” olarak görüyor. Halbuki orada altın var:
- Anomaly detection: ML tabanlı, alışılmadık harcama artışlarını otomatik yakalıyor. Her cost-center sahibine e-posta gidiyor.
- Budget actions: Bütçe aşımında Azure Automation runbook tetikleyip VM’leri küçültmek veya ortam kapatmak mümkün (prod hariç tabii).
- Export: Günlük maliyet verisini Storage’a atıp Power BI ile birleştiriyoruz. CRM verisiyle cross-ref yapınca “her müşteri bize aylık kaça patlıyor” çıkıyor — pricing kararlarında altın değerinde.
Üç faz: Inform, Optimize, Operate
Inform: Herkes ne harcadığını görsün. Bu aşama duvar. Etiketler, maliyet dashboard’ları, ekip başına aylık rapor e-postası. Bir müşterimde sadece bu rapora geçince ekipler kendi kendine %12 düşürdü.
Optimize: Advisor + orphan cleanup + right-sizing + rezervasyonlar. Quick-win listesi: unattached disk, boş App Service plan, ayrılmış public IP, sıfır trafikli Application Gateway.
Operate: Bütçe + alert + error budget kültürü. Her sprint’te “cost impact” PR check’i. Engineering sorumluluğu atanır, FinOps scorecard aylık güncellenir.
Ek araçlar
Azure ekosisteminin dışında işimize yarayanlar:
- Kubecost: AKS maliyetini namespace/pod bazında atamak için. Şart.
- Infracost: Terraform PR’larında maliyet etkisini preview ediyor. Mimari karar aşamasında son derece faydalı.
- Spot.io: Spot instance yönetimini otomatize ediyor, bizim manuel emekten tasarruf sağlıyor.
Sık Sorulan Sorular
Reserved Instance mi Savings Plan mı?
Kararlı, aynı tip/bölge → RI, daha fazla indirim. Dinamik, boyut/bölge değişken → Savings Plan. 3 aylık kullanım verisi yoksa ikisini de alma, önce veri topla. Hata yaptıysan: Azure Reservation Marketplace ile bazı rezervasyonları devredebilirsin.
FinOps ekibi kimlerden oluşmalı?
Finans (bütçe-tahmin), mühendislik (optimizasyon uygulaması) ve iş birimi (değer-maliyet önceliklendirmesi). Küçük şirkette tek kişi üç şapka takar; büyük kurumda CCoE altında dedicated ekip. Kritik nokta: FinOps bir rol değil bir sorumluluk kümesi — her mühendisin biraz üstünde olmalı.
Hangi tasarruflar ilk ay görünür?
Orphan cleanup ve right-sizing, tipik olarak ilk faturada %8-15 düşüş. Rezervasyon ve schedule otomasyonu 2-3 ayda devreye girer, toplam %25-40 hedefe koşuyoruz.
Sonuç
FinOps bir ürün kurulumu değil. Etiketleme disipliniyle başlar, orphan cleanup ve right-sizing ile kazanır, rezervasyonlar ve otomasyon ile ölçeklenir. Saha tecrübem: ciddiyetle 6 ay süren bir FinOps programı, bulut faturasını %20-40 aralığında düşürüyor. Tek şart: bunu bir seferlik proje değil sürekli disiplin olarak görmek.
CloudSpark FinOps danışmanlığı ile bulut harcamanızı ölçülebilir ve yönetilebilir hale getiriyoruz.



