We have a combined monolith + microservices architecture built with Rails and Sinatra. We have an existing Rails legacy monolith app. As a small team I find there is significant overhead in managing the complexity of the microservices.
We are planning to rebuild the core monolith in Go, but Id like to achieve modularity and loose coupling of services in the Monolith so that future conversion to microservices if needed would be easy. There are many reports of rebuilding Rails monoliths to Go microservices but few of monolith to monolith.
Just wanted to know if anyone has experience in doing something similar and how it was approached. Did you follow the Rails patterns or did you rewrite with more Go like idioms? Has anyone achieved the benefits of monolith in Go whilst maintaining separation of domains within the app?