İnfrastructure as code?

hocam iyi gunler bu alanda yeni birisiyim. “infrustructure as a code” konusunu ogrenmeye calisiyorum , bircok makale okudum bu alanda ama bir ornege ihtiyacim var. bu konuyu bir senoryayla orneklendirerek anlatabilmeniz mumkunmu acaba ? tesekkurler

1 Beğeni

Ben de yeniyim, ama anladigimi anlatabilirim. Yanlisim varsa düzeltilirse sevinirim. Ali bir sirkette sistem yonetici olarak calisiyor ve sirketin yeni bir projesi var diyelim. Ali’den projenin alt yapısını oluşturması isteniyor. Geleneksel yöntem ile Ali, fiziksel bir makine alip, isletim sistemi ve gerekli yazılımları kurabilir. Son olarak veritabani sunucusu kurup verilen isi yapabilir.

Ama artik Cloud devrinde bu guncel bir yöntem değil. onun yerine Ali bu isi Iac kullanarak yapabilir. Ilk olarak bir kod blogu, sablon (code snippet) olusturmasi gerekiyor. Bunu yaml, json, hcl gibi formatlarda yapabilir. Bu sablon ile sunucu yapilandirmasi ve yazilim yukleme talimatlarini verebilir. Daha sonra bu dosya şirketin kod depolama sistemine yuklenir ve orada tutulur. Soyle bir sablonu olabilir mesela:

// Sunucu yapılandırması
server {
name = “veritabani-sunucum”
os = “Ubuntu”
memory = “8GB”
cpu = “2”
}

// Veritabanı yazılımı yükleme
software {
name = “MySQL”
version = “8.0”
port = “3306”
credentials = {
username = “admin”
password = “sifre”
}
}

// Firewall kuralları
firewall {
incoming = [“ssh”, “http”, “https”]
outgoing = [“all”]
}

Burada bir ubuntu sunucusuna MySQL 8.0 kurulumu yapip gerekli baglanti bilgilerini saglayip, gelen-giden trafigi belirtilen sekilde sinirlamis olacak.

Daha sonra Ali bir otomasyon araci kullanarak bu dosyayi calistirabilir. Böylelikle bu sablon sunucuya yuklenir ve talimatlar otomatik olarak calisir. Herhangi bir fiziksel sunucuya ihtiyac duymadan , tum veritabani sunucusu kurulum islemi otomatikleştirilmiş olur.

Sonuc olarak Ali web uygulamasini ornegin AWS’de barindirmak istiyor diyelim. Iac kullanarak Aws kaynaklarinin olusturulmasi, yapilandirilmasi ve yonetilmesi icin bir dizi kod yazmis olacak. Bu kod, kaynaklari olusturmak ve yonetmek icin kullanildiginda Ali Infrastructure as Code yapmis olur. Sonuc olarak, IaC, altyapı yönetimini otomatikleştirerek, hızlı ve güvenilir bir şekilde değişiklik yapılabilmesini sağlar. İşletmeler, IaC ile sunucularını, veri depolama alanlarını, ağları ve diğer altyapı bileşenlerini yönetebilirler.

4 Beğeni

cok tesekkur ederim cevabiniz icin, gayet aciklayici bir cevap oldu benim icin.

3 Beğeni

@arifetarifgerek çok güzel açıklamış.

Şöyle ek yapabilirim. Malumunuz ürününüzün birden fazla ortamı olacak. Test staging pre-prod ve prod gibi. Burada IaC ile oluşturacağınız test ortamında bir kaç küçük değişiklik ile diğer ortamlarda alt yapınızı hazırlayabilirsiniz. Ayrıca bir çok devops danışmanlık şirketi danışmanlık verdiği şirketlere ortamları hazırlamak için bu tarz kod yazarak müşterinin ortamına login olmadan veya herhangi bir credential ına erişme ihtiyacı duymadan direk alt yapıyı oluşturmalarına yardımcı olur. Ayrıca bunlara ek olarak IaC ile review süreçleri daha profesyonel ilerleyebilir.

2 Beğeni