Kubernetes native IaC, 2026 itibarıyla platform mühendisliği ekiplerinin yeni standardı haline geldi. CNCF’in 2025 yıllık anketine göre kurumsal Kubernetes kullanıcılarının %41’i artık altyapı sağlama için en az bir control plane tabanlı araç işletiyor ve Crossplane, 2024’te CNCF Incubating statüsünden Graduated statüye geçti. Aynı dönemde HashiCorp’un IBM tarafından satın alınması ve Terraform’un BUSL lisansına geçmesi, ekosistemde lisans belirsizliği yarattı; OpenTofu çatalı GitHub’da 1 yılda 24.000’den fazla yıldız toplayarak Linux Foundation’ın en hızlı büyüyen projelerinden biri haline geldi. Upbound’un 2025 yıllık raporuna göre Fortune 1000 şirketlerinin %28’i artık Crossplane veya benzeri Kubernetes native bir control plane’i üretimde işletiyor. Bu rehber, Crossplane ile Terraform/OpenTofu’yu mimari, kontrol modeli, drift yönetimi, ekosistem ve toplam sahip olma maliyeti açısından 2026 perspektifinden karşılaştırır; ekibinizin Kubernetes olgunluğu, çoklu bulut stratejisi ve self-service ihtiyaçlarına göre doğru kararı vermenize yardımcı olur.
Bu rehberde Crossplane’in control plane mimarisini, composition kalıbını (XR + XRC + Composition Function), Terraform/OpenTofu’nun state-based yaşam döngüsünü, drift yönetim stratejilerini, GitOps entegrasyonunu, çoklu bulut senaryolarını, paket ekosistemini, güvenlik ve politika katmanlarını, ekip ergonomisini, üç yıllık TCO modellemesini ve Terraform’dan Crossplane’e aşamalı geçiş yol haritasını ele alıyoruz. Karar matrisine geçmeden önce iki yaklaşımın temel felsefe ayrımını netleştirelim.

Crossplane: Kubernetes Native Control Plane Mimarisi
Crossplane, Kubernetes API’sini genişleterek bulut kaynaklarını Custom Resource Definition (CRD) olarak modelleyen bir control plane çatısıdır. Reconciler döngüsü, deklare edilen istenen durum ile gerçek bulut durumunu sürekli karşılaştırır ve farkı (drift) otomatik giderir. CNCF’in Kasım 2025 raporuna göre Crossplane operatörü ortalama 8 saniyede drift’i otomatik düzeltir; Terraform’un manuel apply döngüsünde bu süre dakikalardan saatlere kadar uzayabilir. Crossplane v1.18 ile birlikte gelen Composition Functions, declarative composition mantığını Go, Python veya KCL gibi dillerde yazılmış pipeline fonksiyonlarıyla genişletme imkanı sundu.
- Composition: Yeniden kullanılabilir kaynak şablonları, platform ekibinin “altın paketler” üretmesini sağlar; bir Composition tek bir XR claim’ine karşılık 30+ alt kaynak oluşturabilir.
- Provider: AWS (300+ resource), Azure, GCP, OCI, DigitalOcean ve 75+ SaaS için resmi provider’lar; her provider Terraform Provider Bridge ile de üretilebilir.
- Sürekli uzlaşma: Drift dakika başı tespit edilir ve
managementPoliciesile politika tabanlı geri alınır. - GitOps doğal uyumu: ArgoCD ve Flux ile YAML kaynakları doğrudan dağıtılır; state dosyası yoktur, Kubernetes etcd’si tek doğruluk kaynağıdır.
- Composition Functions: v1.18+ ile pipeline tabanlı, programatik composition; Go SDK, Python SDK ve KCL desteği üretim hazır.
Terraform ve OpenTofu: Plan-Apply Döngüsü
Terraform, deklaratif HCL diliyle yazılan plan-apply döngüsünü kullanır. State dosyası, kaynak durumunu lokal veya uzak backend’de (S3 + DynamoDB lock, Azure Blob, GCS, Terraform Cloud) tutar. HashiCorp’un 2025 State of Cloud Strategy raporuna göre Terraform tabanlı pipeline’ların %62’si CI içinde apply çalıştırır ve drift tespiti için terraform plan nightly tetiklenir. HashiCorp’un Ağustos 2023’te MPL 2.0’dan BUSL 1.1’e geçişi sonrası Linux Foundation çatısında doğan OpenTofu projesi, 1.8 sürümüyle erken değişken değerlendirme, dinamik provider iterasyonu ve -exclude bayrağı gibi Terraform’da bulunmayan özellikler ekledi. Pulumi ise CDK-benzeri genel amaçlı programlama dilleri (TypeScript, Python, Go, .NET, Java) ile aynı bulut altyapısını yazmanın bir başka yolunu sunar.

