azure terraform azapi sağlayıcı nasıl kullanılır türkçe rehberi: Adım Adım
Azure Terraform AzAPI Sağlayıcısı Nedir?
azure terraform azapi sağlayıcı nasıl kullanılır türkçe sorusunu soruyorsanız, büyük ihtimalle Azure’da Terraform ile henüz resmi provider’a tam olarak yansımamış bir kaynağı yönetmek istiyorsunuz. AzAPI sağlayıcısı tam da bu noktada devreye girer: Azure Resource Manager (ARM) API’lerini doğrudan çağırarak, Terraform’un standart azurerm provider’ında olmayan veya gecikmeli gelen özellikleri kullanmanıza yardımcı olur.
Bir şey dikkatimi çekti: Biz bunu projelerde özellikle preview özellikler, yeni çıkan Azure servisleri (ilk duyduğumda inanamadım). Bazen de nested/child resource yapıları için kullandık. Klasik azurerm ile çözüm bulamadığımız noktalarda AzAPI, “geçici bir köprü” olmaktan çıkıp üretim süreçlerinde çok işe yarayan bir araç haline geliyor.
Açık konuşayım, En büyük avantajı şudur: Azure’daki hemen her ARM kaynağına ulaşabilirsiniz. Dezavantajı ise biraz daha düşük seviyede çalıştığınız için API versiyonu, JSON schema ve resource path gibi detaylara daha fazla dikkat etmeniz gerekir.
azurerm tarafından desteklenmeyen kaynaklarda tercih edilir.
Neden AzAPI Kullanılır?
Azurerm’in yetmediği durumlar
azurerm provider çoğu senaryoda yeterlidir; hatta mümkün olan her yerde önce onu tercih etmek en sağlıklı yaklaşımdır. Ancak bazı durumlarda şu ihtiyaçlar ortaya çıkar:
- Azuere yeni gelmiş ama Terraform provider’a henüz eklenmemiş servisler
- Sadece ARM template ile erişilebilen property’ler (bu kritik)
- Nesting yapısı karmaşık child resource’lar
- Pek çok ayarı ince ince kontrol etmek istediğiniz özel konfigürasyonlar (bence en önemlisi)
- Pilot / preview özelliklerle hızlı deneme yapmak istemeniz (bence en önemlisi)
Tam kontrol ihtiyacı
Şöyle söyleyeyim, Bazen platform ekipleri “her şey kodla tanımlansın ama ürünün sunduğu en yeni özelliği de beklemek zorunda kalmayalım” der. İşte o zaman AzAPI çok değer kazanır. Bizim bir müşteride App Service Environment benzeri özel bir kaynak kurgusunda, sadece belirli property setlerini yönetmek gerekiyordu ve azurerm sürümü beklediğimiz alanları sunmuyordu. Neden önemli bu? Çözümü AzAPI ile kurup sonrasında azurerm olgunlaştığında yavaşça geçiş yaptık.
Dikkat: AzAPI güçlüdür ama düşük seviyelidir. Yanlış API version veya hatalı JSON body ile uygulama başarısız olabilir. Üretimde kullanmadan önce test ortamında doğrulama şarttır.
Ön Koşullar Nelerdir?
Şunu fark ettim: Kurmaya başlamadan önce aşağıdakiler hazır olmalı:
- Aktif bir Azure subscription
Terraform CLIkurulu olması (öneri: güncel LTS sürüm)