Altyapı Kodu Nedir?

İngilizce: Infrastructure as Code (IaC)

Infrastructure as Code, sunucu, ağ ve bulut kaynaklarını elle kurmak yerine versiyonlanan kod dosyalarıyla tanımlama pratiğidir.

Infrastructure as Code Nedir?

Infrastructure as Code (IaC), sunucu, ağ, veritabanı, DNS, yük dengeleyici ve bulut yetkilendirmesi gibi altyapı kaynaklarını tıklayarak kurmak yerine kod dosyalarıyla tanımlama pratiğidir. Bu dosyalar Git’te tutulur, gözden geçirilir ve otomasyonla uygulanır.

IaC iki ana yaklaşımla görülür. Declarative modelde istenen son durum yazılır; araç hangi değişikliklerin yapılacağını hesaplar. Terraform bu yaklaşımın yaygın örneğidir. Imperative modelde adımlar sırasıyla tarif edilir; Ansible playbook’ları bu tarza yakın kullanılabilir.

Neden Kullanılır?

Elle kurulan altyapıda hangi ayarın ne zaman değiştiğini anlamak zordur. IaC ile staging ve production ortamları aynı tanımdan üretilebilir, pull request üzerinden inceleme yapılabilir ve yanlış değişiklikler geri alınabilir. Yeni bir müşteri ortamı, test kümesi veya felaket kurtarma bölgesi daha tutarlı kurulabilir.

Dikkat Edilecek Noktalar

IaC dosyaları gizli anahtar içermemeli, state dosyaları güvenli saklanmalı ve otomatik plan çıktıları dikkatle incelenmelidir. Terraform kaynak yaşam döngüsünü yönetirken, Ansible yapılandırma ve uygulama hazırlığında tamamlayıcı rol oynayabilir.