Virtualization for Database Development

  • Good article. I've been looking at virtualization for dev and QA, and the article and discussion are definitely going to affect how I set this up.

    - Gus "GSquared", RSVP, OODA, MAP, NMVP, FAQ, SAT, SQL, DNA, RNA, UOI, IOU, AM, PM, AD, BC, BCE, USA, UN, CF, ROFL, LOL, ETC
    Property of The Thread

    "Nobody knows the age of the human race, but everyone agrees it's old enough to know better." - Anon

  • Grant - good article. The timing is ironic - last night at my local developer group, we were given presentations on virtual machines. They mostly talked about virtual PCs, so your information about the virtual servers built on what we talked about.

    Also, the comments provided by Mark Stacey matched very closely to what our presenters said about setting up the virtual machines. This has gotten me thinking of how I could possibly use this technology at work and at home (and what to look out for).

    Thanks,

    Ian.

    "If you are going through hell, keep going."
    -- Winston Churchill

  • Thanks. I'm glad it was helpful. I originally wrote the thing when it looked like we had a success. I then went back and added new information to portray the failure.

    "The credit belongs to the man who is actually in the arena, whose face is marred by dust and sweat and blood"
    - Theodore Roosevelt

    Author of:
    SQL Server Execution Plans
    SQL Server Query Performance Tuning

  • I had a long conversation with our VMware SE (he's moved on to bigger and better things within VMware now) who I had a previous working relationship with long before he got to VMware. As a result, the discussion was quite candid. Lab Manager, speaking from a directory services administrator side (my primary job) is a nightmare to keep synchronized. The idea is great in concept: you have a nice little sandbox to play in that can't affect the outside world. It does this by effectively creating a snapshot in time. Meaning all changes in production have to be performed in the LabManager environment as well. That's duplicate work. And while I'm sure scripting could have been worked out using VMware's APIs and packages, um, no.

    In my current organization we treat VMs as physical servers, as another poster indicated. They are in with the "regular" servers. We do segment production and development into two forests, and there is some duplication of effort, but once a change is applied on the development side, it remains. Since Lab Manager is designed to be replicated and refreshed from a point in time over and over again, you have to look at applying changes every time you stand up the environment. So while there is duplication of effort with a separate forest, it is far less than going the Lab Manager route. In our case we use the development forest to test security models and then roll them forward to production, so we put up with the duplication of effort in order to facilitate the improvement in modeling we gain.

    K. Brian Kelley
    @kbriankelley

  • Excellent feedback. Thank you for that. From everything we were told by the vendors, we should have been dancing through the streets like we were in "On the Town." Instead it all had a serious "Reservoir Dogs" feeling to it.

    We probably will be expanding more & more into virtual servers for things other than SQL Server. Instances act so much like a virtual machine and are so much easier to maintain, that's probably how we'll manage things there. For now at least. Who knows what technology changes may come down the pike.

    "The credit belongs to the man who is actually in the arena, whose face is marred by dust and sweat and blood"
    - Theodore Roosevelt

    Author of:
    SQL Server Execution Plans
    SQL Server Query Performance Tuning

  • Forgive my ignorance on the subject but if you have a virtual server instance with the same spec (CPU, RAM etc) as a physical server am I to expect a 20% performance drop?

    I can see the benefits of virtual servers for development/integration but how about for a LIVE environment?

    If there is a % performance drop for a virtual server is it across the board or does it focus on certain aspects, say CPU?

  • Any performance degredation is not linear. Depending on how you're working with the system, there may be very little degredation at all. In the instances within the article, we were running, not just multiple servers, but multiple sets of servers. This lead to very perceptible performance issues.

    "The credit belongs to the man who is actually in the arena, whose face is marred by dust and sweat and blood"
    - Theodore Roosevelt

    Author of:
    SQL Server Execution Plans
    SQL Server Query Performance Tuning

  • Has anyone experience of using Lab Manager for multi-streamed development with different data recency requirements? That's a stumbling block we're trying to plan for in a planned implementation.

    Let's say you have a VM version of production. As I understand it, Lab Manager will then allow developers to build their own fenced environments from that in which they can do independent dev/testing. The storage requirement is small as it only holds the deltas from the base VM image. If a developer encounters a problem in their fence then they can destroy their cloned environment and quickly bring up new ones from the base image. That means the dev teams are working independently and no-one is modifying the base image thereby avoiding polluting that with code which may not work or be deployed. So we can continue to make multiple copies of servers and tear them down when they are no longer required.

    The problem comes when one dev team need recent production data on the base image. Perhaps a change has recently been deployed to production (or a new external data feed has started) and the new data is required in dev/test in order to develop new reports or data warehousing ETL work with "real-world" data. If we update the databases on the base image with production data then we will no longer be able to support the existing clones because the base for the delta has gone. So all dev environments have to disappear. Another dev team may be working on a long term project which involves the generation of lots of dev/test data so can't afford to keep losing their environments.

    Has anyone experienced these kinds of challenges and come up with a way to overcome them?

  • We were going to be dealing with exactly this issue. The plan was for there to be planned integration dates when all the development teams would check in their code and reset their images. At that time, if needed, we could get a new copy of the system from production so that we reflect the latest production code.

    Of course, since our entire plan never got off the ground, I can't tell you how that plan worked in practice. If you do figure something out, I'd be interested in hearing about it.

    "The credit belongs to the man who is actually in the arena, whose face is marred by dust and sweat and blood"
    - Theodore Roosevelt

    Author of:
    SQL Server Execution Plans
    SQL Server Query Performance Tuning

Viewing 9 posts - 16 through 23 (of 23 total)

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