I don’t know about your environment, but at mine we have two classes of systems: Prod and Test. So as you can guess, anything that is not Prod is Test. That’s a pretty simple definition. Further defined anything that has a DR priority of 6 or less is PROD and anything 7 or greater (or not graded) is test. This makes live very simple, or so it would seem. So that brings me back to my question: Are All test environments created equal? On the one hand an answer of “yes” lets everyone know what to expect.
- Will the Test system be backed up?
- If it is backed up, what is the retention?
- What level of disk redundancy is available?
- Can Test servers be physical hardware or VM only?
- What is the recovery priority if needed?
This sounds like a pretty straight forward way to go. But on the other hand does one size fit all? We use many of our test systems for training. The current production system refreshed the test system, the upgrades are done to the test system and the end users are trained on the new system using the test environment. New employees are also trained on this system on an ongoing basis. So here’s the scenario. A medical system is going live in 2 days. 100 nurses need to be trained. Training takes 2 hours. The medical facility calls in PRN staff to cover the nurses during training. Let’s just assume all the nurses make the nation average that I googled a few minutes ago of $45,000 per year + benefits or $21.63 per hour + 39% benefit package. (yep, made that benefit number up makes it an easier $30.00 per hour labor cost) lets also say the training room can accommodate 10 students. Just for fun, lets also say the contract with the trainer is for two 12 hour days at $50.00 per hour including expenses. My calculations work out to about $660.00 per hour of training or sitting if the test system is not available.
- $30.00 per hour of the nurse in training
- $30.00 per hour of the nurse replacing the nurse in training
- $60.00 per instruction hour by the trainer ($600 per day/10 instruction hours)
- Ten nurses and replacements
I’d hate to image the cost if we were training doctors rather than nurses. Does that system have the same requirements as the “sandbox” I use to experiment and document the SQL 2005 SP3 upgrade?
So when does this discussion happen? Usually it involves the SAN/Backup team. They are charged with providing disk for servers and ensuring that what is on that disk is archived and recoverable within a reasonable time. I don’t envy their position at all. They also have to balance backup windows, and backing up test databases uses equipment and storage that the Prod system could be using. There are only so many data paths and hours in the day and purging old data seems to be a thing of the past. So I’m not sure a simplistic look at Prod/Test is appropriate. As we look at tiered storage, tiered version of SQL do we also need to look at tiered test environments or break the model completely and add a couple more tiers. Prod, Train, Test, Sandbox. Then place policies and expectations at each level. How about your environment? Do you ever struggle with getting other teams to understand the cost of data that is not “Production”? Of course that leads into the “we want to test this software and see if it solves the problem and now we have 100 users depending on it” issue, but that’s another day.