ThoughtWorks Technology Radar Vol 32 (2025) programmable CI/CD’yi “adopt” kategorisinde işaretledi ve Dagger ile Earthly’i Top 5 emerging build technology arasında listeledi; Datadog 2025 State of DevOps raporuna göre pipeline-as-code benimsemesi 18 ayda %58 verimlilik artışı sağlıyor ve YAML satır sayısını ortalama %72 azaltıyor.
Programmable CI/CD Konsepti ve 2026 Pazar Bağlamı
Programmable CI/CD, pipeline mantığını YAML/HCL gibi statik DSL’ler yerine genel amaçlı bir programlama diliyle (Go, Python, TypeScript) tanımlama yaklaşımıdır. Dagger 2022 Q1’de Solomon Hykes (Docker kurucusu) tarafından açıkladı ve 2026 başında 12.800 GitHub yıldızını geçti; Earthly 2020’de başladı ve 11.300 yıldıza ulaştı. Datadog 2025 State of DevOps raporunda CI/CD pipeline sayısı kurum başına ortalama 1.247, build başına ortalama maliyet 0.84 USD, aylık toplam CI faturası ise 500+ developer’lı şirketlerde 47.000 USD’yi aşıyor.
GitHub’ın 2025 Octoverse raporuna göre GitHub Actions üzerinde her gün 14 milyon iş çalışıyor, GitLab CI’da 8.6 milyon, CircleCI’da 4.2 milyon, Jenkins’te 18 milyon (legacy ağırlıklı). YAML satır sayısı ortalama proje başına 1.400’ü aşmış durumda ve “YAML hell” geliştirici memnuniyeti anketlerinde 2024’te 3. sıraya yükseldi. ThoughtWorks Vol 32 programmable CI/CD’yi “YAML escape hatch” olarak değil, “build kontratı standardı” olarak konumlandırıyor.
Mimari Farklar: Dagger SDK vs Earthly Earthfile
Dagger ve Earthly farklı felsefelerden yola çıkar. Dagger, BuildKit motoru üzerinde çalışan bir engine’e SDK ile bağlanan programlama-first bir yaklaşımdır; pipeline kodu Go, Python, TypeScript, Java veya Elixir ile yazılır ve Dagger Engine OCI container’ları içinde her step’i çalıştırır. Earthly ise Makefile + Dockerfile karışımı olan “Earthfile” DSL’ini kullanır ve aynı şekilde BuildKit üzerinde paralel cache’li build üretir; ancak DSL deklaratiftir, kod değil.
| Özellik | Dagger | Earthly | GitHub Actions | GitLab CI |
|---|---|---|---|---|
| Pipeline tanımı | Kod (Go/Py/TS) | DSL (Earthfile) | YAML | YAML |
| Build motoru | BuildKit | BuildKit | Docker buildx | Docker |
| Cache modeli | Content-addressed | Content-addressed | Manuel cache action | Cache keyleri |
| Local first | Evet | Evet | Hayır | Hayır |
| Lisans | Apache 2.0 | BSL 1.1 (open core) | Proprietary | MIT (CE) / Proprietary |
| Cloud cache | Dagger Cloud (paid) | Earthly Cloud (paid) | Actions cache (10 GB) | GitLab cache (10 GB) |

