Atlassian DevEx Pulse 2025 raporu, ephemeral preview environment kullanan ekiplerin PR review süresinin ortalama 5.7 saatten 1.4 saate, deployment incident rate’inin %38 düştüğünü ölçtü; Garden, Bunnyshell ve Okteto pazarda 2026 itibarıyla preview deployment kategorisinin %71 paylaşa hakim üç ürünü. Konuyla ilişkili olarak Nix ve Devbox 2026: Reproducible Development Environment Rehberi rehberimiz detaylı incelemeyi içerir. Konuyla ilişkili olarak Mise vs ASDF vs Nix 2026: Developer Environment Manager Karşılaştırma rehberimiz detaylı incelemeyi içerir.

Ephemeral Environments 2026: Neden Şimdi?

Pull request başına izole, ömrü kısa, gerçekçi bir test environment’ı kurmak 2026’da artık lüks değil, modern engineering velocity’nin altyapı şartı. CNCF 2025 Annual Survey’de 96 bin yanıtın %54’ü ephemeral environment’ı top-5 öncelik olarak işaretledi (2023’te %22). Garden Q3 2025’te Series B’de 32 milyon USD, Bunnyshell 8 milyon USD seed sonrası genişleme turu, Okteto Q4’te 41 milyon USD Series B kapattı. Pazar momentum’u “preview deployment as a product” kategorisine yatırımcı ilgisinin yüksek olduğunu gösteriyor. GitLab 2025 DevSecOps Report, kurumların %63’ünün her PR için preview env hedeflediğini ama yalnızca %38’inin pratikte uyguladığını raporladı; bu gap, üç ürünün de growth alanı.

Ephemeral environment ihtiyacının arkasında üç değişim var. Birincisi mikroservis sayısının ortalama 280’e (2020’de 47) yükselmesi, ikincisi shift-left testing kültürünün test environment paylaşımını imkansız kılması, üçüncüsü GitOps pattern’lerinin “branch per environment” yerine “preview per PR” modeline geçişi mümkün kılması. Sonuç olarak preview env artık tek bir staging değil, PR sayısı kadar throwaway-cluster veya throwaway-namespace.

Mimari Karşılaştırma: Garden, Bunnyshell, Okteto

Üç ürün benzer hedefe farklı mimarilerle yaklaşıyor. Garden, Helm + Kustomize + Docker Compose şablonlarını birleştiren “Garden config” katmanı üzerinden ephemeral env tanımlar; CI’da garden deploy ile sıfırdan kurulur. Bunnyshell, “Application Templates” abstraction’ı ile vendor-managed bir control plane’den env spin up eder, Bunnyshell ajanı müşteri cluster’ında çalışır. Okteto ise developer experience odaklıdır; okteto up komutu yerel kod değişikliklerini cluster’a anlık sync eder, preview env’leri Okteto Cloud veya self-host cluster’da koşar.

Boyut Garden 0.13 Bunnyshell Okteto 1.27 Argo CD ApplicationSet Vercel Preview
Cluster placement Müşteri cluster’ı Müşteri cluster + control plane Okteto Cloud / self-host Müşteri cluster’ı Vercel cloud
Preview spin-up süresi 3-6 dk 4-8 dk 1-3 dk (dev sync) 2-5 dk 30-90 sn
Stateful (DB) destek Helm chart ile Snapshot copy Persistent volume Manuel Yok
PR comment integration GitHub/GitLab GitHub/GitLab/BB GitHub/GitLab Custom webhook GitHub/GitLab native
Cost/env (aylık tipik) 0.6-1.4 USD 1.1-2.3 USD 0.8-1.8 USD 0.4-0.9 USD Static pricing
Pricing modeli Open core + Enterprise SaaS per env SaaS + self-host Open source SaaS
Ephemeral Environments 2026: Garden, Bunnyshell, Okteto Preview Deployment - görsel 1
Ephemeral Environments 2026: Garden, Bunnyshell, Okteto Preview Deployment - görsel 1

Karşılaştırma Matrisi: Hangi Senaryoda Hangi Ürün?

2026’da seçim kriteri vendor preference değil, dev workflow tipidir. Üç tipik senaryo:

  • Mikroservis ağı + senior platform ekibi: Garden tercih edilir. Garden config DSL ekibe öğrenme yükü getirir ama hibrit Helm + Docker Compose pattern’leri tek dilde toplar. Bir e-ticaret müşterimizde 142 servislik portföyde Garden ile preview env spin-up 4.7 dk, success rate %96.
  • Junior takım + low-friction istek: Bunnyshell. Vendor-managed control plane öğrenme yükünü düşürür, PR comment’inde otomatik preview URL doğar. 28 servislik bir SaaS startup’ta 2 hafta içinde tam adoption raporlandı.
  • Backend dev’lerin yerel laptop’ta cluster gibi davranma ihtiyacı: Okteto. okteto up ile local kod değişiklikleri remote cluster’a 200 ms latency ile sync olur, hot-reload preview env içinde çalışır.

