This has THE MOST satisfying sounds of any game I've ever played
just doing it because it made sense.
This ^^. Call it what you like - if it works, it works If I could go back and redo our early microservice attempts, I would 100% start by focusing on all the "CPU bound" functionality first: image processing and resizing, thumbnail generation, PDF exporting, PDF importing, file versioning with rdiff, ZIP archive generation. I would have broken teams out along those boundaries, and have them create "pure" services that dealt with nothing but Inputs and Outputs (ie, no "integration databases", no "shared file systems") such that every other service could consume them while maintaining loose-coupling. The reality is that if you want fast builds an experience that makes it easy to compare different commits, etc.. there is a tradeoff.
What makes you say there needs to be a tradeoff? If you can deploy these preview environments so easily why can it not be the same for production too?