-
Yapılandırma otomasyonu için bildirimsel (declarative) süreçleri sistematik hale getirerek, yeni geliştiricilerin projeye katılması için gereken zaman ve maliyeti en aza indirir.
-
İşletim sistemine göre değişen kısımları netleştirir ve çalışma ortamları arasındaki taşınabilirliği en üst düzeye çıkarır.
-
Son dönemde ortaya çıkan bulut platformu dağıtımlarına uygundur ve sunucu ile sistem yönetimi gereksinimini ortadan kaldırır.
-
Geliştirme ortamı ile üretim ortamı arasındaki farkı en aza indirip çevikliği en üst düzeye çıkarmak için sürekli dağıtım mümkündür.
-
Araçları, mimariyi ve geliştirme yöntemini büyük ölçüde değiştirmeden ölçeklenebilir (scale up).
** The Twelve Factors **
I. Kod tabanı - sürüm kontrolünde tutulan tek bir kod tabanı ve çeşitli dağıtımlar
II. Bağımlılıklar - açıkça tanımlanmış ve izole edilmiş bağımlılıklar
III. Yapılandırma - ortamda (environment) saklanan yapılandırma
IV. Arka uç servisleri - arka uç servislerini bağlı kaynaklar olarak ele alma
V. Build, release, run - build ve run aşamalarının kesin biçimde ayrılması
VI. Süreçler - uygulamayı bir veya birden fazla durumsuz (stateless) süreç olarak çalıştırma
VII. Port binding - hizmeti port binding kullanarak yayımlama
VIII. Eşzamanlılık (Concurrency) - süreç modeli kullanılarak ölçekleme
IX. Elden çıkarılabilirlik (Disposability) - hızlı başlatma ve graceful shutdown ile kararlılığı en üst düzeye çıkarma
X. Geliştirme/üretim eşleşmesi - geliştirme, staging ve üretim ortamlarını mümkün olduğunca benzer tutma
XI. Loglar - logları bir olay akışı olarak ele alma
XII. Admin süreçleri - admin/maintenance işlerini tek seferlik süreçler olarak çalıştırma
Henüz yorum yok.