İlgili konu: GitOps multi-tenant pattern’leri

Implementation Pattern: PR Açıldığında Spin-Up

Standart workflow şudur: developer feature branch push → GitHub Actions / GitLab CI ephemeral env spin-up tetikler → preview URL PR comment’ine yazılır → QA + product manager test eder → PR merge / close olduğunda env teardown otomatik. Garden’da bu akış garden deploy --env=preview-${PR_NUMBER} ile, Bunnyshell’de “ephemeral environment” CRD ile, Okteto’da okteto pipeline deploy --branch=$BRANCH ile yapılır. Teardown TTL bazlıdır (default 24-72 saat) veya PR close webhook’unda tetiklenir.

Bir SaaS müşterimizde 47 mikroservislik portföye Garden rollout 6 hafta sürdü. Sonuçlar: ortalama PR review süresi 6.2 saatten 1.8 saate düştü, staging environment bottleneck’i ortadan kalktı (ekipler artık staging’i paylaşmıyor), deployment failure rate %4.7’den %1.2’ye geriledi. AWS EKS Karpenter ile preview namespace scale-up otomatik; gece saatlerinde tüm preview env’ler scale-to-zero ile maliyet %62 azaldı. Detay için Garden docs, Okteto docs ve Bunnyshell docs.

Ephemeral Environments 2026: Garden, Bunnyshell, Okteto Preview Deployment - görsel 2
Ephemeral Environments 2026: Garden, Bunnyshell, Okteto Preview Deployment - görsel 2

Operasyon, Maliyet, İzleme

Ephemeral env operasyonunun en kritik metriği “cost per env per hour” ve “spin-up time p95”. Bunlar tutturulamazsa adoption düşer, ekipler manuel “test on local” pattern’ine geri döner. Aşağıdaki tablo 2026 baseline’larını özetler.

Metrik İyi Eşik Uyarı Eşik Tipik Tetikleyici SLO Hedefi
Spin-up time p95 < 5 dk 5-10 dk Image pull, DB seed < 4 dk
Cost per env per gün < 1.5 USD 1.5-3 USD Resource over-provision < 1 USD
Teardown success rate > %99 %95-99 Stuck namespace, finalizer %99.9
PR’a preview URL post latency < 3 dk 3-6 dk Webhook timeout < 2 dk
Cluster namespace sayısı limit < 1.500 1.500-2.500 kube-apiserver etcd < 1.000
Stale env (24h+) oranı < %5 %5-15 TTL policy yok < %2

Stateful component (PostgreSQL, MongoDB) preview env’lerinde “snapshot copy” pattern’i tercih edilir; her PR için fresh DB seed maliyetli, snapshot 30-60 sn’de hazır. Kubernetes Volume Snapshots referansdır.

Sektörel Use Case: SaaS, Fintech, Media

Türkiye’de bir B2B SaaS şirketinde 92 servislik portföye Okteto + Karpenter pattern’i 8 haftada deployment failure rate’i %4.1’den %0.9’a indirdi. Bir ödeme şirketinde PCI DSS 4.0 uyumu için preview env’ler tamamen izole VPC’de, dummy data ile çalışıyor; her env’in TTL’i 48 saat. Bir medya şirketinde news desk feature branch testleri için Bunnyshell tercih edildi, editorial team teknik ekipten bağımsız PR review yapabiliyor. Gartner DevOps Hype Cycle 2025 preview deployment’ı “early mainstream” pozisyonunda gösterdi.

İlgili konu: Preview env’ler için resource right-sizing

Ephemeral Environments 2026: Garden, Bunnyshell, Okteto Preview Deployment - görsel 3
Ephemeral Environments 2026: Garden, Bunnyshell, Okteto Preview Deployment - görsel 3

Kurumsal Ephemeral Environment Dönüşümünde Karşılaşılan Tipik Sorunlar

Danışmanlık projelerinde gözlemlenen tipik darboğazlar:

  • Stateful service’ler için snapshot copy pattern’i kurulmamış, her PR için fresh seed dakikalarca sürüyor; spin-up time p95 12 dk’ya çıkıyor, ekip preview env kullanmayı bırakıyor.
  • TTL policy tanımsız; PR merge olduktan sonra env namespace orphan kalıyor, cluster’da 800-1.200 stale namespace birikiyor, etcd performans düşüyor.
  • Karpenter / Cluster Autoscaler yapılandırması preview env workload’larını “spot-tolerant” olarak işaretlemediği için maliyet 3x artıyor; preview env’ler gerçekten spot için ideal workload tipi.
  • Preview URL’leri public DNS’e yazıldığı için credential bilgileri leak oluyor; basic auth + Cloudflare Access pattern’i kurulmadan açılıyor.
  • RBAC’da preview namespace’ler için ServiceAccount permission’ları production ile aynı; secret leak veya privilege escalation riski oluşuyor.
  • Garden / Bunnyshell config dosyaları her ekip kendi yazıyor; standart template library yok, drift birikiyor, platform ekip her hafta yangın söndürüyor.

