A new engineer on the team suggests that we merge all the applications together. We render the frontend using express, and combine the microservices together.
He's argument is that monolithic apps can still scale well. Furthermore, it'll be easier for engineer to roll out features since the entire code is in one project, and a feature can be developed all the way from the back to the frontend.
I'm finding his argument hard to believe. An app of that size can end up very coupled. It will be a single point of failure. If one child process crashes so much damage can be done. DB ORM will run slower because of how DB intensive the app will be. Obviously many of these issues can be solved with sufficient scaling. Which would also cost more since we're not scaling whats in demand, but instead the entire app. -- Even if we decide to split the app down the road that only means a way larger effort.
Lastly a very smart person told me once to shard early. It's hard enough to shard early he said, so why do it when you're running out of time.
That engineers argument is to just keep scaling up the DB. While I agree that's a temporary solution, in a world that produces and collects more data each day, sharding in my opinion is inevitable.