Terraform
Kısa tanım: Terraform, bulut altyapısını tanımlayıp yönetmek için kullanılan bir “Infrastructure as Code (IaC)” aracıdır.
Eş anlamlı: HashiCorp Terraform, IaC
Tanım
Terraform, bulut altyapısını tanımlayıp yönetmek için kullanılan bir “Infrastructure as Code (IaC)” aracıdır. Yani sistemlerinizi manuel kurmak yerine, altyapıyı kod mantığında tarif ederek tutarlı, tekrarlanabilir ve denetlenebilir şekilde oluşturur ve güncellersiniz. HashiCorp Terraform olarak da bilinir ve bulut sağlayıcılar ile platformlarda kaynakları planlayıp uygular.
Ne Zaman Kullanılır?
- Yeni bir ortamı (ör. test, staging, prod) hızlıca kurarken ve standartlaştırırken
- Bir uygulama için gerekli altyapı bileşenlerini (ağ, hesaplar, depolama, kimlik, vb.) versiyon kontrol altında yönetmek istediğinizde
- Altyapı değişikliklerini kontrollü biçimde yayınlamak, geri alma süreçlerini planlamak ve “riskli el değişimi”ni azaltmak istediğinizde
- Birden fazla hesabı/region’u aynı mimariyle senkron etmek gerektiğinde
- CI/CD akışına altyapı provisioning adımlarını entegre etmek istediğinizde
Teknik Detaylar
Terraform, “declarative” yaklaşımıyla çalışır: Siz hedef durumu tanımlarsınız; Terraform da mevcut durum ile hedef durumu karşılaştırıp değişiklik planı çıkarır. Çoğu senaryoda sağlayıcılar (provider) üzerinden Azure gibi platformların kaynaklarını yönetirsiniz ve bu bağımlılıklar state mantığıyla takip edilir. Alternatif olarak AWS CloudFormation veya Azure Resource Manager (ARM) gibi natif çözümler vardır; ancak Terraform; çoklu bulut, hibrit mimari ve ortak modül yaklaşımıyla öne çıkar.
Pratik Notlar
Benim deneyimimde en kritik nokta, Terraform state yönetimini ve erişim kontrolünü doğru kurgulamaktır; state’i korumazsanız sürüm çatışmaları ve istenmeyen drift kaçınılmaz olur. Ayrıca modülleri küçük ve yeniden kullanılabilir tutup, değişiklikleri “plan” aşamasında düzenli gözden geçirerek üretim sürprizlerini büyük ölçüde azaltırsınız.
Bu içerik işinize yaradı mı?
Benzer içerikleri kaçırmamak için beni sosyal medyada takip edin.



