Last month at TechEd, Microsoft committed to what many of us knew already—a two year (in some cases, more like 18 month) release cycle for its server and system group products (Windows Server, SQL Server, System Center, et al.). While in some ways I think this is really outstanding (it’s cool to see problems get fixed and new features get added faster), the reality is that it is hard for Enterprise’s to adopt new software versions. Of the bundle Windows Server, should be the easiest, but I’ve had application teams tell me their new SQL Server couldn’t be on Windows version Z, just because their old servers were version Y. Yes, I know this is completely irrational and has no technical merit—it still happens though. The bigger issue tends to be with SQL Server and Independent Software Vendors (ISVs)—ISVs develop their product on a given version of the RDBMS and aren’t always quick to regression test, when a new version comes out. When I was a DBA this would frustrate me to no end.
So what is an enterprise to do about this? Throw your hands in the air, scream and run NT4? No—that would be a bad idea—you couldn’t even RDP into NT 4-remember that? Here are some things I’ve done:
- Limit support for old versions—and be aggressive with the timelines. At my last employer we avoided letting versions go into limited support modes
- Keep to a set number of versions available for new builds—this will save hassle around your build process, and can help force teams to adopt new versions of software
- Sell the new version—Both SQL Server 2012 and 2014 have major enhancements, which can really help application performance, but your dev teams probably don’t know about them. Give them presentations on new features that can alleviate their pain points.
One of the other things I attempted at my last job (we built a really slick VM automation process) was to limit the automated VM builds to SQL and Windows 2012. Unfortunately, this didn’t work as well as we expected, we still had a lot of 2008 and 2008 R2 requests that needed to handled manually.
My last thought on this, is that this is partially an attempt by Microsoft to draw my customers towards Azure/Office 365. The theory is that those platforms are always being upgraded with the latest features and versions, and you don’t have to take the time do the installation and integration testing, since Microsoft already did it for us.
What are your thoughts on the two year cycle? How will it impact your company?