- Artık AWS konsolunda birkaç tıklamayla sunucu dağıtma, tek satırlık komutla çeşitli altyapılar kurma çağındayız
- IaC
- Altyapıyı kodla yönetmek ve provizyonlamak
- İstediğimiz ağ, sunucu, depolama gibi her şeyi kod olarak saklayıp yönetmek
- Böylece kodu paylaşarak, test ederek ve yeniden kullanarak altyapıyı daha verimli yönetmek
- Terraform
- Terraform, IaC alanındaki en tanınmış araçlardan biri
- AWS, GCP, Azure gibi bulutların yanı sıra şirket içi çözümleri de yönetir
- İstenen nihai sonucu tanımlayan deklaratif yaklaşımı kullandığı için sonucu öngörmek kolaydır
- Kod yeniden kullanılsa bile aynı sonucu garanti eder
terraform plan çalıştırıldığında AWS üzerinde nasıl oluşturulacağına dair ayrıntılı bir plan çıkarır
terraform apply ile gerçek uygulama yapılır
- Terraform ile oluşturulan kaynak bilgileri
tfstate adlı bir JSON dosyasında yönetilir
- Terraform kullanım şekli
- Çeşitli anahtar sözcüklerle kullanıcı girdisi alıp kaynak oluşturma ve çalışma sonucunu CLI üzerinde gösterme işlevi sunar
- Provider
- Kaynak türlerini uygulayan eklenti
- AWS, GCP gibi kullanılan bulut platformu ve servislerin provider'ını bulup yapılandırmaya ekleyerek ilgili kaynaklarla altyapıyı provizyonlar
- Module
- İlgili kaynak gruplarını tek bir kaynakmış gibi yöneten, yeniden kullanılabilir küçük Terraform yapılandırması
- Başkalarının yaptığı modüller de serbestçe kullanılabildiği için az kodla çok sayıda kaynağı verimli biçimde yönetmeyi sağlar
- Yapılandırmayı farklılaştırarak aynı modül birden fazla kez çağrılabilir
- Resource
- Sanal ağ, hesaplama örneği veya DNS kaydı gibi üst düzey bileşenler dahil, bir ya da daha fazla altyapı nesnesini tanımlayan anahtar sözcük
- Variable
- Girdi değişkenleri, modülün kaynak kodunu değiştirmeden kaynak özelliklerini belirlemeyi sağlar
- Programlama dillerindeki fonksiyon parametrelerine benzer
- Girdi değişkenleri sayesinde modüller daha esnek biçimde paylaşılabilir ve yeniden kullanılabilir
- Output
- Çıktı değerleri, komut satırında kullanılacak altyapı bilgilerini üretir ve diğer Terraform yapılandırmalarının kullanabileceği bilgileri açığa çıkarabilir
- Programlama dillerindeki dönüş değerlerine benzer
Henüz yorum yok.