I would like some guidance please on how best to structure our planned system in Akka Serverless. The system includes a number (8-10) of subsystems / separate applications with their own ubiquitous language / bounded contexts from DDD. Of course, each bounded context will have a number of different aggregate roots implemented using services in Akka Serverless.
What is a good way to organise such a project (focussing on development speed and ease at this time)? Having all the subsystems in one Akka Serverless project or a separate project for each subsystem? If just one project how do we organise all the services so they are grouped according to which subsystem they are in? Subsystems will also be driven by events from other subsystems.
It’s interesting to me that the separation of subsystems, at least as far as I understand, now becomes somewhat of a logical separation in deployment, i.e. deployment is just in essence a collection of services. It would be good and I think important though to be able to group services together and manage (e.g. start, stop, restart, deploy) these groups / subsystems independently.
I’m also thinking about how this would translate into the development side of things, and I am considering using Yarn or NPM Workspaces to hold the subsystems / collections of services in one repo. It would seem to be useful to be able to publish an application / package / collection of services in a workspace to a groups / collections of services within an Akka Serverless project or subproject.
Sorry for the long description and thanks in advance for any thoughts / suggestions.