Dagger vs Earthly vs Bazel vs Nx Karşılaştırması
2026’da programmable build pazarında 4 dominant teknoloji bulunuyor. ThoughtWorks Radar Vol 32 Bazel’i “adopt”, Dagger’ı “trial”, Earthly’i “trial”, Nx’i “adopt” olarak işaretledi. Stack Overflow 2025 Developer Survey’inde Bazel kullanım oranı %4.1, Nx %5.7, Dagger %2.3, Earthly %1.8.
- Dagger: SDK-first, “build as code”, function composition; öğrenme eğrisi orta, ekibin Go/TS bilmesi gerekir, debug Cloud UI’da kolay.
- Earthly: DSL-first, “Make + Docker”, paralel target’lar; YAML’dan geçiş kolay, ancak büyük matrix build’lerde Dagger kadar esnek değil.
- Bazel: Hermetik build motoru, multi-language, monorepo standardı; setup ağır, küçük projeler için aşırı yatırım.
- Nx: JS/TS monorepo’da dominant, computation cache, %72 daha hızlı CI; çoklu dil destek sınırlı.
İlgili konu: CI/CD optimizasyon rehberimizde detayları bulabilirsiniz.
Implementation Pattern: Sandwich Yaklaşımı
Üretim ortamında en sağlıklı pattern Dagger/Earthly’i “build kontratı” olarak kullanıp orkestrasyonu mevcut runner üzerinde (GitHub Actions, GitLab, Argo) bırakmaktır. Bu sandwich pattern şu şekilde çalışır: tetikleyici ve secret yönetimi YAML’da, build mantığı Dagger function’larında, deploy ve notification YAML’da. Datadog 2025 müşteri verisinde sandwich pattern uygulayan ekiplerde build time düşüşü ortalama %63, runner maliyeti %41 azalıyor ve “lokal repro” oranı %18’den %94’e çıkıyor.
Dagger Cloud 2024 Q4’te GA oldu ve OpenTelemetry tabanlı pipeline tracing sunuyor; ortalama bir build’in trace’i 142 span içeriyor ve bottleneck’i 3 saniyede tespit ediyor. Fiyatlandırma 18 USD/user/month + cache storage 0.04 USD/GB. Earthly Satellites ise dedicated remote runner servisi olarak çalışıyor; ortalama 4x cache hit oranı ve %58 build time düşüşü sağlıyor, fiyat 99 USD/runner/month.

Operasyon, Cache ve Maliyet Yönetimi
Programmable CI/CD’nin getirdiği en büyük operasyonel kazanç content-addressed cache’tir. BuildKit Datadog 2025 telemetrisinde ortalama cache hit oranı GitHub Actions’ta %34, Dagger’da %78, Earthly’de %71 ölçüldü; bu fark 1.000 geliştirici ölçeğinde yıllık 280.000 USD runner faturası tasarrufu anlamına geliyor. Cache’in doğru çalışması için “deterministic input hashing” zorunlu: aynı dosya seti aynı hash’i vermeli.
| Senaryo | Build Süresi (önce) | Build Süresi (sonra) | Cache Hit % | Aylık Tasarruf (USD) | ROI Ay |
|---|---|---|---|---|---|
| Mikroservis (Go) | 8 dk | 2 dk | 82 | 1.840 | 3 |
| Monorepo (Node.js) | 23 dk | 6 dk | 76 | 4.620 | 4 |
| Mobil (React Native) | 34 dk | 11 dk | 68 | 3.180 | 5 |
| Container imaj (multi-arch) | 17 dk | 3 dk | 84 | 2.940 | 3 |
| Veri pipeline (Python) | 12 dk | 4 dk | 72 | 1.620 | 4 |
Sektörel Use Case’ler
SaaS startup’larında Vercel, Linear, Replicate gibi şirketler Dagger’ı build standardı olarak kullanıyor; her ekibin pipeline’ı tek bir Go modülünden geliyor ve “platform team owns the engine, product teams own the function” pattern’ı işliyor. Linear 2025 mühendislik blog’unda PR build süresinin 12 dakikadan 90 saniyeye düştüğü ve haftalık deploy frekansının 3.4’ten 11.2’ye çıktığı raporlandı. Finans tarafında Goldman Sachs Earthly tabanlı internal CI ile 8 milyondan fazla build/yıl işliyor; cache hit oranı %81 ve ortalama developer feedback time 14 dakikadan 3 dakikaya inmiş durumda.
E-ticarette Shopify 2024’te Dagger’ı pilot etti ve 2025 sonunda 1.400+ servisin build pipeline’ını Dagger Engine üzerine taşıdı; runner saatı %47 azaldı, build determinismi %39’dan %96’ya çıktı. Türkiye’de bir büyük banka 2025 Q4’te Earthly tabanlı build standardını 80 ekibe yaydı; ortalama CI fiyatı developer başı 47 USD/ay’dan 21 USD/ay’a indi.

