I am working on a large scale ASP.NET web app.
The system is large enough to warrant monitoring systems, build scripts, source control server, etc etc.
I now want to setup a proper development environment whereby I have a development server, QA and staging.
I am going to be setting up Windows Server 2008 Standard Edition x64 (I have 4gb RAM so want to see all of it).
Would I just have to setup a VM for each environment? But the question this raises is that at the moment all my software is on Vista. It'd be good for each VM to have only the software it needs (e.g. I won't need Visual Studio on staging as I shouldn't change code on there) but I guess this can't be done? Should src control be on a central location and not in one of the environments (e.g. dev)? So something like:
Source control server v v DEV v v QA v v Staging
And thus everything is decentralised.
How do you go about this?