Crossplane vs Terraform vs Pulumi: Üçlü Karşılaştırma
Üç aracı tek matriste değerlendirmek, karar süreci için en sağlam temeli verir. Aşağıdaki tablo 2026 itibarıyla üretim olgunluğunu, ekosistem genişliğini ve operasyon modelini özetler.
| Kriter | Crossplane | Terraform / OpenTofu | Pulumi |
|---|---|---|---|
| Mimari | Control plane, sürekli reconcile | CLI, plan-apply döngüsü | CLI + state servisi |
| Drift tespiti | Otomatik, ortalama 8 saniye | Manuel veya nightly plan | Manuel pulumi refresh |
| Dil | YAML + CRD + Composition Function (Go/Python/KCL) | HCL | TypeScript, Python, Go, .NET, Java |
| State yönetimi | Kubernetes etcd | S3 + DynamoDB, TF Cloud, OpenTofu state | Pulumi Cloud, S3, self-hosted |
| Öğrenme eğrisi | K8s bilgisi gerektirir | Düşük, geniş topluluk | Genel programlama bilgisi yeterli |
| Ekosistem (provider) | ~75 resmi + Terraform Bridge | 3.500+ provider | 150+ provider |
| Lisans | Apache 2.0 | BUSL 1.1 / MPL 2.0 (OpenTofu) | Apache 2.0 |
| CNCF statüsü | Graduated (2024) | Yok | Yok |
| Self-service portal uyumu | Yüksek (Backstage native) | Orta (Spacelift, env0) | Orta (Pulumi Service) |
Declarative vs Imperative: Felsefi Ayrım
Crossplane’in “sürekli reconcile” modeli ile Terraform’un “tek seferlik apply” modeli aynı problemin iki ayrı çözüm felsefesidir. Birinci felsefede sistem, hedef durumdan saptığında otomatik geri döner; ikincide insan veya CI pipeline’ı bir tetik gönderene kadar drift sessizce büyür. Pulumi, hem CLI bazlı imperative çağrılar hem de Operator ile Crossplane’e yakın bir hibrit model sunar ancak varsayılan deneyim Terraform’a daha yakındır.
| Boyut | Declarative (Crossplane) | Imperative (Terraform plan-apply) |
|---|---|---|
| Drift davranışı | Otomatik geri al | Manuel müdahale gerekir |
| State kaynağı | Kubernetes API (etcd) | Backend dosyası (S3, vb.) |
| Tetikleme | Sürekli (kontrol döngüsü) | Discrete (CLI/CI) |
| Cam-kırma senaryosu | managementPolicies ile pause | State surgery, target apply |
| Audit log | Kubernetes audit log + events | Backend + CI çıktıları |
| Rollback | Git revert → reconcile | Önceki state’i restore + apply |
Control Plane Mimarisi: XR, XRC ve Composition Function
Crossplane’in özgün katkısı, kaynak soyutlama hiyerarşisidir. Composite Resource (XR), platform ekibinin tasarladığı yüksek seviyeli soyutlama; Composite Resource Claim (XRC), namespace içinde geliştiricilerin yazdığı talep; Composition ise XR’ı somut yönetilen kaynaklara dönüştüren tarif. v1.18+ ile Composition Functions, bu dönüşümü declarative YAML yerine programatik pipeline ile yapma imkanı sundu. Aşağıdaki tablo bu üçlü katmanı Terraform’un modül yapısıyla karşılaştırır.
| Katman | Crossplane | Terraform Karşılığı |
|---|---|---|
| Geliştirici girişi | XRC (Claim) — namespace scope | terraform apply + tfvars |
| Platform soyutlaması | XR + XRD (Definition) | Modül arayüzü (variables.tf) |
| İşletim mantığı | Composition + Function pipeline | Modül kaynak blokları |
| Bağımlılık çözümü | Reconcile graph (paralel) | Resource graph (DAG) |
| Çıktı/parametre | connectionDetails → Secret | output blokları |
| Versiyon yönetimi | Configuration package (OCI) | Module registry, OCI |
| Politika | Kyverno, OPA Gatekeeper | Sentinel, OPA Conftest |
Platform Mühendisliği ve Self-Service Deneyimi
Puppet’ın 2025 DevOps Report raporuna göre platform mühendisliği kuran şirketlerin %58’i geliştiricilere self-service portallar sunmak için Crossplane veya benzeri control plane çözümlerini tercih ediyor. Crossplane’in Composition’ları, “veritabanı isteyen geliştirici yalnızca bir CR yazar, kalanı platform halleder” senaryosunu Backstage Software Catalog ile birlikte mümkün kılar. Terraform tarafında Spacelift, env0, Atlantis veya HCP Terraform gibi yönetim katmanları gerekir; bu da ek SaaS maliyeti ve operasyonel sürtüşme getirir. Pulumi’nin Pulumi Service’i benzer bir yönetilen deneyim sunar ama Backstage entegrasyonu için ek glue kod yazılır.
- Backstage entegrasyonu: Crossplane XRD’leri otomatik olarak Backstage template’lerine dönüştürülebilir; geliştirici formu doldurur, platform CR’ı oluşturur.
- Tek tıkla namespace: Geliştirici bir Project XRC açar; Crossplane otomatik olarak namespace, RBAC, NetworkPolicy, ResourceQuota ve gözlemlenebilirlik altyapısını sağlar.
- Self-service veritabanı: RDS, CloudSQL, Azure SQL Composition’ları parametre olarak boyut/HA/backup penceresi alır, geri kalanı otomatize edilir.
- Politika tabanlı limitler: Kyverno policy ile claim’ler boyut, bölge, etiket ve maliyet bütçesine göre validate edilir.

