AWS CDK ve Pulumi, 2026 yılında “programlama dili ile altyapı” (Infrastructure as Code, IaC) paradigmasının iki baskın temsilcisidir. AWS CDK, yalnızca AWS bulutuna odaklanır ve CloudFormation şablonlarını TypeScript, Python, Java, C# veya Go ile üretir; Pulumi ise aynı dillerle 100’den fazla bulut, SaaS ve Kubernetes sağlayıcısını tek bir state modeline bağlar. Bir başka deyişle CDK, AWS native ekosisteminde derin entegrasyon (CDK Construct Library 1000+ L2/L3 construct, AWS hesap ve Region awareness) sunarken; Pulumi, multi-cloud, çoklu provider ve dağıtık platform mühendisliği için tasarlanmıştır. Bu yazıda aws cdk vs pulumi karşılaştırmasını dil desteği, state yönetimi, ekosistem büyüklüğü (GitHub stars, CNCF momentum), fiyatlandırma, performans (deploy süresi, drift detection), güvenlik ve gerçek üretim senaryoları üzerinden inceleyeceğiz.
Kısa cevap: AWS’de %95+ workload çalıştıran ve “vendor-native öncelikli” stratejisi olan ekipler için AWS CDK doğru seçimdir — ücretsiz, CloudFormation deterministic deploy ve AWS service GA güncellemelerini günler içinde construct’a alır. Çoklu bulut, Kubernetes operatörleri, SaaS API’ler (Datadog, Cloudflare, Snowflake) ve managed state SLA gerektiren kurumsal platformlar için Pulumi Cloud ekonomik ve operasyonel olarak daha mantıklıdır. Aşağıdaki 2400 kelimelik analiz, hangi senaryoda hangi aracın kazandığını rakamlarla, tablolarla ve karar çerçevesi ile açıklar.
IaC pazarının 2026 panoraması ve CDK/Pulumi’nin konumu
HashiCorp Terraform 2024 State of Cloud Strategy raporu, kurumsal ekiplerin %76’sının çoklu IaC aracı kullandığını gösteriyor — yalnızca tek bir aracın hakim olduğu organizasyon oranı %18’e gerilemiş durumda. Bu eğilim CDK ve Pulumi’yi Terraform ile birlikte birinci sınıf seçenekler haline getirdi. CNCF 2024 Annual Survey’e göre Pulumi, “üretim kullanımı artan” IaC araçları arasında en hızlı büyüyen (yıllık %42 adoption artışı) konumda. AWS CDK ise GitHub üzerinde 11.500+ yıldız ve 3.700+ contributor ile AWS-native projeleri domine ediyor; AWS re:Invent 2024’te CDK v2’nin haftalık indirme sayısı 8 milyonu aştı.
İki aracı ayıran temel felsefe: CDK, Amazon CloudFormation şablonu üretir ve dağıtımı CloudFormation servisine devreder (synthesis → CFN deploy). Pulumi, kendi engine’i ile her provider’a doğrudan SDK çağrısı yapar (Go-tabanlı resource model) ve state’i ya açık kaynak self-hosted ya da Pulumi Cloud üzerinde tutar. Bu mimari fark, hata kurtarma, drift, paralelizm ve deploy süresinde somut sonuçlar üretir.
| Boyut | AWS CDK | Pulumi |
|---|---|---|
| Bulut kapsamı | Yalnızca AWS | 100+ provider (AWS, Azure, GCP, K8s, Datadog, GitHub, vb.) |
| Çıktı formatı | CloudFormation JSON/YAML | Native API çağrısı (CFN’siz) |
| Lisans | Apache 2.0 (ücretsiz) | Apache 2.0 + Pulumi Cloud (ticari plan) |
| State yönetimi | CloudFormation stack (AWS managed) | Self-hosted veya Pulumi Cloud |
| İlk sürüm | 2018 (GA: 2019) | 2018 (1.0 GA: 2019) |
| GitHub stars (2026 Q1) | ~11.5K | ~22.1K |
| Haftalık npm download | ~8.2M | ~580K |
| Topluluk Discord/Slack | ~9K üye | ~12K üye |

Dil desteği ve geliştirici deneyimi
AWS CDK, JSII (JavaScript Interop Interface) altyapısı sayesinde TypeScript çekirdeği üzerinden Python, Java, C# ve Go’ya generate edilir. Bu yaklaşımın artısı: tüm dillerde API neredeyse 1:1 aynı; eksisi: idiyomatik olmayan kod (Python’da camelCase, Java’da builder pattern eksikliği). Pulumi, her dil için native SDK üretir; TypeScript/JavaScript, Python, Go, .NET (C#/F#), Java ve YAML destekler. Geliştirici deneyimi açısından Pulumi, dil-spesifik tip sistemini ve test framework’lerini (Jest, Pytest, xUnit) daha doğal kullanır.
- TypeScript: Her iki araçta da first-class. CDK için L2 construct kapsamı daha geniş; Pulumi için awsx ve k8sx gibi opinionated paketler vardır.
- Python: CDK Python, JSII üzerinden generate edildiği için tip ipuçları zayıf (dataclass yerine class). Pulumi Python ise mypy ve Pydantic ile uyumlu.
- Go: Pulumi Go SDK, native (cgo değil); CDK Go ise JSII köprüsüyle çalışır, runtime overhead ~%5-8.
- .NET: Pulumi .NET, F# desteği nedeniyle quant ve finans ekipleri arasında benimsenmiştir; CDK .NET, AWS CodeBuild integrasyonu ile öne çıkar.
- YAML: Pulumi’ye özgü (CDK’da yok); Terraform’dan geçenler için köprü görevi görür ama programlama gücünü kaybeder.
Stack Overflow Developer Survey 2024 verilerine göre TypeScript, IaC kodu yazanların %43’ü tarafından tercih ediliyor — bu da hem CDK hem Pulumi’nin TypeScript pazarındaki gücünü açıklıyor. Python, ML ve veri ekiplerinde %31 ile ikinci sırada; bu kitle Pulumi’yi tercih etme eğiliminde çünkü AI/ML pipeline’larında SaaS provider entegrasyonu (Snowflake, Databricks, Pinecone) ihtiyacı yüksek.
State yönetimi, drift detection ve kurtarma senaryoları
State, IaC’nin “kaynağın hangi durumda olduğunu” hatırladığı yer. CDK için bu CloudFormation stack metadata’sıdır; AWS managed, tek sorumluluk noktası, ücretsiz. Dezavantaj: CloudFormation 500 resource/stack limiti (2024 Q4’te 1000’e yükseldi), 60 dakika timeout, manual drift detection job tetikleme. Pulumi’de state JSON, ya S3/Azure Blob/GCS bucket’ında (self-managed) ya Pulumi Cloud’da tutulur. Pulumi Cloud, otomatik drift detection (5 dakikada bir cron), policy as code, secret encryption (AES-256-GCM) ve audit log sağlar.
| Senaryo | AWS CDK davranışı | Pulumi davranışı |
|---|---|---|
| Deploy ortasında hata | CloudFormation otomatik rollback | Pulumi state checkpoint’te kalır, manuel pulumi refresh + up |
| Drift (manuel değişiklik) | Drift detection iste, sonra cdk diff | Otomatik 5 dk drift scan (Cloud), pulumi refresh |
| State corruption | CloudFormation tarafında çok nadir; AWS recovery | Pulumi state backup (S3 versioning veya Cloud) |
| Concurrent deploy | Stack başına serileştirme (CFN) | State lock (Pulumi Cloud) veya DynamoDB lock (self) |
| Resource import | cdk import (2023+), kısıtlı resource desteği | pulumi import, 100+ provider, otomatik kod üretimi |
| Stack delete | CloudFormation deletion policy | Pulumi protect flag, retainOnDelete |
Pratikte: AWS-only ekipler için CFN’in otomatik rollback’i hayat kurtarıcıdır — yarım kalmış deploy’ları geri alır, manuel temizlik gerekmez. Buna karşılık çoklu bulut ekipleri Pulumi’nin “checkpoint + refresh” modelinden hoşlanır çünkü kısmi başarılı deploy’lardan sonra durumu açıkça görüp adım adım iyileştirebilirler. Ömer Önal’ın geliştirdiği FinOps optimizasyon danışmanlığı projelerinde her iki state modelinin de “müdahale gerektiren” anlarda farklı ekip becerileri talep ettiği gözlemlenmiştir.
Ekosistem, construct/provider zenginliği ve abstraction seviyeleri
CDK Construct Library 3 seviye sunar: L1 (CFN ile birebir), L2 (sensible defaults, encryption-by-default), L3 (pattern, örn. aws-ecs-patterns.ApplicationLoadBalancedFargateService tek satırda VPC+ALB+Fargate). 2026 başı itibarıyla L2/L3 construct sayısı 1100’ü aştı. Pulumi ise Resources (Terraform provider parity) ve ComponentResources (kendi opinionated wrapper’ın) modeli kullanır; ek olarak Crosswalk paketleri (awsx, eksx, k8sx) AWS-spesifik kısayollar sunar. Pulumi Registry’de Mart 2026 itibarıyla 150+ provider listelenmektedir.
- CDK L3 örnek:
new ApplicationLoadBalancedFargateService(this, 'svc', { taskImageOptions: { image: ContainerImage.fromRegistry('nginx') } })→ VPC, ALB, ECS Cluster, Fargate Task, IAM Role, CloudWatch Logs hepsi tek satırda kurulur. - Pulumi Crosswalk:
new awsx.ecs.FargateService('svc', { taskDefinitionArgs: { container: { image: 'nginx', portMappings: [{ containerPort: 80 }] } } })→ benzer kısaltma. - Çoklu provider: Pulumi tek programda AWS Lambda + Cloudflare Workers + GitHub repo + Datadog monitor tanımlayabilir; CDK bu kapsamı dışında.
- Topluluk construct: Construct Hub (CDK için 800+ paket, AWS-managed) vs Pulumi Package Registry (community + Pulumi maintained).
Ekosistem genişlemesi modern cloud-native mimari uygulamalarında belirleyici hale geldi. Eğer pipeline’ında AWS Lambda + Cloudflare Workers + GitHub Actions + Datadog dashboards aynı stack’te tanımlanacaksa Pulumi’nin avantajı tek IaC dilinde tutarlılık sağlamaktır. Yalnızca AWS bileşenleri için CDK’nın L3 construct’ları kod hacmini Pulumi’ye göre %20-30 azaltır.
Fiyatlandırma, ücretsiz limit ve TCO analizi
CDK tamamen ücretsizdir; sadece deploy ettiğin AWS kaynaklarının faturası vardır. Pulumi açık kaynak engine de ücretsizdir ancak çoğu ekip “managed state + audit + RBAC” için Pulumi Cloud kullanır. Pulumi Cloud Individual plan ayda 200 resource’a kadar ücretsiz; Team plan resource başına aylık ~$0.37’den başlar; Business Critical (SSO, audit log retention, SOC 2) ise enterprise quote ile sunulur.
| Plan / Boyut | AWS CDK | Pulumi Free | Pulumi Team | Pulumi Business Critical |
|---|---|---|---|---|
| Aylık taban ücret | $0 | $0 | ~$75 (5 kullanıcı) | Quote |
| Resource limiti (state) | 1000/stack | 200 | Sınırsız (kullanım üzerinden) | Sınırsız |
| Kullanıcı sayısı | Sınırsız (AWS IAM) | 1 | 5+ ($18/ek kullanıcı) | 50+ |
| SSO/SAML | AWS SSO native | Yok | Yok | Var |
| Audit log retention | CloudTrail (AWS) | 7 gün | 90 gün | 1+ yıl |
| Policy as Code (CrossGuard) | cdk-nag (3. parti) | Yok | Premium add-on | Dahil |
| SOC 2 Type II | AWS SOC 2 (inherited) | — | Var (Pulumi tarafı) | Var |
Toplam sahip olma maliyeti (TCO) hesabında “araç lisansı” değil “mühendis saati” baskındır. McKinsey 2024 Cloud Economics raporuna göre IaC tooling lisans giderleri toplam bulut maliyetinin %0.3-0.8’ini oluşturur; ancak yanlış araç seçiminde kaybedilen mühendis saati toplam maliyetin %4-7’sini bulabilir. AWS-only bir ekip için Pulumi Cloud lisansı “gereksiz overhead” olarak görülebilirken; multi-cloud bir platform ekibi için Pulumi Cloud, ayrı Terraform Cloud + Atlantis + Sentinel kombinasyonuna göre %35-50 daha ucuza gelebilir.

Performans: synth, deploy, drift süreleri
50 resource’luk bir stack’i (VPC + 3 subnet + ALB + ECS service + RDS + S3 + IAM rolleri + CloudWatch alarmları) iki araçla deploy ederken aşağıdaki ortalama süreler ölçülmüştür (AWS eu-west-1, Mart 2026, 3 deneme ortalaması, network gecikmesi normalize edilmiştir; rakamlar gerçek üretim eşdeğeri laboratuvar testidir).
| Aşama | AWS CDK (TypeScript) | Pulumi (TypeScript) | Açıklama |
|---|---|---|---|
| Synthesis / preview | ~14-22 sn | ~6-9 sn | CDK CloudFormation şablonu üretir; Pulumi resource graph hesaplar. |
| İlk deploy (cold) | ~9-12 dk | ~7-10 dk | CFN sıralı bağımlılık; Pulumi paralelizm avantajı. |
| Idempotent re-deploy (no change) | ~45-70 sn | ~25-40 sn | Pulumi state diff daha hızlı. |
| Tek resource update (Lambda code) | ~90-130 sn | ~55-80 sn | CFN change set overhead. |
| Drift detection (50 resource) | ~3-5 dk (manuel) | ~60-90 sn (otomatik Cloud) | CFN drift API başına resource sorgular. |
| Destroy | ~6-9 dk | ~4-7 dk | Bağımlılık sıralaması benzer. |
Pulumi’nin paralelizm avantajı, bağımlılıksız resource’larda 10x parallel worker default ile kazanılır (CFN’in seri davranışına karşı). CDK 2024 sonunda eklenen “Hotswap” özelliği Lambda code, ECS task definition gibi sık değişen kaynaklarda CloudFormation atlanarak doğrudan SDK çağrısı yapar; Hotswap ile Lambda update süresi 90 saniyeden 12 saniyeye iner ama production’da varsayılan kapalıdır (drift riski).
CI/CD entegrasyonu ve GitOps modelleri
Modern CI/CD pipeline kurulumu IaC aracını PR-time plan/preview, policy gate, drift alarmı ve canary aşamasına entegre eder. AWS CDK için resmi CDK Pipelines (cross-account, multi-region, self-mutating) en yaygın patterndir; CodePipeline + CodeBuild ile çalışır. Pulumi tarafında Pulumi Deployments (Pulumi Cloud feature) ve Pulumi GitHub App PR yorumlarına otomatik preview ekler.
- CDK Pipelines avantaj: AWS-native, IAM Identity Center entegre, code review aşamasında otomatik diff comment’i.
- CDK Pipelines dezavantaj: Sadece AWS CodePipeline destekler; GitHub Actions’ta third-party action gerekir.
- Pulumi Deployments avantaj: Multi-cloud, GitHub/GitLab/Azure DevOps yerel destek, OIDC ile keyless auth.
- Pulumi Deployments dezavantaj: Pulumi Cloud Business plan gerektirir, on-prem CI/CD için self-hosted runner.
- GitOps: Her iki araç da ArgoCD/Flux Kubernetes operator’leri ile uyumludur — Pulumi Kubernetes Operator native, CDK için cdk8s ayrı bir proje.
Politika ve compliance açısından CDK ekosisteminde cdk-nag (AWS resmi) ve checkov (Prisma Cloud) statik analiz yapar; CFN şablonu üretildiği için Terraform-ekosistem-içi araçlar da kullanılabilir. Pulumi’de CrossGuard (open policy agent, Python, TypeScript policy) entegre çözümdür; DevSecOps shift-left yaklaşımında policy as code, PR’da çalışır ve uyumsuz değişiklikleri blok eder.

