Altyapı Kod Olarak (IaC), manuel konsol işlemlerinin yerine geçerek kaynakları tanımlamak, dağıtmak ve yönetmek için yapılandırma dosyalarını kullanır. Bu yaklaşım altyapı teslimini otomatikleştirir, tutarlılığı artırır ve değişikliklerin izlenebilir olmasını sağlar.
IaC neden kullanılır?
IaC nasıl çalışır?
IaC araçları, altyapıyı tanımlayan yapılandırma dosyalarını kullanır ve kaynakları otomatik olarak oluşturup yapılandırmak için cloud API'leri ile etkileşime girer.
Bir uygulamayı geliştirme, test ve üretim ortamlarında dağıttığınızı düşünün; her ortamda bir ECS örnek, bir RDS veritabanı ve bir SLB yük dengeleyici bulunur. Bu kaynakları manuel olarak oluşturmak, aynı adımları üç kez tekrarlamayı gerektirir ve yapılandırmaların birebir aynı olacağı garantisi yoktur. IaC ile tek bir yapılandırma dosyası ve farklı ortam değişkenleri kullanarak birbirinin aynısı üç ortam oluşturabilirsiniz. Yüzlerce uygulamaya ölçeklendirmek için yapılandırmaları yeniden kullanılabilir şablonlara dönüştürün, değişkenleri enjekte edin ve bunları CI/CD işlem hattınıza entegre edin.
Temel IaC iş akışı şu şekildedir:
Altyapıyı tanımlayın: Gerekli kaynakları ve bağımlılıklarını açıklamak amacıyla bir yapılandırma dili veya programlama dili kullanarak bir yapılandırma dosyası yazın.
Dağıtımı otomatikleştirin: IaC aracı yapılandırmayı okur ve kaynakları oluşturup yapılandırmak için cloud API'lerini çağırır.
Değişiklikleri yönetin: Yapılandırma değiştiğinde araç farkları algılar ve altyapıyı kademeli olarak günceller.
IaC'nin faydaları
Yeniden kullanılabilirlik: Tek bir yapılandırma dosyası kullanarak geliştirme, test ve üretim ortamlarının birbirinin aynısını oluşturabilirsiniz.
Otomasyon: Kaynak oluşturma ve yönetimini otomatikleştirin. Doğrudan CI/CD işlem hatlarına entegre edin.
Süreç odaklılık: Altyapı değişikliklerini kod gibi ele alın: güncellemeleri inceleyin, otomatik olarak doğrulayın ve tanımlanmış iş akışları aracılığıyla yönetin.
Denetlenebilirlik: Tam değişiklik geçmişi, denetim ve geri alma işlemleri için yapılandırmaları sürüm kontrolünde saklayın.
Bir IaC aracı nasıl seçilir?
Alibaba Cloud, yapılandırma yöntemleri, entegrasyon derinliği ve kullanım senaryoları açısından farklılık gösteren birden fazla IaC aracını destekler:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Pulumi gibi diğer araçlar da Alibaba Cloud'u destekler ancak kapsama alanı daha sınırlıdır. Yukarıda listelenen araçlardan seçim yapın. IaC konusunda yeniyseniz Terraform ile başlayın.
Alibaba Cloud tarafından desteklenen IaC araçları
Alibaba Cloud aşağıdaki IaC araçlarıyla entegre olur:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SSS
IaC kullanmak için programlama deneyimine ihtiyacım var mı?
Hayır. Terraform gibi bildirimsel araçlar, programlama deneyimi gerektirmeyen basit bir yapılandırma dili olan HCL'yi kullanır. Terraform Explorer, kod yazmadan yapılandırma yapmak için grafiksel bir arayüz sunar. Sadece CDKTF ve Pulumi, Java veya Python gibi programlama dilleri gerektirir.
Aynı IaC yapılandırma dosyalarını farklı cloud platformlarında kullanabilir miyim?
Bu, kullanılan araca bağlıdır. Terraform ve Pulumi çoklu cloud dağıtımlarını destekler ancak her cloud kendi provider'ına ve kaynak tanımlarına sahip olduğundan yapılandırmalar doğrudan yeniden kullanılamaz. Modüler proje yapıları ve iş akışı mantığı yine de paylaşılabilir. ROS yalnızca Alibaba Cloud ile çalışır.
Terraform ücretsiz midir?
Terraform CLI ücretsizdir. Terraform Cloud ücretsiz ve ücretli katmanlar sunar. Terraform Enterprise ücretli bir üründür. Terraform'un kendisi Alibaba Cloud üzerinde herhangi bir maliyet oluşturmaz ancak oluşturduğunuz cloud kaynakları standart Alibaba Cloud tarifelerine göre faturalandırılır.