Sonuç

Ephemeral environment 2026’da modern engineering velocity’nin altyapı şartıdır. Garden senior platform ekibi + heterojen workload için, Bunnyshell low-friction adoption için, Okteto developer experience odaklı backend ekipleri için ideal. Üçü de PR per env modelini farklı maliyetle sunar. Pratik plan: önce 8-12 servislik dar bir scope’ta PoC, ardından TTL + maliyet izleme + RBAC isolation üçlüsünü kurarak production’a yayılma. Critical success kriteri spin-up p95 <5 dk, cost per env per gün <1.5 USD, teardown success >%99. Karpenter + spot instance kombinasyonu maliyeti %60+ düşürür. Snapshot copy pattern’i stateful component’ler için zorunludur. Bu üç eksende kademeli rollout yapan ekipler PR review süresinde 4x kazanç, deployment failure rate’de %50+ azalma görür. 2026 sonunda preview deployment artık opsiyonel değil, sahip olunması gereken bir engineering standart.

Sıkça Sorulan Sorular

Ephemeral environment ile staging environment arasındaki fark nedir?

Staging tek, paylaşımlı, kalıcıdır; ephemeral environment her PR için ayrı, izole, kısa ömürlüdür. Atlassian DevEx Pulse 2025’e göre staging-only kurumlarda PR review süresi ortalama 5.7 saat, ephemeral env kullananlarda 1.4 saat. Ephemeral env staging’i ortadan kaldırmaz ama “feature test” katmanını öne çeker.

Garden ve Okteto arasında nasıl seçim yapılır?

Garden CI-driven, config-first yaklaşım; Okteto developer-driven, sync-first yaklaşım. Backend developer’ı yerel kod değişikliklerini cluster’a anlık sync edip iterate etmek istiyorsa Okteto. Platform ekip merkezi config ile tüm ekiplere standart sunmak istiyorsa Garden. Bir e-ticaret müşterimizde her iki ürün de farklı ekiplerde aynı anda kullanılıyor.

Stateful component (DB) preview env’de nasıl yönetilir?

Snapshot copy pattern’i standart. Her PR için fresh seed yerine, baseline DB snapshot’ından clone alınır (volumeSnapshotClass + restore). PostgreSQL 16’da snapshot restore tipik 30-60 sn. Production data değil, anonimized/dummy data tercih edilir; GDPR + PCI DSS 4.0 uyumu için zorunlu.

Preview env maliyeti nasıl optimize edilir?

Karpenter + spot instance + TTL policy üçlüsü. Karpenter spot-tolerant preview workload’larını otomatik spot node’a yerleştirir, maliyet %60-70 düşer. TTL policy 48-72 saat default, PR close webhook’unda erken teardown tetiklenir. Cluster Autoscaler ile gece scale-to-zero, gündüz spin-up pattern’i ek %30 tasarruf sağlar.

Ephemeral env güvenlik açısından staging’den farklı yönetilmeli mi?

Evet. Preview env’ler production data içermemeli, public DNS’e açık olmamalı, Cloudflare Access / OAuth proxy ile sınırlı kullanıcıya erişim verilmeli, ServiceAccount RBAC scope’u production’dan daha kısıtlı olmalı. Bir bankada preview env’lere VPN + RBAC RoleBinding + audit log kombinasyonu uygulanıyor.

Ömer ÖNAL

Yazılım Mimarı | Yapay Zeka LLC. Ölçeklenebilir SaaS, .NET Core altyapıları ve Otonom AI süreçleri inşa ediyorum. Kod değil, sistem tasarlarım.

Yorum (1)

  1. Ömer Önal
    Mayıs 23, 2026

    Ephemeral environment’ı ‘her PR için ayrı staging’ diye düşünmek eksik kalıyor; gerçek değer staging environment bottleneck’ini ortadan kaldırması. Bir SaaS müşterimizde 47 mikroservis Garden + Karpenter pattern’ine geçince PR review süresi 6.2 saatten 1.8 saate düştü, deployment failure %4.7’den %1.2’ye geriledi. En sık hata snapshot copy pattern’i kurmamak; her PR fresh DB seed bekleyince spin-up time 12 dk’ya çıkıyor, ekip preview env kullanmayı bırakıyor. TTL policy ve Cloudflare Access başlangıçtan kurulmalı.

Yorum Yap

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir