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:
- Write: Kaynaklar, değişkenler ve modüller
.tfdosyalarında tanımlanır. - Plan: Terraform hangi kaynakların ekleneceğini, değişeceğini veya silineceğini gösterir.
- 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.
İlgili Terimler
Ansible, YAML playbook'larla sunucu kurulumu, konfigürasyon yönetimi ve uygulama dağıtımını agent kurmadan otomatikleştiren araçtır.
DevOpsDevOps, yazılım geliştirme ve operasyon ekiplerini ortak süreç, otomasyon ve ölçümlerle daha güvenilir teslimata hizalayan yaklaşımdır.
Altyapı KoduInfrastructure as Code, sunucu, ağ ve bulut kaynaklarını elle kurmak yerine versiyonlanan kod dosyalarıyla tanımlama pratiğidir.