Need a new Test Environment Server - Advice needed

One of our old managed solutions recently passed away (company was bought out and trading was ceased) so I am now in the market for a new test environment setup.

We’re a .NET shop with a few ASP.NET sites that I would like to clone (database included) onto our test environment. I’ve never set up a server before, so buying our own and configuring it probably isn’t the best option for us. We currently have a Windows server available to us which runs many of the IT support things, like our Exchange server, along with our intranet. However, it’s not that powerful and I am a bit wary about hosting a virtual machine on this server as I’m not sure how much power a test environment needs. Shelling out for a brand-new host just for a test environment seems a bit overkill to be honest.

As I’ve never set up a proper test environment for development outside of a Virtual Machine and a copy of XAMPP would someone be able to point me towards what I’ll need for a modest-sized ASP.NET website (with SQL Server db)? Should I just set up a new Virtual Machine? Will it affect my server in any negative way?

Setup more than a few of these. First, you should keep all development away from production IT – its just not worth the potential trouble. If the server is a bit overburdened, having another VM on there can’t help.

Luckily setting up a Hyper-V host is very, very easy. You’ll need a reasonably powerful multi-core CPU, a 1-2 year old desktop is adequate, 3-4 years old could work in a pinch. Will need to have hardware virtualization support for Hyper-V. Storage-wise, I would advise setting up a mirrored RAID array – that should speed up reads a bit while also giving you a bit of redundancy in case the disk made by the lowest bidder fails. I would also highly recommend getting the virtual machines on a different set of spindles than the OS. Our typical layout looks like this:
-2x 80gb HDD [typically what the PCs came with], RAID 0, BOOT + OS
-2x 500gb HDD [typically “enterprise” grade Western Digital or Seagates, 7200RPM, 16+MB cache] RAID 0, Virtual Machines

Then just install Windows Server 2008r2 and add the Hyper-V role.

In terms of topography, the most important thing I’ve found is that if you are running your DB and your web server on different boxes, you need to make sure your test/staging environment reflects this – funny things happen to ADO.NET when it starts to go over the wire.

Then you’re exactly the kind of man I need to talk to. :slight_smile:

Quite frankly, I am terrible with hardware and as much as I love development and want this test environment the entire set up of such a thing is so daunting to me.

Well, after a brief chat with one of the old IT guys who worked on setting up our system it turns out that the small server is maxed out and that if we were to run any kind of VM it would have to be on our dedicated server on Rackspace.

I don’t think our production server is even that powerful! We’ve appear to have a quad-core Xeon processor (2.5GHz) with 4GB of RAM and naturally any data is separated by different drives (files and db on separate drives to OS). To my knowledge our website “data drive” has about 100GB free.

One issue I can see is that we run W2K3 Server. I may be wrong, but didn’t the later versions vastly improve virtualisation (i.e. making it run closer to the metal)? Will this be much of a problem should it come to cloning our current dev setup and running it in a test environment?

Our environment doesn’t need to be anything fancy, just something that we can clone our current sites to with the databases and run our own code on before we port over to the live site. I assume that for dev access we’d have SSH readily available and that we can change our hosts file on our machines and the server to offer “dev.ourdomain.com” to be the dev server.

It appears that our database is run on the same server, so I’m guessing that running a straight VM copy of our current set up wouldn’t be such a problem?

I’ll have some IT guys to help me out with this, so I won’t be exactly stabbing in the dark when setting up this test environment, but do you foresee any issues with setting up a VM on my current setup? If I can avoid slowing the server or having to buy a brand-new server then all is good.

Yeah, definitely would not advise setting it up on the current server – 100gb isn’t enough and 2k3 is the wrong OS – Hyper-V is a much better virtualization tool that runs on 2008 server. If you’ve got MSDN licenses (or Biz Spark) you should be able to install 2008 server for development purposes – such as QA testing your website(s).

You probably want to source some new hardware – or use the rackspace option. Sounds like you don’t need anything as beefy as we do, you could get away with an old desktop with whatever you are running in production on it. No need for anything fancy. I would keep to not intermingling this with production if at all possible.

We may have a spare desktop lying around, but they’re not too powerful either. They may have around 200GB of space, but will likely have around 1GB of RAM and a 1.2GHz processor. If we do have to purchase more server space how expensive do you envision this being?

All in all, we’ll probably host around five different test sites on it, four of them being quite small 50 page Umbraco sites. The one test site will probably be quite large though. It currently has around 7000 content pages and we’ll probably want to clone this site too if possible.

To my knowledge we have a MSDN Essentials after recently purchasing a copy of VS2010 Professional. Would we be able to get W2K3 with that?

Gotcha. If you aren’t doing performance tests, that should work well enough I’d think. Disk-space wise, 500gb hard drives are $80 or so these days, you can definitely up the disk space pretty easy. The MSDN subscription should let you download and install W2k3.

No idea what it would cost to get server space – way too many variables there to pin down the cost. I would take a run at setting it up locally first. The expensive part is the licensing but MSDN has you covered there. Can always scale up to a hosted server – or purchase beefier hardware – if the default option isn’t working.