GitOps Entegrasyonu: ArgoCD ve Flux ile Sürekli Sync
GitOps adoption oranı CNCF 2025 anketinde %76’ya çıktı; bu kullanıcıların %63’ü ArgoCD, %22’si Flux, kalanı OpenGitOps uyumlu başka çözümler kullanıyor. Crossplane bu evrene doğal olarak uyar: kaynaklar Kubernetes CR’ları olduğu için ArgoCD onları diğer manifestler gibi izler, fark gördüğünde yeniden uygular. Terraform tarafında GitOps benzeri pratik için Terraform Atlantis, Spacelift veya HCP Terraform run trigger’ları gerekir; bunlar ek SaaS bağımlılığıdır. Aşağıdaki adımlar Crossplane + ArgoCD ile tipik GitOps akışını özetler.
- Platform ekibi Composition + XRD paketlerini OCI registry’sine push’lar (Configuration package).
- Geliştirici takımının git deposunda XRC manifest dosyaları bulunur; her PR review’dan sonra main’e merge edilir.
- ArgoCD ApplicationSet, depoyu izler ve değişiklikleri yönetim kümesine sync eder.
- Crossplane reconciler, oluşan XRC’yi gözlemler ve XR ile alt kaynakları üretir.
- Provider’lar bulut sağlayıcıya API çağrısı yapar; reconcile döngüsü her dakika tekrar eder.
- Drift, manuel müdahale veya bulut tarafı değişiklik tespit edilirse, Crossplane git’teki istenen duruma geri çeker.
Drift Yönetimi ve Reconcile Stratejileri
Drift, IaC’nin temel zorluklarından biridir; bulut tarafında yapılan elle değişiklikler veya başka aracın müdahalesi kaynak durumunu kod tabanından uzaklaştırır. Forrester’ın Ocak 2026 IaC Risk raporuna göre Terraform kullanıcılarının %47’si yılda en az bir kez büyük drift kaynaklı kesinti yaşıyor; Crossplane kullanıcılarında bu oran %12’ye düşüyor çünkü reconcile döngüsü drift’i fark eden anda otomatik kapatır.
| Drift Senaryosu | Crossplane | Terraform | Pulumi |
|---|---|---|---|
| Tespit hızı | ~8 saniye (sync interval) | Manuel veya nightly plan | Manuel pulumi refresh |
| Otomatik düzeltme | Varsayılan açık | Kapalı (insan onayı) | Kapalı (insan onayı) |
| Cam-kırma pause | managementPolicies: ObserveOnly | Lifecycle ignore_changes | protect + ignoreChanges |
| Bağımsız audit | Driftctl, Snyk IaC | Driftctl, env0 drift detection | Pulumi Insights |
| Üretim kesinti riski | Düşük (~%12 yıllık) | Yüksek (~%47 yıllık) | Orta (~%29 yıllık) |
| İnce ayar | managementPolicies enum | ignore_changes, lifecycle | resource options |
Çoklu Bulut ve Multi-Cluster Topolojisi
CNCF’in Aralık 2025 Multi-Cloud raporuna göre kurumsal Kubernetes kullanıcılarının %57’si en az iki bulut sağlayıcısı kullanıyor. Crossplane’in provider mimarisi, AWS, Azure, GCP ve OCI kaynaklarını aynı kontrol düzleminden yönetmeyi mümkün kılar; aynı Composition birden fazla buluta paralel uygulanır. Terraform’un workspace ve provider alias yaklaşımı benzer hedefe ulaşır ancak kod tekrarı daha fazladır ve her bulut için ayrı state yönetimi gerekir. Hibrit senaryolarda DR (disaster recovery) ve veri lokalizasyonu önemli rol oynar; EU veri yerleşimi gereksinimi olan kurumlar, Crossplane Composition’ında bölge etiketini parametre olarak alıp doğru sağlayıcıyı seçer.
| Multi-Cluster Boyut | Crossplane | Terraform Workspace |
|---|---|---|
| Yönetim modeli | Tek hub kümesi, çoklu provider | Workspace per environment/cloud |
| State izolasyonu | Namespace + RBAC | Workspace dosyası başına |
| Provider auth | ProviderConfig + ESO | Provider blok + env vars |
| Kaynak senkronizasyonu | ArgoCD ApplicationSet | CI matrix job |
| Bölge geçişi | Composition parametresi | tfvars + module instance |
| Disaster recovery | Hub backup + restore | State backup + replay |
| Operasyonel maliyet | Hub kümesi (1-3 node) | State backend + lock servisi |