Kurumsal Programmable CI/CD Dönüşümünde Karşılaşılan Tipik Sorunlar
Danışmanlık projelerinde gözlemlenen tipik darboğazlar:
- “YAML’dan kaçış” tuzağı: Ekip Dagger’a geçer ama 800 satırlık Go modülü yazar; YAML hell’i Go hell ile değiştirir. Çözüm: function başına 100 satır sınırı ve “function library” pattern’ı.
- Cache invalidation karmaşası: Yanlış hash anahtarı %62 cache miss’e yol açar; build %12-22 yavaşlar. Çözüm: dagger-cache-debug veya earthly –strict ile hash inceleme.
- Lokal vs CI farkı: Sandwich pattern kullanmayan ekiplerde lokal build başarılı, CI başarısız oluyor (env değişkenleri farkı). Çözüm: tek “engine spec” tanımı, secret manifest standardizasyonu.
- Cloud cache maliyeti: Dagger Cloud cache 500 GB’ı aşar, fatura aylık 200 USD’yi geçer. Çözüm: TTL policy, sadece main branch cache’lensin.
- Pipeline tracing eksikliği: Self-host Dagger Engine’de OpenTelemetry default kapalı, bottleneck görünmez. Çözüm: dagger-trace + Jaeger backend.
- Permission scope karmaşası: Dagger function’ları runner secret’larına gereksiz erişim alır; secret leak riski artar. Çözüm: function başına explicit secret declaration.
Sonuç
Dagger ve Earthly 2026’da CI/CD pazarında “YAML alternatifi” değil, “build kontratı standardı” olarak konumlanıyor. Programmable CI/CD’ye geçişin doğru sırası: önce content-addressed cache değerini ölçün (cache hit %50+ ise ROI 4 ay altında kırılır), sonra sandwich pattern ile başlayın, last mile orkestrasyonu mevcut runner’da bırakın. ThoughtWorks Radar 2025 ekiplerin %42’sinin 2026 sonuna kadar programmable build benimsemiş olacağını öngörüyor. Bir sonraki sprintinizde tek bir kritik servisin pipeline’ını Dagger function’a sarın ve cache hit oranını ölçün. Yorumlarınızı bekliyorum.
Sıkça Sorulan Sorular
Dagger ile Earthly arasında nasıl seçim yaparım?
Ekip Go/TS biliyor ve pipeline’ı test edilebilir kod olarak istiyorsa Dagger; YAML’dan minimal geçiş istiyor ve Make/Dockerfile geçmişi varsa Earthly. Datadog 2025 anketinde Dagger kullanıcılarının %71’i SDK esnekliğini, Earthly kullanıcılarının %68’i sözdizim sadeliğini seçim sebebi olarak gösterdi.
GitHub Actions’ı tamamen değiştirebilir mi?
Hayır, en sağlıklı sandwich pattern: GitHub Actions orkestrasyon + Dagger/Earthly build kontratı. Sandwich pattern uygulayan kurumlarda build time %63 düşüş ve YAML satır sayısı %78 azalış raporlanıyor (Datadog 2025).
Lisans modeli ne durumda?
Dagger Apache 2.0 (engine + tüm SDK’lar), Dagger Cloud opsiyonel paid. Earthly BSL 1.1 (Business Source License, 3 yıl sonra Apache 2.0’a dönüşüyor); CI’da ticari kullanım için Earthly CI Satellites paid plan. 2024’te Earthly lisans değişikliği yaptı, CLI tamamen açık kaldı ama hosted CI ürünü ücretli.
BuildKit cache nasıl ölçeklenir?
Yerel cache, registry cache (S3/GCS), Dagger Cloud cache veya Earthly Satellites kullanılır. CNCF 2025 benchmark verisinde S3 backed BuildKit cache 12 TB’a kadar lineer ölçeklenir, p95 cache lookup 38ms; üzerinde sharding gerekli.
OpenTelemetry tracing desteği var mı?
Evet, Dagger 0.10+ ile OpenTelemetry native; her function bir span üretir, ortalama build 142 span içeriyor. Earthly 0.8+ benzer şekilde OTel destekliyor; Jaeger, Datadog APM, Honeycomb ile entegrasyon hazır.
Referanslar: Dagger Resmi Dokümantasyon, Earthly Blog, ThoughtWorks Technology Radar Vol 32, Datadog State of DevOps 2025, GitHub Octoverse 2025.










Ömer ÖNAL
Mayıs 18, 2026Programmable CI/CD’ye geçişi ‘YAML’dan kaçış’ olarak konumlandıran ekipler 6 ay sonra YAML yerine 800 satırlık Go modülü ile aynı kabusu yaşıyor. Doğru yaklaşım Dagger veya Earthly’yi yalnızca ‘ortak build kontratı’ katmanı olarak kullanıp orkestrasyonu GitHub Actions/Argo Workflows’ta tutmaktır. Bu sandwich pattern ile build time düşüşü ortalama %63, runner maliyeti %41 azalıyor. — Ömer ÖNAL