İçeriğe geç
KAMPANYA Kurumsal Web Paketi — $499'dan başlayan fiyatlar Web & Logo Tasarımı · Kurumsal E-posta · LiteSpeed + CloudLinux · Imunify360 Güvenlik · cPanel Yönetim · 3 Gbps DDoS Koruması 00 Gün 00 Saat 00 Dk 00 Sn
AIOR

Terraform, Pulumi, Ansible: choosing infrastructure-as-code without the r

Sektör topluluğu — sorularınız, deneyimleriniz ve duyurularınız için.

Terraform, Pulumi, Ansible: choosing infrastructure-as-code without the r

Aior

Administrator
Staff member
Joined
Apr 2, 2023
Messages
895
Reaction score
2
Points
18
Age
40
Location
Turkey
Website
aior.com
1/3
Thread owner

500


IaC sorusu, çözümlenmiş​

"Hangi IaC kullanmalıyız" tek soru olarak sorulur ama aslında üçtür: hangi provisioning aracı, hangi konfigürasyon aracı, hangi orkestrasyon aracı.

Provisioning: Terraform, Pulumi, OpenTofu, CloudFormation​

  • Terraform (HCL) — de-facto endüstri standardı. Lisans değişikliği sonrası OpenTofu (açık kaynak fork) giderek seçim.
  • OpenTofu — drop-in Terraform değiştirici, Linux Foundation tarafından yönetilir.
  • Pulumi — gerçek programlama dillerinde IaC (Python, TypeScript, Go).
  • AWS CloudFormation / CDK — AWS native.
  • Azure Bicep / ARM templates — Azure için aynı fikir.
  • Crossplane — Kubernetes CRD'ler aracılığıyla bulut kaynakları beyan eder.

Konfigürasyon: Ansible, Salt, Chef, Puppet​

  • Ansible — hafif varsayılan. Agentless, YAML.
  • Salt — ölçekte hızlı.
  • Chef / Puppet — eski agent tabanlı seçenekler.

Modern altyapı için konfigürasyon yönetim katmanı küçülüyor. Ansible çoğunu kapsar.

State dosyası: yeni ekipleri şaşırtan şey​

Terraform / OpenTofu / Pulimi state tutar:
  • Hassas.
  • Eşzamanlı (çoklu geliştirici, lock veya kaos).
  • Versiyonlu.

İşleyen desenler:
  • Terraform Cloud / HCP.
  • Self-hosted backend (S3 + DynamoDB lock, GCS, Azure Storage).
  • Spacelift / env0 / Terragrunt.

Modüler mimari​

  • Modüller — net arayüzlü yeniden kullanılabilir birimler.
  • Stack/environment — environment başına modül örnekleri.
  • Komposit — environment config'leri pinned versiyondaki modüllere referans.
  • Modül testi — Terratest veya eşdeğeri.

Drift: sızıntıdan sele​

"Drift" = gerçek bulut state IaC'nin söylediğinden ayrışır.
  • Pipeline'lar üzerinden plan + apply, yerel değil.
  • Drift tespit job'ı — gece çalışır, diff'lerde uyarır.
  • Konsol erişimi sıkı sınırlandırılmış.
  • Autoscaling olan her şey IaC'de ignored attribute olarak belgelenir.

IaC'de secret işleme​

  • tfvars veya git'e commit edilen HCL dosyalarına secret koymayın.
  • Apply zamanında secret manager'lardan çekin.
  • State dosyası secret içerir — backend storage şifreli.
  • Statik kimlik bilgileri yerine OIDC-federated kısa ömürlü kimlik bilgileri.

Uyaracağımız bir desen​

HCL veya Pulumi'de "code golf". Açık, ayrıntılı, sıkıcı IaC bakımı yapılabilir IaC'dir.

Karşılığını veren bir desen​

Modülleri düzgün versiyonlama.

IaC yığınınız nedir?


500


The IaC question, untangled​

"What IaC should we use" is asked as one question but is actually three: which provisioning tool, which configuration tool, which orchestration tool.

Provisioning: Terraform, Pulumi, OpenTofu, CloudFormation​

  • Terraform (HCL) — de-facto industry standard. OpenTofu fork is increasingly the choice.
  • OpenTofu — drop-in Terraform replacement, Linux Foundation governed.
  • Pulumi — IaC in real programming languages.
  • AWS CloudFormation / CDK — AWS-native.
  • Azure Bicep / ARM templates.
  • Crossplane — cloud resources via Kubernetes CRDs.

Configuration: Ansible, Salt, Chef, Puppet​

  • Ansible — the lightweight default. Agentless, YAML.
  • Salt — fast at scale.
  • Chef / Puppet — older agent-based.

The state file​

  • Sensitive.
  • Concurrent (lock or chaos).
  • Versioned.

Patterns that work:
  • Terraform Cloud / HCP.
  • Self-hosted backend (S3 + DynamoDB lock).
  • Spacelift / env0 / Terragrunt.

Modular architecture​

  • Modules — reusable units with clear interface.
  • Stacks/environments — instances per environment.
  • Composition — environment configs reference modules at pinned versions.
  • Module testing — Terratest or equivalent.

Drift​

  • Plan + apply via pipelines, not local.
  • Drift detection job — runs nightly.
  • Console access tightly limited.
  • Autoscaling documented as ignored attributes.

Secret handling​

  • Don't put secrets in tfvars or HCL committed to git.
  • Pull from secret managers at apply time.
  • State file contains secrets — backend encrypted.
  • OIDC-federated short-lived credentials.

One pattern we'd warn about​

"Code golf" in HCL or Pulumi.

One pattern that pays off​

Versioning modules properly.

What's your IaC stack?
 

Forum statistics

Threads
891
Messages
898
Members
27
Latest member
AIORAli

Members online

No members online now.

Featured content

AIOR
AIOR TEKNOLOJİ

Tüm ihtiyaçlarınız için Teklif alın

Hosting · Domain · Sunucu · Tasarım · Yazılım · Mühendislik · Sektörel Çözümler

Teklif al

7/24 Destek · Anında yanıt

Back
Top