Thanks for the feedback and to all that responded. This is my first article so somewhat green to some of the nuances or article writing.
So I thought I would take time to read your posts and see how the article fared.I managed to sprain my ankle quite badly yesterday so spent 4 hours in A&E reading your responses.
I must say it is with a wry smile that the big point for discussion is the Active / Passive terminology. I feel like I spent weeks building a Ferrari for people only to notice the tire tracks it leaves on the road are not quite right... :hehe:
So Active / Active / Active / Passive or AP+N, I really don’t care, the purpose of this article was to convey my experiences with you all on this topic. As Paul said, both are in use everyday. The terminology I use is deliberately vanilla, so everyone can understand it as a community of varying skill DBA's. I am not writing an advanced book on clustering here, nor am I writing TechNet articles (which funnily enough state both terminologies on cluster configurations). :w00t:
Safe to say, you all understood what I meant by Active / Active / Active / Passive cluster configuration. So did I get it wrong? No, from my point of view; - job done. 😀
Secondly, Virtualisation crops up a few times as a "better solution". I do not disagree with Perry or others who mentioned this is a good way to skin this proverbial cat. But there are times when Virtualisation is just NOT a suitable. Working as a consultant, I have hit quite a few of them:
1. As mentioned by other posters, the requirements are too high scale to allow use of hypervisors.
2. Clients aversion to Hypervisors - I see this more and more recently, especially around databases. As a consultant, I can sing and dance the virtuosities of virtualisation, put the business case forward and demonstrate the technical implementations. But at the end of the day, if a client doesn’t not trust it, does not want it then I as their advisor look for another solution. There are a lot of POOR installations of hypervisors out there, is the software at fault? No. Implemented properly as mentioned in the posts this can be highly effective. But a lot of companies threw hypervisors at their datacenters with no through or planning, and like every framework, hypervisors require both. Once bitten, twice shy so the saying goes.
3. Costs. Virtualisation is not without its costs. Every host you carve in a hypervisor environment has a cost no matter how small. Best practice for clustering on VMWare states each node should be on an individual ESX server, so enterprise SQL licenses would compare to physical servers.
What about hidden costs? An interesting look, compare Instancing SQL Server against SQL on hypervisors. Each hypervisor SQL server requires C drive, free space on that drive, page file, Free RAM for OS... I’m not saying this is unacceptable in light of benefits to be gained, I am just saying, there is a different point of view to be had and should not be ignored.
What about training costs?, Monitoring costs? Support costs? This technology can very quickly underpin your infrastructure; you need to get it right...
Which leads me to:
4. Supportability. One valuable lesson I have learnt working as a consultant, you don’t aim for a successful project, you aim for a successful implementation for the lifetime of the client’s needs. What do i mean by this? While experts are engaged projects usually succeed. It’s when the experts roll off project, things start to go wrong. In that vein, everything myself and my organisation architect and implement must meet a single golden rule, it must be supportable by the client.
In the case of this article, my client did not have any VMWare or other hypervisor experience. They had no budget to train or desire to. The budget was spent when the need for UAT was surfaced, we had to use what was there, no money for extra’s like VMware.
So in summary, as I stated at the end of this article; this is just one way to achieve UAT at minimal expenditure. Is it the best? Probably not, there are more elegant ways to do this, but the important thing is here you can and this hasn’t been really documented before. I think this is tribute to the flexibility of Windows and SQL server, which is why I was happy to share it.
Again thanks for the feed back and taking time out of your busy day to read it. Hope you find it useful.