Virtualization environment design

  • Hello,

    I'm a sysadmin and our DBA has recently left. We were in the midst of designing a virtualized environment for the development team. We have 3 servers that we intend to use for QA, Staging and Development. My question is, money aside, what is the best way to configure these servers? We have both 2005 and 2008 SQL databases. Let's say we had 6 different databases to account for (4 on 2005 and 2 on 2008). Should I create one 2005 VM and one 2008 VM and place all the databases accordingly? Or should I create a VM for each database?

    I feel like the latter would be the choice for best performance (also more expensive from a licensing perspective) since you can appropriately allocate the resources to specific databases.

  • Way too late answer, but still since other may want the answer. I would have created one VM per environment, with one or more instances on each VM according to needs. The reasons for this is to be able to install patches/updates independently in these environments.



    Ole Kristian Velstadbråten Bangås - Virinco - Facebook - Twitter

    Concatenating Row Values in Transact-SQL[/url]

  • Can you do just one instance of 2008 and run the 2005 database in compatiliby mode? That only means 1 license.

  • Can you do just one instance of 2008 and run the 2005 database in compatiliby mode? That only means 1 license.

    Let me just rephrase it.

    'You want to configure ONLY 1 instance on 1 physical box (no VMs at all) and multiple databases (per application, different compatibility modes) with 1 license (assuming valid processor license)’.

    Yes, it’s a valid licensing per my understanding. But you must crosscheck with Microsoft team once.

  • You do bring up a good point about patching and what not. In general, we are pretty good about patching and keeping our servers up to date, but that doesn't necessarily account for SQL patches and SP's. I'll have to keep that in mind.

    Thanks,

  • First of all. A physical box is most commonly superior to a VM in terms of performance, but you may not always need that extra performance. If so, a VM may actually be a good choice. I am definitely not a virtualization fanboy, but in some cases it is actually an acceptable option in terms of performance, and definitely the cheepest.

    Regarding instances, there is nothing wrong with multiple instance on a single server, and as far as I understnad it, SQL Server 2008 gives you downgrade rights so that you don't have to buy extra licenses to run both SQL Server 2005 and 2008 on the same server: http://download.microsoft.com/download/1/e/6/1e68f92c-f334-4517-b610-e4dee946ef91/2008%20sql%20licensing%20overview%20final.docx

    I would however, as said, strongly recommend that you don't mix different environments (production/dev/test etc) on the same VM, as malfunctioning patches then will bring down multiple environments. You should be able to test all patches in your test environment before releasing them in production.



    Ole Kristian Velstadbråten Bangås - Virinco - Facebook - Twitter

    Concatenating Row Values in Transact-SQL[/url]

  • Use VMs. You are talking about a dev/staging/QA environment where performance is not an issue. If performance testing is part of the remit, then you should be using hardware as close to your production environment as possible. You should also have plenty of scripted workloads to simulate different production load patterns.

    Getting back to the VMs. VMs are really useful for dev work. Get your VM to a point where is satifies your dev requirements, snap it and the you have an image you can switrch in at anytime. Ditch the old image that may be FUBAR by that point and everyone is happy.

    As for 2005 v 2008. If you are developing for production machines that are 2005 or 2008, then develop on an instance that matches the final production destination. The differences will bite you one day. Best to go with like for like as much as possible.

    SQL licensing in a deve/test environament is simple: there is no cost. As long as you can clearly satisfy MS in an audit that your dev environment is strictly just that, then you are OK. To make it clearer use SQL Developer Edition. The only trouble you may come across is a developer uses a SQL feature that is only availabe in the Enterprise edition and your target production machine is a Standard instance. This can be managed by having clear requirements and some code review.

Viewing 7 posts - 1 through 6 (of 6 total)

You must be logged in to reply to this topic. Login to reply