To me, the primary advantage of all this new-fangled web server technology is the improved developer experience, not the performance implications.
To me, the primary advantage of all this new-fangled web server technology is the improved developer experience, not the performance implications.
You can then easily evolve your app server in whatever direction you need to.
Another benefit of writing code targeting platforms like Heroku is that when your app gains traction you can easily scale since the app would've been (forced to be) written keeping horizontal scaling in mind.
At what point is this a project that can be considered self-sustaining? (i.e. pays for its own development). Can you reach that point with a single box?
And if you can, do you have some leeway for growth after that point so you can actually develop a more scalable solution?
For some projects, that results in being OK with a single proc/single box approach. For other projects, you realize that unless you acquire ${LARGE_USER_COUNT} users quickly, you might as well give up on it - so you have to build in some scalability.
There's also expected growth rate - if for whatever reason you think your project might easily grow from single box to "needs more than one" in a short amount of time, you better plan for that.
It's that whole "horses for courses" thing ;)
Also building your app thinking about a bit of scaling upfront gives you more time to work on your app, because you don't even have to setup and configure your web servers - getting an app running in Heroku is the most painless way of app hosting that I've seen.
It's not about "embracing the cloud" what ever that means, but about being ignorant.