How about programming for scalability (aka "Can we stop using Apache yet")?
Virtualisation is all well and good, but I can't quite shake the feeling that sometimes, the very fact that you *can* consolidate multiple "servers" to run on the same piece of tin is because those pieces of tin weren't being pushed to the limit to start with. If that's because you just aren't asking much of those boxes, that's fine. But if it's because the software on those boxes can't take advantage of the hardware available to it, you need better software.
Why, for example, are most of us still running webserver software in which the overhead for an open-but-idle connection isn't completely, utterly trivial? From the Apache 2.2 docs for the "event" MPM: "However, Apache traditionally keeps an entire child process/thread waiting for data from the client, which brings its own disadvantages. To solve this problem, this MPM uses a dedicated thread to handle both the Listening sockets, and all sockets that are in a Keep Alive state." Sounds fine, but the event MPM is still considered "experimental".