I split this service into another module or not?

I understand it, let’s split the topic before going off-topic!

When you are planning an app architecture you often have this question: should I split this service into another module or not?

In the end I often prefer the “heavy way” because it is easier from both development and administration point of view; it’s more flexible than creating “generic apps” (e.g. MariaDB app). With “generic apps”:

  1. the components lifecycle is unpredictable. If some app wants today MariaDB X, tomorrow may want MariaDB Y: how to make it work with all the possible client apps?

  2. simple deployment, development and maintenance: a centralized MariaDB instance serving multiple client apps is more difficult to backup, restore, move etc. and is a single point of failure.