Recall the story from Chapter 1, Appreciating Node, about how Walmart ran all of its Black Friday mobile traffic through Node, which was deployed across the equivalent of 2 CPUs and 30 gigs of RAM. This demonstrates that Node processes I/O so efficiently that even Walmart-level traffic on Black Friday can be handled with only a few servers. This means that, for many people, running your Node application on a single server is all you'll ever need to do.
Nevertheless, it is often good to have several servers at your disposal, such as redundant servers to ensure failover recovery, a distinct database server, specialized media servers, one hosting a message queue, and so on. In keeping with the idea of separating concerns into many independent processes, Node-based applications are often composed of many lightweight servers spread across a data center, possibly even spread across several data centers.
In this chapter, we will look at the basics...