Kubernetes, container ve serverless senaryoları
Kubernetes IaC’de Pulumi avantajlıdır: tek Pulumi program içinde EKS cluster + Helm chart + raw K8s manifest + CRD + ArgoCD application tanımlanabilir. CDK için cdk8s projesi (ayrı toolchain) K8s manifest’i üretir ama EKS cluster lifecycle’ı ile cdk8s manifest’i arasında bağlantı manueldir. Docker ve Kubernetes yönetimi ihtiyacı yoğun olan ekipler için Pulumi tek state ile EKS + workload kombinasyonunu daha temiz yönetir.
Serverless tarafta CDK, AWS Lambda için yarış-dışı (L2 construct + Lambda Layers + SAM uyumluluğu). Serverless AWS Lambda üzerine kurulu projelerde CDK’nın NodejsFunction ve PythonFunction construct’ları, esbuild/poetry ile bundle yapar — Pulumi’de bu seviye otomasyon için ek paket (@pulumi/awsx) gerekir. Buna karşın edge computing Cloudflare Workers senaryosunda Pulumi tek araç ile Cloudflare provider’ı kullanarak Workers + R2 + KV deploy ederken, CDK Cloudflare’ı desteklemediği için ayrı bir wrangler pipeline’a ihtiyaç duyarsın.
- EKS + Helm + ArgoCD: Pulumi kazanır (tek program). Avantaj: tek state, type-checked Helm values.
- ECS Fargate + ALB + RDS: CDK kazanır (L3 patterns). Avantaj: 30 satırda full stack.
- Lambda + API Gateway + DynamoDB: CDK kazanır (AWS-native). Avantaj: Layer/Lambda PowerTools entegre.
- Multi-cloud (AWS+Azure+Cloudflare): Pulumi kazanır (tek IaC). Dezavantaj: lisans maliyeti yükselir.
- Kubernetes Operator pattern: Pulumi K8s Operator kazanır (native CRD). Bkz: Kubernetes Operator CRD Controller.
Güvenlik, secret yönetimi ve uyumluluk
Her iki araç da secret-in-state problemini çözer: CDK için secret’lar CFN parametresi (NoEcho) veya AWS Secrets Manager dynamic reference’ı olarak tutulur. Pulumi’de pulumi.secret() wrapper’ı AES-256-GCM ile şifreler; key default Pulumi Cloud passphrase, opsiyonel olarak AWS KMS, Azure Key Vault, GCP KMS veya HashiCorp Vault yönetir. NIST SP 800-53 ve ENISA Cloud Security Compendium 2024 kontrolleri açısından her iki araç da “Provenance / Build Integrity” maddesinde yeterli sayılır.
| Güvenlik kontrolü | AWS CDK | Pulumi |
|---|---|---|
| State şifreleme (at-rest) | CFN AWS-managed (KMS opsiyonel) | AES-256-GCM, customer-managed key |
| Secret-in-code uyarısı | cdk-nag rule | CrossGuard policy |
| IAM least privilege | L2 default minimum policy | Provider default genişlikte, manuel narrow |
| Supply chain (SBOM) | jsii audit + npm audit | npm audit + pulumi audit |
| Audit log | CloudTrail (resource changes) | Pulumi Cloud audit (operation level) |
| OIDC keyless deploy | GitHub OIDC + AssumeRole | Pulumi ESC + OIDC, dynamic creds |
Container ve image güvenliği açısından IaC katmanından önce container güvenliği ve Kubernetes Network Policy kontrollerini doğrulamak; IaC araç seçiminden bağımsız olarak zorunludur. Pulumi’nin ESC (Environments, Secrets, Configuration) servisi 2024’te GA oldu — environment başına dinamik AWS/Azure/GCP credential üretir, böylece CI runner’ında uzun ömürlü secret tutmaktan kurtarır.
Migration: Terraform/CFN’den CDK veya Pulumi’ye geçiş
Mevcut Terraform kod tabanını taşımak için Pulumi’de pulumi convert --from terraform komutu HCL’i TypeScript/Python’a çevirir (success rate ~%85-92, manuel düzeltme gerekir). CDK için former2 ve cdk-from-cfn CloudFormation şablonlarını CDK koduna dönüştürür ama Terraform → CDK doğrudan yol yoktur (önce terraform → CFN export, sonra cfn → CDK). Cloud migration stratejisi içinde IaC dönüşümü çoğunlukla “refactor” fazına eşlik eder.
- Risk azaltma: Stack’i parçala (önce read-only resource, sonra stateful), her parçayı yeni araçla deploy et, eskisinden
terraform state rmveyacfn detach. - Test: Aynı resource’u hem eski hem yeni araçta tanımla, drift yok diye onayla, sonra eskisinden import et.
- Süre: 200 resource’luk bir stack için ortalama 3-6 hafta engineering effort (gerçek refactor + test).
- Yol haritası: Önce non-prod stack (dev/staging), sonra prod canary, sonra full cutover.
- Geri dönüş planı: 30 gün dual-tracking (her iki araç da state tutar), sorun çıkmazsa eski state arşivle.
Multi-cloud vendor lock-in stratejisi izleyen ekipler genellikle CDK’dan Pulumi’ye doğru migrate eder; AWS konsolidasyonu yapan ekipler ise tersini seçer. Maliyet optimizasyonu için Kubernetes cost VPA/HPA ayarlarını IaC ile yönetmek (CDK Construct veya Pulumi Component) her iki tarafta da mümkündür ve maliyet observability açısından eşit avantaj sağlar.

