Terraform Nedir?

İngilizce: Terraform

Terraform, bulut ve altyapı kaynaklarını HCL dosyaları, provider eklentileri ve state yönetimiyle kod olarak yöneten IaC aracıdır.

Terraform Nedir?

Terraform, sunucu, veritabanı, ağ, DNS kaydı veya Kubernetes kaynağı gibi altyapı bileşenlerini arayüzden tıklayarak değil, sürümlenebilir yapılandırma dosyalarıyla tanımlamayı sağlar. HashiCorp Configuration Language (HCL) ile istenen durum yazılır; Terraform mevcut durumla hedef durumu karşılaştırır.

Nasıl Çalışır?

Terraform akışı genellikle üç adımdır:

  1. Write: Kaynaklar, değişkenler ve modüller .tf dosyalarında tanımlanır.
  2. Plan: Terraform hangi kaynakların ekleneceğini, değişeceğini veya silineceğini gösterir.
  3. Apply: Onaylanan plan provider API’leri üzerinden uygulanır.

State dosyası, yönetilen kaynakların mevcut durumunu takip eder. Ekiplerde bu state’in uzaktan, kilitleme destekli ve erişim kontrollü saklanması önemlidir.

Ne İçin Kullanılır?

Terraform AWS, Azure, Google Cloud, Cloudflare ve birçok SaaS sağlayıcısıyla çalışabilir. Aynı yapılandırma yaklaşımı staging ve production ortamları arasında tekrar edilebilirlik sağlar. DevOps ekipleri Terraform’u CI süreçlerine bağlayarak altyapı değişikliklerini kod incelemesinden geçirebilir.

Ansible genellikle sunucu içi yapılandırma ve görev otomasyonu için kullanılırken, Terraform kaynakların oluşturulması ve yaşam döngüsü yönetiminde öne çıkar. İkisi aynı projede birbirini tamamlayabilir.