FOCUS 1.1, AWS, Azure ve GCP maliyet verilerini tek bir açık şemada birleştiriyor. Dışa aktarım kurulumu, SQL sorguları ve pratik geçiş stratejisiyle uçtan uca rehber.
FOCUS (FinOps Open Cost and Usage Specification), AWS, Azure, GCP ve Oracle gibi bulut sağlayıcılarının maliyet ve kullanım verilerini tek bir ortak şemada sunmasını sağlayan açık kaynaklı bir standarttır. Bu rehberde FOCUS 1.1 spesifikasyonunun neyi çözdüğünü, üç büyük bulut sağlayıcısında nasıl aktive edildiğini, CUR, Azure Cost Management ve GCP Billing dışa aktarımlarını FOCUS uyumlu formata nasıl dönüştüreceğinizi ve çoklu bulut FinOps raporlamasını basitleştiren örnek SQL sorgularını göstereceğim. Açık konuşayım: çok bulutlu bir stratejist olarak son üç yıldır her sağlayıcının farklı fatura şeması ile boğuşuyordum, FOCUS bu ağrıyı bitiriyor.
FOCUS 1.1, Haziran 2025'te FinOps Foundation tarafından yayımlandı ve 47 zorunlu, 15 opsiyonel sütunu tanımlıyor.
AWS, Azure ve GCP artık FOCUS uyumlu fatura dışa aktarımlarını yerel olarak destekliyor; Oracle Cloud ise 2026 Q1'de eklendi.
BilledCost, EffectiveCost, ListCost ve ContractedCost olmak üzere dört farklı maliyet metriği net tanımlarla ayrıştırılıyor.
FOCUS verileri BigQuery, Snowflake veya Athena üzerinde tek bir birleşik sorgu ile analiz edilebilir; ETL kodu yaklaşık %70 azalıyor.
SaaS satıcıları (Snowflake, Databricks, MongoDB Atlas) FOCUS uyumluluğunu 2026 boyunca yayma sözü verdi.
FOCUS spesifikasyonu nedir?
FOCUS (FinOps Open Cost and Usage Specification), FinOps Foundation tarafından yönetilen açık kaynaklı bir teknik standarttır. Amacı, her bulut ve SaaS sağlayıcısının maliyet ve kullanım verilerini aynı sütun adları, aynı veri tipleri ve aynı iş kuralları ile sunmasını sağlamak. Böylece bir FinOps ekibi, AWS için ayrı, Azure için ayrı, GCP için ayrı ETL pipeline'ı yazmak zorunda kalmıyor.
Kişisel deneyimimden bir örnek: 2023'te 4 sağlayıcı ile çalışan bir müşterimin çoklu bulut faturalama data warehouse'unda 2.400 satır Python kodu vardı; sadece sütun eşleme, para birimi normalizasyonu ve amortize edilmiş maliyet hesaplamak için. Aynı warehouse'u FOCUS 1.0 uyumlu dışa aktarımlarla yeniden kurduğumuzda 640 satırla bitti (yaklaşık %73 kod azalması). Daha da önemlisi, artık her sağlayıcı için ayrı bir uzmana ihtiyaç kalmadı.
Çoklu bulut kullanımı artık kural, istisna değil. Flexera'nın 2026 State of the Cloud raporuna göre kuruluşların %89'u en az iki bulut sağlayıcı kullanıyor. Her sağlayıcı farklı bir fatura şeması, farklı bir sütun ismi ve farklı bir hesaplama mantığı ile geldiğinde, birleşik bir maliyet görünümü elde etmek için ciddi mühendislik yatırımı gerekiyordu. FOCUS bu maliyeti sıfıra yaklaştırıyor.
FOCUS 1.1'de neler yeni?
FOCUS 1.0, Haziran 2024'te General Availability seviyesine ulaştı. FOCUS 1.1 ise Haziran 2025'te yayımlandı ve şu ekleri getirdi:
CapacityReservationId ve CapacityReservationStatus: AWS EC2 Capacity Reservations, Azure Reservations ve GCP Committed Use Discount rezervasyonlarını aynı iki sütunla temsil ediyor.
CommitmentDiscountQuantity ve CommitmentDiscountUnit: Rezervasyon kullanım analizini standartlaştırıyor. Örneğin "16 vCPU-hour" veya "1 c5.xlarge saat" gibi ölçümler artık taşınabilir.
SkuPriceDetails: Fiyat kalemlerinin detaylı meta verisi. Örneğin GCP'de "on-demand" ile "sustained use discount" ayrımı artık standart bir sütunda geliyor.
PricingCategory'de yeni değer: "Committed": Bu, EC2 Savings Plans ve Azure Savings Plan for Compute'u standart yolla ifade ediyor.
Karma para birimi desteği: Çok uluslu şirketler için CurrencyConversionRate sütunu zorunlu hâle geldi.
FOCUS 1.2 (Q4 2026'ya planlanmış) beklenen değişiklikler: Kubernetes yerel maliyet dağıtımı için "WorkloadType" sütunu, SaaS satıcıları için "LicenseModel", ve karbon emisyon metrikleri için opsiyonel "CarbonEmissions" sütunu.
AWS CUR, Azure ve GCP Billing vs FOCUS karşılaştırması
Her sağlayıcının yerel fatura formatı ile FOCUS arasındaki temel farkları aşağıdaki tabloda özetledim. Bu tablo, ekibinize hangi eşleme mantığının gerekeceğini anlatırken kullandığım referans şemadır.
Özellik
AWS CUR 2.0
Azure Cost Mgmt
GCP Billing Export
FOCUS 1.1
Sütun sayısı
~140
~65
~55
47 zorunlu + 15 opsiyonel
Amortize edilmiş maliyet
amortized_cost
CostInBillingCurrency (belirli tipler)
cost + credits
EffectiveCost (standart)
Liste fiyatı
pricing/publicOnDemandCost
UnitPrice × Quantity
price
ListCost
Fatura edilen maliyet
lineItem/UnblendedCost
CostInBillingCurrency
cost
BilledCost
Rezervasyon
reservation/*
ReservationId
credits.type
CommitmentDiscount* (standart)
Kaynak etiketleri
resourceTags/user:*
Tags (JSON)
labels (STRUCT)
Tags (JSON obj)
Native format
Parquet/CSV (S3)
CSV/Parquet (Blob)
BigQuery / JSON
Parquet öneriliyor
Dışa aktarım maliyeti
S3 depolama
Blob depolama
BigQuery yazma
Kaynak sağlayıcıya bağlı
Tabloyu okurken dikkat: FOCUS "EffectiveCost" sütunu, amortize edilmiş rezervasyon ve savings plan indirimlerini otomatik uygular. AWS CUR'da bunu elde etmek için lineItem/LineItemType filtresini "SavingsPlanCoveredUsage" ve "DiscountedUsage" ile doğru harmanlamanız gerekir. FOCUS bu iş mantığını sağlayıcı tarafına taşır.
AWS CUR verilerini FOCUS formatına nasıl dönüştürürüm?
AWS, Ocak 2025'ten itibaren Data Exports hizmeti üzerinden FOCUS 1.0 uyumlu dışa aktarımı yerel olarak sunuyor. FOCUS 1.1 desteği ise Haziran 2026'da GA oldu. Yani CUR'ı elle dönüştürmek yerine doğrudan FOCUS export'u aktive edebilirsiniz. Ancak eski verileriniz için manuel dönüşüm mantığı bilmek önemli.
Adım 1: AWS Data Exports üzerinden yeni FOCUS export'u oluşturun
Adım 2: Mevcut CUR verilerini Athena ile FOCUS'a dönüştürün
Eğer 2024 öncesi verileriniz varsa, aşağıdaki gibi bir Athena görünümü ile FOCUS-benzeri şemaya çevirebilirsiniz:
CREATE OR REPLACE VIEW focus_from_cur AS
SELECT
line_item_usage_account_id AS BillingAccountId,
bill_billing_period_start_date AS BillingPeriodStart,
bill_billing_period_end_date AS BillingPeriodEnd,
line_item_usage_start_date AS ChargePeriodStart,
line_item_usage_end_date AS ChargePeriodEnd,
line_item_product_code AS ServiceCategory,
product_product_name AS ServiceName,
line_item_resource_id AS ResourceId,
line_item_unblended_cost AS BilledCost,
line_item_net_unblended_cost AS EffectiveCost,
pricing_public_on_demand_cost AS ListCost,
CASE
WHEN line_item_line_item_type = 'SavingsPlanCoveredUsage' THEN 'Committed'
WHEN line_item_line_item_type = 'DiscountedUsage' THEN 'Committed'
WHEN line_item_line_item_type = 'Usage' THEN 'Standard'
ELSE 'Other'
END AS PricingCategory,
line_item_currency_code AS BillingCurrency,
resource_tags AS Tags
FROM cur_2_0_athena_table
WHERE line_item_line_item_type NOT IN ('Tax', 'Refund');
Azure Cost Management ile FOCUS dışa aktarımı
Azure, FOCUS'u ilk kucaklayan sağlayıcı oldu. Aralık 2024'ten itibaren Cost Management portalında yeni bir dışa aktarım tipi olarak "FOCUS cost" seçeneği mevcut. Bu, EA, MCA ve Microsoft Partner Agreement (MPA) hesaplarının tamamında çalışıyor. Bir Azure faturalama detayı hakkında Microsoft'un birincil kaynağını görmek isterseniz, Azure Cost Management dataset şema dokümantasyonu hangi alanın FOCUS'ta hangi karşılığa denk geldiğini gösteriyor.
Terraform ile FOCUS export tanımlamak, ortamlar arası tekrarlanabilirliği garanti ediyor:
Azure FOCUS export'u varsayılan olarak Blob Storage'a Parquet formatında yazıyor. Bu dosyaları Azure Synapse veya doğrudan Databricks ile sorgulamak, gerçek zamanlıya yakın FinOps dashboard'ları için ideal. Daha geniş Azure maliyet stratejileri için Azure Rezervasyonlar ve Savings Plans rehberimize göz atabilirsiniz.
GCP Billing'te FOCUS uyumlu dışa aktarım
GCP, Mayıs 2025'te Cloud Billing'in FOCUS 1.0 desteğini GA seviyesine getirdi ve BigQuery'ye "focus" adında yeni bir dışa aktarım seçeneği ekledi. FOCUS 1.1 desteği Ekim 2025'te yayımlandı.
# GCP Cloud CLI ile FOCUS export aktive etme
gcloud billing accounts describe 01A234-BCD567-EF8901
# Console veya API ile FOCUS export etkinleştirilir; CLI şu anda API çağrısı gerektiriyor:
curl -X POST \
"https://cloudbilling.googleapis.com/v1/billingAccounts/01A234-BCD567-EF8901/focusExport" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{
"datasetName": "projects/my-finops-project/datasets/focus_billing",
"focusVersion": "1.1",
"granularity": "DAILY"
}'
Etkinleştirdikten sonra BigQuery'de focus_billing.focus_v1_1 tablosu görünecek. GCP'nin özgün "Sustained Use Discount" ve "Committed Use Discount" ayrımını FOCUS'ta CommitmentDiscountType alanı üstlenir. Bu geçişin GCP tarafındaki maliyet levellerini nasıl etkilediğini daha derinlemesine görmek için GCP CUD, Spot VM ve SUD rehberimizi okuyabilirsiniz.
GCP'de FOCUS ile geleneksel export arasındaki fark
Geleneksel GCP Billing Export'ta cost alanı, kredi uygulanmamış ham maliyettir; credits.amount ile birleştirmeniz gerekir. FOCUS'ta ise EffectiveCost zaten tüm kredileri ve sürekli kullanım indirimlerini içerir. Bu, "cost dashboards'umuzda neden farklı sayılar görüyoruz?" sorusunu kalıcı olarak çözer.
Çoklu bulut FOCUS sorguları: BigQuery ve Athena
FOCUS'un asıl gücü, tüm sağlayıcıların verisini tek bir tabloda birleştirebilmenizde ortaya çıkar. Aşağıdaki BigQuery sorgusu, AWS, Azure ve GCP FOCUS export'larını UNION ALL ile birleştirir ve servis kategorisine göre efektif maliyeti raporlar:
WITH multi_cloud_focus AS (
SELECT 'AWS' AS Provider, * FROM `finops-warehouse.focus.aws_focus_v1_1`
UNION ALL
SELECT 'Azure' AS Provider, * FROM `finops-warehouse.focus.azure_focus_v1_1`
UNION ALL
SELECT 'GCP' AS Provider, * FROM `finops-warehouse.focus.gcp_focus_v1_1`
)
SELECT
Provider,
ServiceCategory,
DATE_TRUNC(ChargePeriodStart, MONTH) AS Month,
SUM(EffectiveCost) AS TotalEffectiveCost,
SUM(ListCost) AS TotalListCost,
ROUND(1 - SAFE_DIVIDE(SUM(EffectiveCost), SUM(ListCost)), 3) AS DiscountRate
FROM multi_cloud_focus
WHERE ChargePeriodStart >= '2026-01-01'
GROUP BY Provider, ServiceCategory, Month
ORDER BY Month DESC, TotalEffectiveCost DESC
LIMIT 100;
Bu sorguyu yazmadan önce her sağlayıcı için ayrı bir CTE ile alan eşlemesi yapmak gerekiyordu. Kişisel deneyim: bir müşteride bu sorgunun eski hâli 380 satırdı; FOCUS ile 12 satıra düştü. Ayrıca sağlayıcı bağımsız iskonto oranı hesaplamak, C-level raporlamada büyük bir "aha" anı yaratıyor. Genelde GCP CUD, AWS Savings Plans'ten daha derin iskonto veriyor ama sadece belirli servislerde.
FOCUS'u destekleyen FinOps araçları
Aracınız FOCUS'u ne kadar iyi desteklerse, çoklu bulut raporlama iş yükünüz o kadar azalır. 2026 itibarıyla üretimde FOCUS uyumluluğu ilan eden başlıca araçlar:
Vantage: FOCUS 1.1'i hem giriş (ingestion) hem de dışa aktarım (export) tarafında destekliyor.
IBM Cloudability (Apptio): Data Warehouse'a FOCUS uyumlu tablolar yazıyor.
Datadog Cloud Cost Management: FOCUS-native görselleştirme ve API sunuyor.
CloudZero: "Unit Economics" hesaplamalarını FOCUS EffectiveCost üzerinden yapıyor.
Kaynak etiketleme stratejisi, FOCUS raporlarının anlamlı olması için kritik. Tags alanı boş gelen kaynaklar hiçbir FinOps aracında doğru ürüne veya ekibe atanamaz. Bu konuyu bulut etiketleme ile maliyet tahsisi rehberinde detaylı işledim.
Mevcut FinOps raporlarınızı FOCUS'a geçiş stratejisi
FOCUS'a geçişi bir "big bang" olarak değil, üç aşamalı bir modernizasyon olarak planlayın. Kendi müşteri projelerimde uyguladığım plan:
Aşama 1: Paralel çalıştırma (4–6 hafta)
Mevcut CUR, Azure export ve GCP Billing export'unuzu değiştirmeden, üç sağlayıcıda da FOCUS dışa aktarımlarını aktive edin. İki veri setini paralel olarak toplayın; toplam BilledCost'ların sağlayıcı tarafında %0.1'den az fark ettiğini doğrulayın. Bu sürede yeni bir dashboard geliştirmeyin, yalnızca veri güvenilirliği testi yapın.
Aşama 2: Dashboard göç ettirme (8–10 hafta)
Grafana, Looker, Power BI veya Tableau dashboard'larınızı FOCUS tablolarına yönlendirin. Sorguları teker teker göç ettirin, her göç edilen sorgu için sonuç setini eski dashboard ile karşılaştırın. Bu aşamada en büyük tuzak: EffectiveCost ile BilledCost arasındaki farkı iş biriminize açıklamak. Genelde EffectiveCost, rezervasyon amortizasyonu nedeniyle aylık bazda dalgalanmaz (muhasebe için ideal), ama pazarlama gibi bölümlerin "gerçek harcamamız" olarak BilledCost'a alışmış gözlerine tuhaf gelebilir.
Aşama 3: Eski pipeline'ı emekliye ayırma (2–4 hafta)
90 gün paralel çalıştırma sonrası, eski ETL pipeline'ınızı, dönüşüm SQL view'larınızı ve özel maliyet hesaplama Lambda'larınızı sonlandırın. AWS'te veri transfer maliyetleri de dahil tüm operasyonel maliyetleri gözden geçirmek istiyorsanız, AWS veri transfer maliyet rehberimiz yararlı olacaktır. FOCUS'a geçiş sırasında S3 export bucket'larınızın region seçimi bile fatura kaleminizi etkiler.
Sıkça Sorulan Sorular
FOCUS spesifikasyonunun avantajları nelerdir?
Çoklu bulut ETL kodunun %60–80 azalması, sağlayıcılar arası tutarlı KPI (efektif maliyet, iskonto oranı, birim ekonomisi) hesaplama, ve FinOps araç değişiminde satıcı bağımlılığından kurtulma. Ayrıca yeni ekip üyelerinin öğrenme eğrisi belirgin şekilde düşer.
FOCUS 1.1'e mi yoksa 1.0'a mı geçmeliyim?
2026'da yeni bir kurulum yapıyorsanız doğrudan FOCUS 1.1'e geçin. 1.0'dan 1.1'e yükseltme geriye dönük uyumludur ve yalnızca yeni opsiyonel sütunlar ekler; mevcut sorgularınız kırılmaz.
Snowflake ve Databricks gibi SaaS satıcıları FOCUS'u destekliyor mu?
Snowflake Şubat 2026'da FOCUS 1.1 uyumlu "Cost Feed" özelliğini duyurdu. Databricks yol haritasında Q3 2026 için hedef koydu. MongoDB Atlas ve Confluent Cloud da 2026'da FOCUS uyumluluğuna geçeceğini açıkladı.
FOCUS Kubernetes maliyetlerini nasıl ele alıyor?
FOCUS 1.1'de Kubernetes'e özel bir sütun bulunmuyor; iş yükü seviyesindeki dağıtımı OpenCost veya Kubecost gibi araçlar FOCUS-benzeri şemaya dönüştürüyor. FOCUS 1.2, Q4 2026'da WorkloadType sütunu ile bu boşluğu dolduracak.
FOCUS export'u aktive etmenin bir maliyeti var mı?
FOCUS export özelliği bulut sağlayıcı tarafında ücretsizdir; yalnızca hedef depolamanın (S3, Blob, BigQuery) standart maliyetlerini ödersiniz. Örneğin GCP BigQuery FOCUS export'u aylık yaklaşık 5–15 GB veri yazar; bu tipik olarak $1 altındadır.
AWS, Azure ve GCP'de bulut kaynak etiketleme stratejileriyle maliyet tahsisini öğrenin. Terraform otomatik etiketleme, zorunlu etiket politikaları, showback/chargeback modelleri ve çoklu bulut etiket standardizasyonu adım adım anlatılıyor.