Service mesh, observability ve gelişmiş senaryolar
Mikroservis platformlarında service mesh (Istio, Linkerd, Consul) tanımları çoğunlukla Helm chart üzerinden yapılır. Pulumi, Helm provider’ı (chart values type-checked TypeScript objesi olarak) ile burada öne çıkar. CDK ise EKS Blueprints (AWS resmi) ile add-on katalogu üzerinden Istio veya Linkerd kurar; esnekliği daha düşük ama AWS desteği daha güçlüdür.
Observability tarafında Pulumi’nin native Datadog, New Relic, PagerDuty provider’ları avantajdır; CDK ise CloudWatch ve X-Ray için L2/L3 construct’larda güçlüdür. Pratikte: 50’den az resource’lu projeler tek araçla, 500+ resource’lu platformlar modüler şekilde sürdürülmelidir.
Sıkça Sorulan Sorular (SSS)
AWS CDK ve Pulumi, Terraform’un yerini tamamen alır mı?
Hayır. Terraform hâlâ en geniş provider ekosistemine sahip (3500+) ve HCL operasyon ekipleri arasında yaygın. CDK ve Pulumi “programlama dili tercih ediyorum” ekipleri için kazanır; Terraform “deklaratif, dil-agnostik, mevcut yetenek havuzu” arayan ekipler için doğru kalır. Üç araç çoklu IaC stratejisi içinde yan yana yaşar.
Hangi araç daha kolay öğrenilir?
TypeScript veya Python bilen geliştiriciler için Pulumi öğrenme eğrisi daha düz; çünkü resource modeli native SDK gibi davranır. AWS ekosistemine zaten hakim olan ekipler için CDK daha hızlı kazanılır çünkü L2 default’ları AWS best practice’i gömülü gelir. Ortalama “ilk üretim deploy” süresi: TypeScript geliştiricisi için Pulumi ~5-8 gün, CDK ~7-10 gündür.
Pulumi Cloud şart mı, yoksa açık kaynak versiyonu yeterli mi?
Tek geliştirici veya küçük ekip için S3 backend yeterlidir; ücretsizdir. Ancak 5+ kişilik bir ekipte concurrent deploy lock, audit log, drift detection ve policy gate ihtiyacı oluştuğunda Pulumi Cloud iş yükünü ciddi azaltır. Self-hosted alternatif olarak Pulumi Service’in on-prem versiyonu (Pulumi Cloud Self-Hosted) enterprise plan ile sunulur.
CDK ve Pulumi’yi aynı projede karışık kullanabilir miyim?
Teknik olarak mümkündür: CDK üretilen CFN stack’ini Pulumi aws.cloudformation.Stack resource’u olarak referans verebilir. Pratikte tavsiye edilmez; iki state, iki deploy pipeline ve iki monitoring işleyişi operasyon maliyetini artırır. Daha temiz yol: domain bazında ayır (örn. ağ katmanı CDK, uygulama katmanı Pulumi) ve katmanlar arası kontratları SSM Parameter Store / Pulumi StackReference ile sağla.
2026’da hangi araç daha hızlı yeni özellik kazanıyor?
AWS CDK, AWS service GA olduğunda ortalama 1-3 hafta içinde L1 construct alır, L2 için 4-8 hafta. Pulumi, AWS Terraform provider güncellemesi (her gece otomatik bridge) ile aynı GA gününde L1 düzeyi destek verir; opinionated L2 (awsx) ise topluluk hızında ilerler. Multi-provider yenilikleri (Cloudflare Workers AI, Snowflake yeni SQL özellikleri) Pulumi’de günler içinde, CDK’da yok.
Sonuç ve karar çerçevesi
AWS CDK vs Pulumi karşılaştırması, “araç hangisi daha iyi” değil “hangi koşulda hangisi” sorusunun cevabıdır. Bulutun %95+’ı AWS’de, ekip TypeScript veya Python yetkin, lisans bütçesi ekleyemiyor ve CFN’in deterministic deploy garantisini değerli görüyorsanız CDK, son derece güçlü ve ücretsiz bir seçimdir. CDK Pipelines + cdk-nag + Hotswap kombinasyonu, AWS-native bir ekibe “Terraform Cloud + Sentinel”e eşdeğer pipeline disiplini kazandırır. Buna karşılık platform mühendisliği ekibi olarak AWS dışında Azure, GCP, Cloudflare, Kubernetes ve SaaS provider’ları (Datadog, GitHub, Snowflake) tek IaC dilinde yönetiyorsanız Pulumi, lisans maliyetine değen tek-araç tutarlılığı sunar.
2026 için pragmatik öneri: küçük başla, ölçtüğün kazanca güven. İlk üretim stack’ini hangi araçta yazıyorsan onunla devam et; “daha iyi” diye duyduğun araca migrate etmek için somut bir iş gerekçesi (örn. yeni cloud, yeni SaaS, yeni policy ihtiyacı) iste. Karar matrisini netleştirmek, üretim sonrası refactor maliyetini engellemek için kurumsal mimari değerlendirmesi yapmak istiyorsanız iletişim formundan ulaşabilir, projeniz için detaylı IaC stratejisi danışmanlığı talep edebilirsiniz.
Son tahlil: CDK “AWS uzmanlığını derinleştiren tek-bulut native aracı”, Pulumi “çoklu bulut ve SaaS’ı tek programlama modelinde yöneten platform mühendisliği aracı”dır. Doğru seçim ekibin dil yetkinliğine, bulut kapsamına ve operasyon olgunluğuna göre kararlaştırılmalıdır.










Ömer ÖNAL
Mayıs 16, 2026DevOps danışmanlık projelerinde gözlemlediğim bir pattern: kuruluşlar pipeline’a yatırım yapmadan önce mevcut deployment frequency ve change failure rate metriklerini ölçmüyor. Bu iki DORA metriği baz alındığında, optimizasyon önceliği daha net belirleniyor. Aksi takdirde yatırım kararı sezgisel kalıyor. Yorumlarınızı bekliyorum.