Replying to @Michael Widner's post:
Even though I haven't set up a DH lab, I have managed a public cluster and so wanted to throw in a few words for considering this aspect of things. From that perspective, one part of the answer to your question has to be, "Nothing you can't support." By 'support' I don't mean that you have trained ninjas (or pirates or vampires, depending on where you fall in that religious war) for every application, but that you have funding, licensing, data, upgrade, and security management capabilities for everything that goes in. On that last note, I must say that when I was managing a public cluster, there's no way I would have gone with Lincoln's idea of allowing lab users to install their own software. That has huge potential to bork a system inside of 30 seconds. By the same token, providing support for users installing whatever on their own machines is a great idea. Teach a DHer to fish and all that.
One management tool and approach you might consider is Deep Freeze or one of its ilk. That software resets a computer to a default stat at a desired interval. I did not use it in my cluster management work, but I know entities on campus at my institution do.
There are similar programs for doing centralized patch management, but not all software plays nicely with this approach. You'll need to decide whether you mind doing manual, one-by-one updates on the machines or whether everything must be tractable from an MCP.
Finally, despite some opposition to smartboards, I'd recommend one (or similar device or software overlay), if only because some of the people you are working with will likely sooner or later need to know intimately their features, benefits, and advantages.
[EDITED to make smartboard ref a proper link, and to add paragraph spacing]