I was doing an interview for a magazine article earlier today. One of the questions the interviewer asked me was “If you made a mistake in your consolidation, is it too late to recover?” My answer was, “It’s never too late to fix a mistake, and being virtualized only makes it easier.” This of course got me to thinking about the mistakes I have seen when people virtualize. Mostly the mistakes are implementing without a well devised plan.
I love the habit that Stephen Covey, author of “The Seven Habits of Highly Effective People” details:
“Start with then end in mind.”
This to me sums up the difference between a good IT project and a great IT project. When you implement virtualization do you know what you are trying to achieve in the long term? Many of the customers I have come in contact with bought $10,000 worth of software, deployed it, built on top of it, and never really thought about the long term goals of the project. Worse, some of them never thought of the project as a project at all. Virtualization sort of crept from the bowels of the lab to the production data center (whether development, test, or true production) where it is used every day. Most of the time this sneaky creeping into production is what causes the environment to be implemented with mistakes.
The good news is, to move from lab quality to enterprise quality in a virtual environment is not as complex is you might think. The first step is to go back to the beginning and determine what you are trying to accomplish with the new environment. Building a plan that has a set goal with steps to get from A to B is the critical success factor. For instance, let’s say you want to use virtualization to consolidate your existing workloads. The first thing to understand is what the existing workloads are. Once you know that you can determine what it will take to support them. Then it is important to know what else the new environment will be asked to handle. Once you know these existing and future requirements you can build a plan that accomplishes all the goals.
The first iteration of the implementation probably won’t be the end-all-be-all but it should be working towards it. It is much easier to plan on augmenting your environment than to plan on revamping at every new phase. It might even cost a bit more up front but this is nothing compared to what it will cost to redo down the line. A good friend of mine asks people this question, “That is the most expensive solution you can buy?” Answer, “The one you buy when the one you just bought doesn’t get the job done!” I like to call that throwing good money after bad. Either way you slice it, it’s not the PO you want to carry into your managers office to have signed.
I would say everyone in IT has a responsibility to practice this important habit of starting with the end in mind. It is what ensures that we see the big picture, that we know what is coming down the road and that we talk to the people who depend on us. All of these are habits we as IT practitioners should be living every single day. They are the habits that keep us from making mistakes in the first place. But it is nice to know that we can recover from our virtualization mistakes by moving some files to our new implementation, then moving over our servers and storage. At least we don’t have to throw anything we just bought away this time.
