Premature optimization is not about "optimizing before you need it", it's about optimizing before you've measured it. In this case, you have already measured it; you know the cost. There's nothing premature of optimizing at this moment. I would consider spending a day profiling the current setup to figure out exactly how much you could optimize.
> and takes a lot less programmer time
I don't see how this is true. You've already spent time setting up a distributed system from scratch (pretty much at least), and you also need to maintain it. Distributed systems are complicated stuff; lots of stuff that can go wrong. If the optimization made it possible to use a single machine, it would be much easier to grasp and debug.
> and takes a lot less programmer time
I don't see how this is true. You've already spent time setting up a distributed system from scratch (pretty much at least), and you also need to maintain it. Distributed systems are complicated stuff; lots of stuff that can go wrong. If the optimization made it possible to use a single machine, it would be much easier to grasp and debug.