Memecah aplikasi jadi banyak layanan tidak menghilangkan kerumitan. Ia memindahkannya dari kode ke jaringan, tempat yang jauh lebih sulit ditelusuri saat ada yang salah.
Untuk tim di bawah sepuluh orang, biaya tambahannya nyata: pipeline penyebaran per layanan, penelusuran lintas layanan, pengelolaan versi kontrak antar-tim, dan lingkungan pengembangan lokal yang butuh enam proses hidup sekaligus sebelum satu halaman bisa dibuka.
Manfaat yang dijanjikan, yaitu penskalaan mandiri dan kepemilikan tim, baru terasa ketika ada cukup banyak tim untuk dimiliki. Dengan satu tim, kamu membayar seluruh ongkosnya tanpa menerima manfaatnya.
Yang biasanya kami sarankan: monolit dengan batas modul yang tegas. Pisahkan lewat direktori dan antarmuka internal yang jelas, bukan lewat jaringan. Kalau nanti satu modul benar-benar butuh diskalakan sendiri, batas yang rapi membuat pemisahannya jadi pekerjaan sehari, bukan sekuartal.
