So currently where I work we try to mimic our production environment as close as possible to our production environment. Our micro-services (APIs, listeners, data stores) are organized in the fashion that if it performs a responsibility (down to the data model) different than something else it deserves its own container.
Currently for our local development environment we have a mesh of Docker Compose files and NodeJS code that intertwines all this together, however it has proven to be unsustainable as it only works 20% of the time. Each API microservice (per model) I have been able to have my input accepted to condense the datastores into 1 database, as I believe the database systems such as MongoDB/MySQL have proven to have solved these issues at a lower layer.
Right now our containers come out to about 48 instances, which for me is crazy but this is described as the new way. These containers will randomly crash (some have memory limits so perhaps this is the cause). Is there a way that we can make our development environment not conform to our complicated production environment but still maintain productivity?