FOCUS 1.1 Spesifikasyonu (2026): AWS, Azure ve GCP Maliyet Verilerini Standartlaştırma Rehberi

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 1.1 Rehberi 2026: Bulut Standardı

Güncellendi: 1 Eylül 2026

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.
  • Vantage, Cloudability, Datadog Cloud Cost Management ve Kubecost FOCUS'u üretimde destekliyor.
  • 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ı.

FOCUS spesifikasyonu focus.finops.org üzerindeki resmi belgelerde tanımlanır ve GitHub deposunda açık geliştirilmesine devam etmektedir. Spesifikasyon Apache 2.0 lisansı altında yayımlanır ve topluluk tarafından yönetilir.

FOCUS neden 2026'da bu kadar önemli?

Ç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.

ÖzellikAWS CUR 2.0Azure Cost MgmtGCP Billing ExportFOCUS 1.1
Sütun sayısı~140~65~5547 zorunlu + 15 opsiyonel
Amortize edilmiş maliyetamortized_costCostInBillingCurrency (belirli tipler)cost + creditsEffectiveCost (standart)
Liste fiyatıpricing/publicOnDemandCostUnitPrice × QuantitypriceListCost
Fatura edilen maliyetlineItem/UnblendedCostCostInBillingCurrencycostBilledCost
Rezervasyonreservation/*ReservationIdcredits.typeCommitmentDiscount* (standart)
Kaynak etiketleriresourceTags/user:*Tags (JSON)labels (STRUCT)Tags (JSON obj)
Native formatParquet/CSV (S3)CSV/Parquet (Blob)BigQuery / JSONParquet öneriliyor
Dışa aktarım maliyetiS3 depolamaBlob depolamaBigQuery yazmaKaynak 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

# AWS CLI 2.15+ gerektirir
aws bcm-data-exports create-export \
  --export '{
    "Name": "focus-1-1-daily",
    "DataQuery": {
      "QueryStatement": "SELECT * FROM FOCUS_1_0_AWS",
      "TableConfigurations": {
        "FOCUS_1_0_AWS": {
          "INCLUDE_MANUAL_DISCOUNT_COMPATIBILITY": "TRUE",
          "TIME_GRANULARITY": "DAILY"
        }
      }
    },
    "DestinationConfigurations": {
      "S3Destination": {
        "S3Bucket": "finops-focus-exports",
        "S3Prefix": "focus/",
        "S3Region": "eu-central-1",
        "S3OutputConfigurations": {
          "OutputType": "CUSTOM",
          "Format": "PARQUET",
          "Compression": "PARQUET",
          "Overwrite": "OVERWRITE_REPORT"
        }
      }
    },
    "RefreshCadence": {"Frequency": "SYNCHRONOUS"}
  }'

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:

resource "azurerm_cost_management_scheduled_action" "focus_export" {
  name              = "focus-daily-export"
  display_name      = "FOCUS 1.1 Daily Export"
  scope             = "/providers/Microsoft.Billing/billingAccounts/${var.billing_account_id}"

  view_id           = null

  email_address_sender = "[email protected]"
  email_subject        = "FOCUS Export Ready"
  email_addresses      = ["[email protected]"]

  schedule {
    frequency  = "Daily"
    start_date = "2026-09-01T09:00:00Z"
    end_date   = "2027-09-01T09:00:00Z"
  }
}

# Native focus export - preview API
resource "azapi_resource" "focus_export" {
  type      = "Microsoft.CostManagement/exports@2023-08-01"
  name      = "focus-1-1-billing-export"
  parent_id = "/providers/Microsoft.Billing/billingAccounts/${var.billing_account_id}"

  body = jsonencode({
    properties = {
      definition = {
        type      = "FocusCost"
        timeframe = "MonthToDate"
        dataSet = {
          granularity = "Daily"
          configuration = {
            dataVersion = "1.1"
          }
        }
      }
      deliveryInfo = {
        destination = {
          resourceId     = azurerm_storage_account.finops.id
          container      = "focus-exports"
          rootFolderPath = "azure/"
        }
      }
      schedule = {
        status     = "Active"
        recurrence = "Daily"
        recurrencePeriod = {
          from = "2026-09-01T00:00:00Z"
          to   = "2027-12-31T00:00:00Z"
        }
      }
      format = "Parquet"
    }
  })
}

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.
  • Kubecost / OpenCost: Kubernetes'te iş yükü seviyesinde maliyeti FOCUS-benzeri şemaya dönüştürüyor. FinOps Foundation'ın veri normalleştirme yeteneği kılavuzu hangi araçların hangi seviyede uyumlu olduğunu gösteriyor.

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.

Rachel Goldberg
Yazar Hakkında Rachel Goldberg

Multi-cloud strategist comparing AWS, GCP, and Azure cost levers across real-world workloads.