Kod Olarak Yapılandırmayla Şema Güdümlü Akışlar
Yapılandırma güdümlü bir arayüz platformu ve Git tabanlı config-as-code; kural değişiklikleri frontend dağıtımı olmadan saatler içinde yayına çıkar.
- Teknolojiler
- TypeScript · jsonform · Git · CI/CD · Schema validation
Sorun
Birçok pazara yönelik akışlar, ürün ya da uyum ekibi bölgesel bir kuralı değiştirmek istediğinde yinelenen kod ve her seferinde bir mühendislik talebi anlamına geliyordu.
Yaklaşım
- Formları şemadan oluşturmak. Arayüz JSON ya da YAML yapılandırmasını jsonform üzerinden okur: şema alanları ve doğrulama kurallarını üretir. Yerel köprüyü başlatmak gibi özel eylemler kodda kalır.
- Tek adım, farklı sonuçlar. Yapılandırma, bir adımın her pazar ve platform için ne yapacağına karar verir. Yerel bir yetenek destekleniyorsa adım yönlendirme ve bir tarama düğmesi gösterir; değilse normal form alanlarını ve bir Devam düğmesini gösterir. Ürün bunu kodda değil, yapılandırmada değiştirir.
- Kod olarak yapılandırma. Değişiklikler Git üzerinden gönderilir. Her değişiklik otomatik bir pull request açar ve TypeScript tipleriyle desteklenen sıkı şema doğrulamasıyla CI çalıştırır; bozuk yapılandırma canlıya çıkmadan başarısız olur.
Açıklamaya değer iki karar
Çizim için jsonform, eylemler için kod. Sunucudan gelen rastgele mantığı çalıştıran tamamen sunucu güdümlü bir arayüz, uzaktan kod çalıştırma riskini ve performans sorunlarını davet eder. Eylemleri önceden derlenmiş işleyicilere bağlı, veri güdümlü çizim, bu riske maruz kalmadan esnekliği korur.
Yönetici formu yerine Git. Yönetişimsiz kolay düzenlemeler canlı akışları bozar. Pull request’ler, tip denetimleri ve CI, her değişikliği sahiplenilebilir, gözden geçirilmiş ve geri alması kolay hâle getirir.
Sonuç
Yapılandırma sürümleri artık frontend dağıtımlarına bağlı değil; böylece çok pazarlı güncellemeler haftalardan saatlere indi ve bölgesel kod tekrarı artmayı bıraktı.