1. Ana Sayfa
  2. Teknoloji
  3. Terraform Nedir? Hızlı Bakış

Terraform Nedir? Hızlı Bakış

Terraform Nedir? Hızlı Bakış

Terraform olayını duymuş olabilirsiniz ancak ne olduğundan tam olarak emin değilsiniz, değil mi? Korkmayın, sizin için araştırdık.

Bu makalenin sonunda Terraform’un ne demek olduğunu, neden yararlı olduğunu ve ne için kullanacağınızı anlayacaksınız. 

Terraform Nedir?

Terraform, Hashicorp tarafından oluşturulan kod aracı olarak açık kaynaklı, CLI tabanlı bir altyapıdır. Bu teknoloji buluttan bağımsızdır ve tüm büyük bulut sağlayıcılarında çalışır: AWSGCP ve Azure. Hashicorp’un Terraform için ücretli barındırılan çözümü olan Terraform Cloud ile karıştırılmamalıdır.

Terraform, farklı hizmetlerle entegre olmak için “sağlayıcılar” kullanır. Terraform’un (genellikle bulut uygulamaları) merkezi kullanım durumları için birçok sağlayıcı zaten mevcuttur. Ayrıca, Stripe ve Auth0 gibi diğer popüler satıcıların Terraform’da yönetilmesine izin veren daha az bilinen sağlayıcılara da sahiptir.

Terraform logo

Terraform Neden Kullanışlı

Terraform’un neden yararlı olduğunu anlamak için altyapı ilkelerini kod olarak anlamamız gerekir. Kod olarak altyapı, tek başına bu makalede ele alınamayacak kadar büyük bir konu. Öyleyse süper hızlı bir tur yapalım…

Altyapıya kod olarak anti-tez ile başlayalım: altyapınızı manuel olarak oluşturmak ve güncellemek. Altyapıyı manuel olarak oluşturulduğunda, bilgi bireylerin kafasına hapsolur ve gelecekteki güncellemeler korkutucu, tekrarlanamaz, zor ve belgelenmemiş olur.

Ancak kod olarak altyapının yardımcı olabileceği yer burasıdır. Mühendisler, altyapı yapılandırmalarını kodda depolayarak ve manuel olarak değişiklik yapmayarak, altyapı değişikliklerine kod incelemesi gibi süreçler uygulayabilir. Kod, dokümantasyon görevi görür ve bir değişiklik geçmişi olur.

Terraform, altyapının kod olarak uygulanmasına yardımcı olan bir araçtır ve bu nedenle Terraform’un faydaları bir şekilde eş anlamlıdır. Konfigürasyonları sürüm kontrolünde saklayabilir, değişiklikleri güvenli ve tekrarlanabilir bir şekilde uygulayabilirsiniz.

Terraform Nasıl Çalışır?

Terraform’un faydalarını tartıştık, peki gerçekte nasıl çalışıyor? Onunla çalışmak neye benziyor? Şimdi buna bakalım.

Terraform, kaynak yapılandırmalarını HCL’de (Terraform’un dili) yazarak çalışır. Bu kaynak blokları sağlayıcı tarafından belirlenir ancak hepsi aynı model ve yapıya uyar.

Konfigürasyon yazıldığında, mühendis bir Terraform plan komutunu çalıştıracaktır. Bir Terraform planı, esasen, değişiklikler gerçekten uygulandığında yapılacak değişiklikleri gösteren bir provadır.

Mühendis değişikliklerden memnun olduğunda, değişiklikleri uygulamak için bir Terraform uygulama komutu çalıştırır. Daha sonra temel sağlayıcıyı tetikler ve altyapı kaynaklarını oluşturmaya, güncellemeye veya silmeye başlar.

Terraform’un Zorlukları

Buraya kadar Terraform’un ne olduğunu daha iyi anladınız. Ancak, Terraform’u kullanmanın zorluklarını da tartışmazsak, size resmin tamamını veremeyiz. Hadi şimdi bunu ele alalım.

1. Zorluk: Başarısız Komutları Yönetme

Bu teknoloji CLI tabanlıdır, yani Terraform’u çalıştırmak için kendi makinenizde veya sunucunuzda komutları yürütmeniz gerekir. Ancak komutları yönetmek zor olabilir, özellikle bir komut yürütme sırasında kısmen başarısız olursa, bu Terraform’u bilinmeyen bir duruma sokabilir, bu da hata ayıklama ve geri alma konusunda sıkıntı yaratabilir.

Buna karşılık, CloudFormation gibi yönetilen hizmetler aynı yürütme sorununu yaşamaz. Peki neden? Çünkü CloudFormation komutları, barındırılan hizmetlerde çalıştırılır (makinenizde değil). Bu, barındırılan hizmetler üzerinde çalışarak, yönetilen hizmetlerin Terraform’un (CLI) garanti edemeyeceği kullanılabilirliği ve hata toleransını sağladığı anlamına gelir.

2. Zorluk: Durum Dosyalarını Kurmak

Terraform, bir durum dosyasını ile çalışır. Durum dosyası, sağlanan kaynakları değiştiren herhangi bir komut yürütüldüğünde güncellenir. Durum dosyası, Terraform’un bağımlılıkları anlamasına ve gerçek dünya altyapısını bağlamasına yardımcı olur.

Ancak durum dosyasını kurmak zor olabilir. Durum dosyasını sürüm denetiminde depolarsanız, sırları açığa çıkarma ve bir güvenlik açığı oluşturma riskiyle karşılaşırsınız.

Bu Yazıya Tepkiniz Ne Oldu?

Yorum Yap