Modular Monolith: Kenapa Kami Tidak (Dulu) Pindah ke Microservices
Sitetisfy CMS adalah modular monolith, bukan kumpulan microservices — satu aplikasi Laravel, tapi kode dipecah ke modul-modul independen (APP, USER, BLOG, COMPANY, FAQ, SEO, AI) yang masing-masing punya layer lengkap sendiri.
Aturan yang membuatnya tetap modular
Satu aturan keras menjaga batas antar-modul tetap nyata: komunikasi lintas modul hanya boleh lewat Service Contract, tidak pernah lewat import langsung ke Service, Repository, atau Model modul lain. Aturan sederhana ini membuat setiap modul tetap bisa diekstrak jadi service terpisah kelak, kalau memang dibutuhkan.
Kapan microservices benar-benar perlu
Kami memilih menunda kompleksitas operasional microservices — deployment terpisah, network call antar service, observability lintas service — sampai ada bukti konkret satu modul butuh skala atau siklus rilis yang benar-benar berbeda dari yang lain. Sampai hari itu tiba, batas modular di dalam satu monolith sudah cukup menjaga kode tetap bisa dirawat.