Setting up a Pre-Production environment (PPE) takes a little planning; *IF* you want it to be robust. Sure, anyone can purchase an extra box for "dev" and call that PPE, but I'm talking about REALLY have an environment that either mirrors production to a 'T' or comes very, very close.
In Part I we talked about the "What" and in this part we will talk about the "How". Once you have all of your requirements, it is now time to build it.
Below I will give an example of a PPE design that sits next to a production design to give you an idea of what I am talking about.
On the left is a representation of a typical SharePoint farm that could be a production environment. On the right you see a representation of what a Pre-Production environment (PPE) could look like. You will notice that the two are very similar, but not identical. The point is that the environments are "functionally" identical.
Once you have determined what the logical design of your PPE should look like, then the next step is to figure out how it will be deployed. You have two choices: 1) Physical or 2) Virtual. There are Pros and Cons to both and below I have put them in a table:
In my own implementations, I have chosen virtual most of the time. Now that we have chosen the type lets assume that you know how to install the operating system on the virtual machines and set up SharePoint. Remember, treat the virtual machines just like they are regular servers. Give them IPs in the same range as your production servers. As far as the naming convention goes, use the same naming convention in PPE that you use in Production, with the exception that you should prepend the names with 'P' or 'PPE' to differentiate between them.
Now we have to "seed" the virtual environment with data from Production. I recommend that you only seed the environment with a *subset* of the information from Production. Perhaps making a backup of your My Sites database would be good. You could also use a third party backup and restore utility for MOSS that will even give you item level restores. That is the way I recommend it. Once the environment is seeded, you are ready to to conduct your tests. There is also another option: System Center Virtual Machine Manager. If you need your PPE to be an EXACT copy of Production, and the PPE is virtual, you can utilize the P2V capability and accomplish your replica in that manner.
After you are satisfied with how your tests go in PPE, now comes the time to move it to Production. There are two approaches: a) use the same procedure that you used to install the pieces in PPE and repeat it in Production or b) use the same third party backup and restore utility to move it to Production.
There is no substitute for having a PPE to test your changes and for testing. Spending the money on PPE will be well worth the cost.