1 Could maybe make sense for a proof of concept, but realize that you're probably throwing it away (sooner better than later).
Start with 2, and think about the separation of deployable targets and shared libraries/plugins. You can eventually carve out separate infra for deployable targets when resource contention becomes a problem (e.g. DB load is affecting unrelated services)
Start with 2, and think about the separation of deployable targets and shared libraries/plugins. You can eventually carve out separate infra for deployable targets when resource contention becomes a problem (e.g. DB load is affecting unrelated services)
3 is rarely the right first step for a small team
4 is never the right first step for a small team