Paket Ekosistemi ve Provider Olgunluğu
Terraform Registry, 2026 itibarıyla 3.500’den fazla resmi ve topluluk provider’ı barındırır; bu sayı, niş SaaS hizmetlerinden eski donanım altyapısına kadar her şeyi kapsar. Crossplane resmi olarak ~75 provider sunar ancak Upjet (eski adıyla Terrajet) projesi, Terraform Provider’ları otomatik olarak Crossplane Provider’larına dönüştürür; bu sayede AWS Crossplane Provider 1.000+ kaynağı destekler hale geldi. Pulumi Registry 150+ resmi provider sunar ve tıpkı Crossplane gibi Terraform bridge kullanır.
| Paket / Ekosistem Boyut | Crossplane | Terraform/OpenTofu | Pulumi |
|---|---|---|---|
| Resmi provider sayısı | ~75 + Upjet ile genişletilmiş | Terraform Registry’de 3.500+ | 150+ |
| AWS kaynak kapsamı | 1.000+ (Upjet ile) | 1.500+ resource | 1.200+ |
| Paket formatı | OCI artifact | HCP/OpenTofu registry | Pulumi registry, npm/pypi |
| Versiyon yönetimi | Configuration package | Module versioning | NPM/PyPI versioning |
| İmza ve doğrulama | Cosign + Sigstore | Registry signature | Pulumi Cloud signing |
| Topluluk büyüklüğü (GitHub stars) | 9.500+ (Crossplane core) | 43.000+ (Terraform) / 24.000+ (OpenTofu) | 22.000+ |
Güvenlik, Politika ve Secret Yönetimi
Her iki araç da güvenlik açısından sıkı yapılandırma gerektirir. Crossplane’de provider credentials Kubernetes Secret olarak saklanır; üretimde External Secrets Operator (ESO) ile HashiCorp Vault veya AWS Secrets Manager’a bağlanması zorunludur. Open Policy Agent (Gatekeeper) veya Kyverno ile Composition’lar için zorunlu kısıtlar uygulanır: örneğin S3 bucket’ı varsayılan olarak public açılamaz, RDS şifreleme zorunludur, tag politikası dayatılır. Terraform tarafında plan çıktısı OPA/Conftest veya HashiCorp Sentinel ile denetlenir; state dosyasında düz metin secret bulundurmak en yaygın güvenlik hatasıdır ve remote backend şifreleme, dynamic provider credentials bu riski azaltır. Crossplane’in state dosyası olmaması, secret sızıntı riskini ciddi şekilde azaltır.
- External Secrets Operator (ESO): Vault, AWS Secrets Manager, GCP Secret Manager, Azure Key Vault’tan tüketilebilir.
- OPA Gatekeeper / Kyverno: Admission control katmanı, zararlı veya politika dışı kaynakları daha control plane’e ulaşmadan reddeder.
- Cosign + Sigstore: Composition Function image’ları imzalanır ve doğrulanır; supply chain saldırılarına karşı koruma sağlar.
- Audit log: Kubernetes audit log + Crossplane events ile her reconcile aksiyonu izlenebilir.
- Network izolasyonu: Hub kümesi private control plane, sadece NAT üzerinden bulut API’larına erişir.
Maliyet, TCO ve Operasyonel Yük
Forrester’ın Ocak 2026 IaC TCO çalışmasına göre üç yıllık dönemde Crossplane’in operasyonel maliyeti, kurum içi yönetilen Kubernetes kümeleriyle birlikte Terraform Cloud Premium’a kıyasla %34 düşüktür. Ancak Crossplane, yönetim kümesinin kendisinin yüksek erişilebilir ve yedekli olmasını gerektirir; küme arızası tüm reconcile zincirini durdurur. Terraform’un BUSL lisansı, üçüncü taraf ticari kullanım için sürtüşme yaratır ve OpenTofu’ya geçiş bu nedenle hızlandı. Crossplane’in provider olgunluğu ise hâlâ Terraform Provider Registry’nin altındadır ve niş hizmetler için Custom Provider veya Upjet-generated provider yazmak gerekebilir.
Geçiş Yol Haritası: Terraform’dan Crossplane’e
Mevcut Terraform yatırımı olan kurumlar için tek seferlik “big bang” geçiş tehlikelidir. Önerilen yol haritası, yeni servisleri Crossplane’de doğurup mevcutları yaşam döngülerine göre kademe kademe taşımaktır. Aşağıdaki adımlar, omeronal.com’da daha önce yayınladığımız Terraform Infrastructure as Code 2026 Rehberi ve GitOps ile Kubernetes Yönetimi: ArgoCD ve Flux Karşılaştırması içeriklerini tamamlar niteliktedir.
- Hedef bulutu ve provider matrisini belirleyin: AWS RDS, Azure SQL veya GCP CloudSQL gibi. Mevcut cloud-native mimari pratiklerinizi haritalayın.
- Crossplane’i yönetim kümesine Helm ile kurun, ProviderConfig’i External Secrets Operator ile yapılandırın.
- Composition ve CompositeResourceDefinition (XRD) tanımlayın; her geliştirici claim’i basit bir CR olsun. Composition Function’larla pipeline’ı zenginleştirin.
- ArgoCD ApplicationSet ile çoklu ortam (dev/stage/prod) yayını yapılandırın; Docker ve Kubernetes yönetimi rehberindeki namespace izolasyon pratiklerini uygulayın.
- Drift politikası tanımlayın:
spec.deletionPolicy: Deleteüretimde tehlikelidir, “Orphan” tercih edilir;managementPoliciesile cam-kırma senaryolarını planlayın. - Mevcut Terraform state’inden Crossplane’e Upjet migrator veya
crossplane beta migrateile aşamalı geçiş yapın; iki yönlü çalışmamak (aynı kaynağı her iki araçla yönetmemek) kritik önemdedir. - Politika ve güvenlik katmanını entegre edin: Kyverno/OPA Gatekeeper, DevSecOps shift-left protokolleri ile birlikte çalıştırılır.
- Self-service portal: Backstage entegrasyonu, geliştirici onboarding’i 1 günden 1 saate düşürür.
- Multi-cluster için Kubernetes network policy ve Cilium ile hub-spoke topolojisini güçlendirin.
Sık Sorulan Sorular
Hangi araç hangi ekibe uygundur?
Platform mühendisliği ekipleri Crossplane’i tercih eder, çünkü self-service portallar, sürekli reconcile ve Kubernetes native operasyon gereksinimlerini karşılar. Klasik DevOps ekipleri ve çok bulutlu ad-hoc altyapı için Terraform veya OpenTofu daha hızlı sonuç verir; Pulumi ise genel amaçlı dillerle altyapı yazmak isteyen, mevcut yazılım mühendisliği yetkinliğini IaC’ye taşımak isteyen takımlara uygundur. Birçok büyük şirket hibrit yol izler: ağ ve hesap kurulumu (foundation katman) için Terraform/OpenTofu, geliştirici-facing kaynaklar (RDS, S3, Redis, namespace) için Crossplane.
Terraform’dan Crossplane’e geçiş zor mu?
Karmaşıklığı ekosistem büyüklüğüne bağlıdır. Crossplane’in crossplane beta migrate komutu ve Upjet migrator, mevcut Terraform modüllerini Composition’lara dönüştürür ancak custom modüller manuel çevrim gerektirir. Genellikle aşamalı strateji önerilir: yeni servisler Crossplane’de doğar, mevcut modüller yaşam döngülerine göre kademe kademe taşınır. İki yönlü yönetim (aynı kaynağı hem Terraform hem Crossplane ile yönetmek) drift kaynağıdır ve kaçınılmalıdır. Tipik bir kurumsal geçiş 6-12 ay sürer.
OpenTofu üretim için yeterli mi?
Evet. OpenTofu 1.8, Linux Foundation çatısı altında stabil, Terraform 1.7 ile %99 uyumlu ve hatta erken değişken değerlendirme, dinamik provider iterasyonu, -exclude bayrağı gibi Terraform’da bulunmayan özellikler ekler. Spacelift, env0, GitLab, Atlantis ve Scalr gibi büyük yönetim sağlayıcıları OpenTofu’yu birinci sınıf destekler. BUSL lisansı altında çalışmak istemeyen, ticari rakip endişesi olan veya açık governance modelini tercih eden kurumlar için OpenTofu tercih edilen yoldur. HashiCorp Cloud Platform (HCP) Terraform Cloud kullanıcıları için ise Terraform Enterprise/Cloud daha entegre bir deneyim sunar.
Drift sorunu nasıl çözülür?
Crossplane, reconcile döngüsüyle drift’i ortalama 8 saniyede otomatik düzeltir, ancak bu manuel müdahaleyi kısıtlar; cam kırma senaryolarında spec.managementPolicies: [Observe] ile ince ayar gerekir. Terraform’da nightly terraform plan ile drift tespit edilir, ancak düzeltme insan onayına bırakılır ve gecikme dakikalardan saatlere uzayabilir. Düzenli denetim için her iki dünyada da bağımsız bir audit aracı (Driftctl, Snyk IaC, env0 drift detection, Pulumi Insights) çalıştırılması önerilir. Forrester’ın 2026 raporuna göre Crossplane kullanıcılarında drift kaynaklı kesinti oranı %12, Terraform kullanıcılarında %47’dir.
Crossplane Composition Functions nedir ve ne zaman kullanılmalı?
Crossplane v1.18 ile üretim olgunluğuna ulaşan Composition Functions, declarative YAML composition’ın yetersiz kaldığı durumlarda Go, Python veya KCL gibi dillerde yazılmış pipeline fonksiyonlarıyla composition mantığını programatik olarak ifade etmeye olanak tanır. Koşullu mantık, döngüler, dinamik kaynak adlandırma, harici API’larla karar verme ve karmaşık veri dönüşümleri gibi senaryolarda Functions tercih edilir. Basit kaynak şablonları için klasik patch-and-transform composition hâlâ yeterlidir; ekibinizin programlama yetkinliği yüksekse ve composition mantığı YAML’da hantallaşmaya başladıysa Functions’a geçmek mantıklıdır.
Sonuç: Use Case’e Göre Karar Verdikti
Crossplane ile Terraform aynı problemi farklı felsefelerle çözer: biri sürekli reconcile eden Kubernetes native kontrol düzlemi, diğeri tek seferlik plan-apply döngüsüdür. 2026’da platform mühendisliği ivmesi Crossplane’in payını büyütürken, lisans belirsizliği nedeniyle Terraform kullanıcılarının önemli bölümü OpenTofu’ya kaydı. Doğru seçim, ekibin Kubernetes olgunluğuna, çoklu bulut stratejisine ve self-service ihtiyacına bağlıdır. Net tavsiyemiz:
- Platform engineering ekibi + Backstage + self-service hedefi varsa: Crossplane. Reconcile-tabanlı drift kontrolü ve XRD soyutlaması bu use case’e en uyumlu çözüm.
- Foundation katmanı (ağ, hesap, IAM, organizasyon) kuruluyorsa: OpenTofu (ya da BUSL ile sorun yoksa Terraform). Geniş provider kapsamı belirleyicidir.
- Yazılım mühendisleri altyapıyı yönetiyor, IaC için ayrı DSL öğrenmek istemiyorlar: Pulumi. TypeScript/Python/Go ile aynı CI içinde altyapı kodu yazılır.
- Mevcut Terraform yatırımı büyük, ama Kubernetes native akışa geçiş hedefleniyor: Hibrit strateji. Yeni servisler Crossplane’de doğar, mevcut Terraform’lar yaşam döngüsüne göre Upjet migrator ile devredilir.
- Tek bulut, küçük ekip, ad-hoc ihtiyaçlar: OpenTofu yeterlidir; Crossplane’in operasyonel yükü bu ölçekte gereksiz karmaşıklıktır.
Resmi dokümantasyon ve ileri okuma için aşağıdaki kaynaklar referans niteliğindedir: Crossplane resmi dokümantasyonu, Terraform developer portalı, OpenTofu dokümantasyonu, Pulumi dokümantasyonu, CNCF blog, ArgoCD dokümantasyonu, Upbound mühendislik bloğu ve HashiCorp bloğu.










Ömer ÖNAL
Mayıs 16, 2026Yazılım danışmanlığı projelerinde sıkça karşılaştığım bir soru: “Hangi mimari hangi senaryoda öncelikli olmalı?” Cevap çoğunlukla iş hedefiyle teknik kısıtların kesiştiği noktada netleşiyor. Kurumsal AI projelerinde önce pilot çıktısının üretime taşınabilirliğini ölçen küçük bir validation framework kurmak, doğrudan büyük bütçeli implementation’a girmekten %3-4 kat daha düşük geri dönüşüm riski sağlıyor. Yorumlarınıza açığım.