Kod yazarak alt yapı yönetimi: Terraform

DevOps

Alt yapı kaynaklarının kod ile yönetilmesini temel alan IaC (Infrastructure as code) teknolojisinin bilinen en büyük ve açık kaynak kodlu oyuncusu Terraform’u inceleyeceğiz.

Terraform Nedir?

HashiCorp tarafından geliştirilen ve HCL (HashiCorp Configuration Language) dilini kullanan Terraform, Global Cloud sağlayıcılar ve uyumlu hizmet sağlayıcılarında oluşturulan kaynakların otomatik kurulumu ve yönetimine kod alt yapısı ile imkan sağlıyor. Terraform, bir CLI aracı ile alt yapı isterlerinin belirtildiği dosyaları ortama uygular.

Terraform’u bir DevOps terimi olarak ele alabiliriz ancak temelde Developer’larında alt yapıya dahil olmasını hedefler. Temmuz 2014 itibariyle Teknoloji dünyasına dahil olan bu kolaylık aracını biraz daha detaylı olarak inceleyelim.

Terraform Dosyaları ve Hiyerarşisi

Kurulum dosyaları genel olarak *.tf uzantılı olarak karşımıza çıkar. Genel hiyerarşi olarak “main.tf” dosyasında belirlenen fonksiyonları, “variables.tf” dosyasında belirlenen parametrelere bağlı olarak uygular. Doğrudan include kullanımı bulunmamakla birlikte, modüler yapısı ile eklenen module dosyalarını çalıştırabilir, sisteme dahil edebilir.

Her yazılım dili gibi hemen her fonksiyonu tek bir dosyadan çalıştırabilirken, module kolaylığı ile dağıtık olarak daha okunabilir hale getirilebilir.

Modül Kullanımı

module “ornek” {
source = “./modules/ornek”
ad = “deneme-vm”
tarih = “14052024”
}

Yazdığımız ek .tf dosyalarını modüler olarak yukarıda ki kod örneğinde gösterildiği üzere terraform scriptine dahil edebilirsiniz. Import edilen örnek modül, ad ve tarih şeklinde 2 değişken ile geliyor.

Buraya kadar Terraform’un genel özelliklerinden bahsettik. Peki, neden Terraform kullanmalıyım?

  • Kodlanabilir Altyapı: Tüm tanımların kod ile yapılmasını sağlar. Bu nedenle dil öğrenildiğinde arayüzlerde ki kurulum karmaşası ve olası insan hatalarından kurtulabilirsiniz.
  • Tekrar eden işlemler: Bir arayüzde 10’larca sanal sunucu kuracaksanız bu muhtemelen bir yerden sonra sıkıcı bir hal alacaktır. Ancak, kod alt yapısı ile tekrar eden bir döngüye soktuğunuzda işiniz kolaylaşacak ve hızlanacaktır.
  • Cross Platform: Azure, AWS, GCP (Google Cloud Platform) gibi bir çok sağlayıcı ile çalışıyor olabilirsiniz. Terraform sayesinde çapraz platformları kod ile kontrol altına alabilir daha önemlisi her arayüzü tüm detayları ile öğrenmek zorunda kalmazsınız.
  • Ekosistem: Sunduğu kolaylıklar sayesinde günden güne büyüyen bir ekosistemi var. Bu durum kullanım kolaylığı yanı sıra her gün geliştirilen yeni platformlara uyumu kolaylaştırıyor.

Terraform Kurulumu

Tüm kurulum adımlarına resmi olarak aşağıda ki adresten ulaşabilirsiniz.

Install Terraform

Terraform Kullanımı

Kullanım için öncelikle kodumuzun uygulanacağı alt yapı sistemine erişim sağlamamız gerekiyor. Global Cloud sağlayıcılar kendi araçları (Azure – az, AWS – eks gibi) ile bu imkanı sağlıyor. Daha sonra Terraform’u indirerek CLI aracılığı ile,

terraform init

terraform apply

Komutları ile yazdığımız kodu uygulayabiliyoruz. “Neden Terraform” başlığında bahsettiğimiz üzere, tekrar eden yapılar için kurulumlarda bilgisayar başında beklememize gerek kalmıyor.

 

 

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Fill out this field
Fill out this field
Lütfen geçerli bir e-posta adresi yazın.

Yeni
Bu yazıyı beğendin mi? Arkadaşlarınla paylaş!

Benzer içerikler: