We were “throwing machines at the problem” instead of engineering thorough solutions –– our front-end Ruby machines were not handling the number of transactions per second that we thought was reasonable, given their horsepower. From previous experiences, we knew that those machines could do a lot more. - Twitter Engineering
Honestly, I understood only a small bit of what Twitter wrote here, but in a nutshell, what I got from it was: it's better do develop in separated modules or blocks, than work with one giant code base.
Or, it's better to build a tower with Lego, than with Jenga blocks.
I try to do is with the infrastructure I support at work also. Instead of one big ass Mac Pro, I work with a dozen Mac mini's. Which gives me a lot of manoeuvrability. Some servers are still running 10.7, while others are running 10.8. I can take one server down for a ram upgrade, while all other services are up and running smoothly. I like this kind of module based set ups, although it's a bit more difficult to explain how everything's connected.