If you've been following http://blogs.iis.net/ or http://www.iis.net/downloads/ lately you've probably noticed a lot of IIS software releases coming out with lots of odd acronyms... CTPs, GoLive releases, RTWs. You may wonder: what are these releases, and how do they compare to IIS in the past? For anyone who has been an IIS customer for a while, it may seem quite foreign to see IIS features coming out which are not attached to an OS release.
In the past, IIS has always shipped as part of a Windows Operating System release... IIS 5.0 in Windows 2000, IIS 5.1 in XP, IIS 6 in Windows 2003 and IIS7 in Vista and Windows 2008. The BIGGEST, sometimes invisible feature of IIS7, is the deep level of extensibility we've baked into the product. In fact, I often talk about IIS7 as a server platform release first, and a Web server release second. (but they both came out at once) We added a few new features in IIS7, but many of the new capabilities are a direct result of a re-factored architecture built around public extensibility points. This new extensibility model allows customers and partners to use the same fidelity APIs the IIS team uses to extend, customize and enhance IIS. And for the IIS team it means we can easily plug in new features over time, out of band from Windows. What does it mean for you, dear blog reader? Lots of cool new features for IIS7 will be coming out over the coming year or two! So the great Web server you're just getting to know will just get better and better.
I wanted to help you to parse these releases by explaining the acronyms and the quality bar each release is published under. This can help you decide how and when to use them.
CTP - Community Technology Preview
Think of the CTP release as a debut release. I tend to think of them as early 'beta' releases. With CTP releases our primary goal is to debut a project to the world in order to get feedback. This is your opportunity to shape the release...what you like, and what you don't like. CTP releases are usually not feature complete, and they are definitely not stress or performance tested to a large degree. We may ship multiple CTPs as we continue to iterate on the feature designs. For each CTP we do basic functional testing, a basic amount of security review (though not complete) and we put it out there for you to try out. CTPs are not licensed for production use, so we recommend against using a CTP in real world scenarios... not only may it crash or not perform well, but there is no guaranteed path to upgrade/migrate to the final release, and the feature you end up depending on may never come out (or change significantly before final release). Use CTPs at your own risk, but test them aggressively. Occasionally we will engage with a small number of customers and ask them to actually use the CTP in real world scenarios so we can evaluate how it works in more than test environments. These are well controlled environments where we can work closely with the customer to ensure good results, or the ability to pull back should things go wrong. If you're interested in doing this kind of engagement on a particular feature, it never hurts to ask!
Releases that are currently in CTP form:
GoLive - Ready for Production Use / Testing
Once a feature has reached a certain level of quality, we release it under a "GoLive" label. GoLive releases are licensed for production use, but are not in final release form. I think of them as 'release candidates'. GoLive releases are feature complete (all the major features planned are implemented) and they must meet a much higher quality bar before release. For GoLive releases we do a fair amount of testing automation, to ensure repeatable functional testing, and we do some stress and performance testing to ensure basic quality. We review the security of the feature, to ensure customers are not put at risk by deploying the feature. Our primary goal with GoLive releases is to validate that the product is ready for the final release. Be sure to take calculate risks and try these out on your Web servers and tell us what you think!
Releases that are currently in GoLive form:
RTW - Release to Web
And when a feature is done we release it under a "RTW" label. RTW releases are the final Web release of a feature for IIS7. For a feature to reach RTW status, it must go through the full release process here at Microsoft, which means lots of lots of testing, review, and yes, lots of paperwork. RTW releases are fully supported, just as if they were shipped as part of the Operating System. You can count on RTW releases to run your business. If a critical security fix becomes necessary, we will release an update for the feature. If major functional bugs or changes are required to an RTW release, we will plan an incremental version update (v1.1).
Releases that are currently in RTW form:
Life after RTW?
You may ask: what comes after RTW? Will there be future versions of a feature? Will it ever make it into the OS? The answer to these questions is a definite maybe. Depending on the feature, we will put it in the next Operating System release if we think it is a broadly useful feature that customers want to have as part of an Operating System (and assuming we can make the Windows schedule/dates). For example, in the next version of Windows you can expect to see the new FTP7 and WebDAV extensions integrated into the release. For other features, especially if we think we want to be able to rapidly evolve a feature over multiple versions, you can expect to see minor and major version releases going out on the Web rather than incorporation into the OS.
I'm really excited by the agility and new freedom the IIS team enjoys in delivering features out of band to make Windows a better Web server. We hope these features are interesting to you and give you even more reason to keeping using IIS, and upgrade to IIS7. If you have feature ideas you'd like to see developed, be sure and send me feedback! By giving you early access to new feature ideas we're developing, through the CTP and GoLive releases, we hope to incorporate your feedback into the product and make sure it works exactly like you need it to. Be sure and tell us what you think!