Release Cycles and Why We Are Chasing Our Tails?

One of the things I continuously heard from a decent number of people during VMworld is that they are constantly running after the technology.

I actually put out a question on Twitter with the following poll:

How many of you are still running ESXi 4.X in your environment?

The results were actually a confirmation of what I heard at the show. Over 70% of those who replied said they were running the previous version. In fact there were a few who actually said they still had customers or knew customers who were still running on 3.X!! (heaven forbid)


The obvious question that might come out of this is why? Why are people still running on older versions? Why not upgrade to the latest and greatest? The incentive is so compelling, the new features that are added with each new version are so enticing - it should actually be hard to resist! And it is!
I guess that is what any software vendor would like. Use the new version, we have fixed up the bugs. We have listened to our customers, improved based upon the client's feedback, added the latest and greatest

So..... if the customers want it, the vendors want it, the. Why is it not happening? Well here is what I would like to raise in this post. I do not actually think that is what the customers want. Well not exactly true - we do want the latest and greatest, but... (and here it comes..) not so often. What do I mean? VMware has been on a release cycle of a newer version once a year - a it usually happens around the time of VMworld. Granted it is not a major version release every year, but every other year (ESXi release dates)
ESX 3.0.0 GA 2006-06-16 27701
ESX 3.5.0 GA 2008-02-20 64607
ESX 4.0 GA 2009-05-21 164009
ESX 4.1 GA 2010-07-13 260247
ESXi 5.0 GA 2011-08-24 469512
And ESXi 5.1 GA is expected within the next week or so. Looking back at the table above, the past 4 versions have been released 12-14 months apart.
I am sure that not everyone is the same as me but let me explain how a release would be deployed in my environment. We never deploy x.0 releases at time of GA, NEVER! - why you may ask, because there are always bugs, always. Our infrastructure depends on the hypervisor being stable - rock solid. So we will wait for 3-4 months or until Update 1 (or SP1 in the case of Windows) to come out.
The GA version gets deployed into a lab environment which is as similar as possible to the production environment for testing, for training and for evaluating what the new features can do for us, and where the pain points might be.
x.1 is released. We will wait a period of up to two months to see if there are any major bugs with this version - and in the meantime upgrade our lab environment.
We are now 6 months from GA.
If all is OK then it is time to perform the upgrade. Some upgrades will take longer than others, take for example the migration from full blown ESX to ESXi. But then comes the rest of the work needed. And that is upgrade of VMware tools and upgrade of virtual hardware. This requires downtime for each and every single VM in you environment which is not a simple procedure which sometimes take months. Take into account that this is not the only thing you are doing of course. Storage upgrades, optimization, exploring new technologies, maintenance and support of course. You can easily see how it can take at least a year or even more to move over to a new major version.
Once we are running on the major version, the minor version upgrades are more simple and take less time of course - it would be pretty much the same as a patching cycle. I assume that you can see where I am going here. I do applaud VMware for their rapid release cycle, the additional functionality added. It is expected of the market leader and highly appreciated. Windows server is slightly different Take this graphic for example:

A major version has been released once every 3-4 years. Is this a good thing - hard to say, but it does make IT's life more manageable.
Web browsers like Firefox and Chrome are moving to a rapid release schedule of all most once a month, are these major upgrades or releases, not really sure, but what I would really really like (perhaps the better term should be expect) is that stability is just as (if not more) important than innovation. Technology is a great thing, but it also has its down sides. We have become a society of instant gratification, we want everything now, and if not then we find it somewhere else. Television and advertising are molded on that assumption. You have to get the viewers attention within 10 seconds otherwise you lose them. Things are on sale now! Act now! Always now now now!!!
Another example sales pitches, they turned into elevator pitches, which then turned into 20 second pitches because elevators move much faster than they used to in the olden days
Chasing our tail??
I am not a believer in instant gratification, I do not raise my kids this way, and I generally think that things that are done on impulse are not always the right thing to do. That does not mean that spontaneity is a bad thing, it is not always the right way to do things in all circumstances. When major changes are needed, serious consideration, planning and testing are called for.
Back to the title of this post and I hope you have managed to stay with me until now. If you ask me, if I was to choose between having a new version every year be it minor or major, or having something a less bit fancy, but that allowed me to reap the stability benefits and therefore manage my environment in a more efficient way - I would choose the second option every single time! Keeping up with technology is fighting a losing battle.
IT is battling with their users who are constantly running ahead of them, and they have to play catch up the whole time. Sometimes this demands compromises on their part, compromises they would not have agreed to if they had sufficient time to plan. What this does pose as a challenge and an opportunity to VMware or any vendor for that matter, to provide this rapid rate of evolution, and still enabling the Enterprise to embrace it swiftly and keeping the disruption to a minimum. I think that the latest feature VM Compatibility is a great step towards meeting that challenge.
One last thing for you to ponder…
  • How often do you upgrade your storage?
    • When was the last time you upgraded your storage firmware to a new major version, or a minor one for that matter?
  • When did you flash the IOS on your Cisco switches to a new major version?
    • Would you do it once a year?
    • Once every two?
    • Three?
If I could say the same thing about my virtual infrastructure then I wouldn’t be writing this post, would I … ?
Give me a stable platform over a rapid release cycle any day.