Summary
Express in commercial production environments can look a little different, but for good reason. Many of the tasks Express/Node support can be performed better by other tools. In our application, we have tried to stay on the node stack; we have chosen to use stud to terminate SSL as our entire application runs on SSL. Stud will outperform all in this space, including Nginx and Haproxy. Stud will forward unencrypted responses to Hipache, which balances load. Hipache is based on node-http-proxy; it uses cluster for failover. More importantly, unlike node-http-proxy, it can manage memory, making it a reasonable choice for a load balancer.
Hipache works well, but if it's performance you really seek, Nginx and Haproxy are the de facto tools to reach for. For failover, we are using node's cluster module, which along with domains, makes our application a little more robust.
Our static file requirements are minimal, so we have chosen to serve, cache, compress, and minify our static resources...