Sobes.tech
Junior

Terraform nima?

sobes.tech AI

AIdan javob

Terraform — bu HashiCorp kompaniyasi tomonidan yaratilgan ochiq manbali asbob bo‘lib, infrastrukturani kod sifatida boshqarish (Infrastructure as Code, IaC) uchun mo‘ljallangan. U infrastrukturani deklarativ til HCL (HashiCorp Configuration Language) yoki JSON yordamida tasvirlash imkonini beradi va keyinchalik uni avtomatik tarzda joylashtirish, o‘zgartirish va o‘chirish imkonini beradi.

Terraformning asosiy xususiyatlari:

  • Deklarativlik: Siz infrastrukturani istalgan holatga kiritishni tasvirlaysiz, va Terraform uni amalga oshirish uchun zarur bo‘lgan harakatlarni belgilaydi.
  • O‘zgarmaslik: Terraform katta o‘zgartirishlar paytida mavjud resurslarni o‘zgartirish o‘rniga yangi resurslar yaratishni afzal ko‘radi, bu esa ishonchlilik va bashorat qilish imkoniyatini oshiradi.
  • Yetkazib beruvchilar: AWS, Azure, GCP kabi ko‘plab bulut xizmatlari yetkazib beruvchilarini va Kubernetes, Docker, ma’lumotlar bazalari kabi boshqa xizmatlarni qo‘llab-quvvatlaydi.
  • Holat: Terraform joylashtirilgan infratuzilmaning holatini holat faylida kuzatib boradi, bu esa uni hozirgi holatni tushunishga va zarur o‘zgartirishlarni hisoblashga imkon beradi.
  • Modullar: Kodni tashkil qilish va murakkab infratuzilmani boshqarishni soddalashtirish uchun qayta foydalaniladigan bloklarni yaratish imkonini beradi.
  • Rejalashtirish: O‘zgartirishlarni qo‘llashdan oldin, Terraform amalga oshiriladigan harakatlar rejasini ko‘rsatadi, bu esa kutilmagan oqibatlarni oldini oladi.

Terraform bilan odatiy ish jarayoni quyidagi bosqichlarni o‘z ichiga oladi:

  1. Tizimni boshlash (terraform init): Zarur yetkazib beruvchilar va modullarni yuklash.
    terraform init
    // Ishchi katalogni boshlash
    
  2. Rejalashtirish (terraform plan): Qaysi resurslar yaratilishi, o‘zgartirilishi yoki o‘chirilishini ko‘rsatadigan reja ishlab chiqish.
    terraform plan
    // Reja ishlab chiqish va ko‘rsatish
    
  3. Qo‘llash (terraform apply): Rejani bajarish va infratuzilmani yaratish yoki o‘zgartirish.
    terraform apply
    // Rejani maqsadli infratuzilma bilan qo‘llash
    
  4. O‘chirish (terraform destroy): Hozirgi Terraform holati tomonidan boshqarilayotgan barcha resurslarni o‘chirish.
    terraform destroy
    // Barcha resurslarni o‘chirish
    

HCL tilida oddiy resurs tavsifi misoli:

resource "aws_instance" "example" {
  # Resurs turi (AWS namunasi) va uning nomi konfiguratsiyada
  ami           = "ami-0abcdef1234567890" # AMI tasvir IDsi
  instance_type = "t2.micro"            # namunani turi
  tags = {
    # Resurs uchun teglar
    Name = "example-instance"
  }
}

Terraform infratuzilmani boshqarishni sezilarli darajada soddalashtiradi va avtomatlashtiradi, uni yanada bashoratli, kengaytiriladigan va versiyalanadigan qiladi.