Merhaba,
Müşterilerimin aktif olarak kullandığı, multi-domain çalışan bir ERP sistemi mevcut.
Şu an Git üzerinden yapılan her push sonrasında CI/CD workflow tetikleniyor ve matrix yapısı sayesinde tanımlı tüm web siteleri sırayla güncelleniyor. Bu kısım stabil çalışıyor, burada bir problem yok.
Ancak müşterilerimin kurumsal web sitesi ihtiyaçları da oluştu. Bu web sitelerinin de ERP üzerinden merkezi ve senkron şekilde yönetilmesi gerekiyor.
Örneğin ERP’ye bir blog modülü eklediğimde:
- Tüm müşterilerin web sitelerinde otomatik olarak aktif olmalı
- Aynı modül ERP panelinden yönetilebilir olmalı
Asıl soru burada başlıyor.
Bu yapıyı yine CI/CD matrix mantığıyla her siteye tek tek deploy etmek ne kadar doğru emin değilim. Çünkü:
- Herhangi bir hatada tüm sitelere erişim riske girebilir
- Onlarca (ileride yüzlerce) siteyle tek tek uğraşmak operasyonel olarak sürdürülebilir değil
Bu yüzden alternatif olarak şunu düşünüyorum:
- Birden fazla domaini tek bir Laravel uygulamasına
(proxy pass / reverse proxy / wildcard domain vb.) yönlendirmek
- Her domain için:
- Ayrı veritabanı
- Ayrı tema / tasarım
- Ortak core (ERP + CMS modülleri)
- Tüm yönetimi tek merkezden yapmak
Kısacası çoklu domain, çoklu veritabanı, tek kod tabanı olan bir yapı hedefliyorum.
Bu noktada merak ettiklerim:
- Böyle bir mimariyi daha önce kurmuş olanlar nasıl bir yol izledi?
- Reverse proxy mi, tenancy package’ları mı, yoksa tamamen custom bir yapı mı daha sağlıklı?
- Ölçeklenebilirlik, güvenlik ve deploy süreçlerinde nelere özellikle dikkat etmek gerekir?
Tecrübeli arkadaşların görüşlerini duymak isterim.