Doing it, though, requires attention to exactly those things you outline. But the technology can make it a more tractable problem, solve-able in this case by three people working in their spare time.
ShutIt is great. The reason I say that is because I've already built 3 of these things with a similar philosophy, which is to say that bash scripts are perfectly adequate when coupled with some high-level orchestration/lifecycle mechanism that is managed with Ruby or Python.
I'm definitely going to give ShutIt a try because my next gig is a Python shop and I'm not really interested in writing another custom tool.
You should definitely evangelize this tool more because every single shop builds something like this but it never ends up being open sourced. That's a lot of wasted effort across the board.
I talk a little about this here:
https://www.youtube.com/watch?v=zVUPmmUU3yY
Doing it, though, requires attention to exactly those things you outline. But the technology can make it a more tractable problem, solve-able in this case by three people working in their spare time.