IIS7. First Major Milestone


A large chunk of my past seven days has been spent on doing all I can to ensure that IIS7 reaches its first major milestone enroute to shipping in Longhorn Server (or whatever it will be called – Vista Server? Nah. 😉 ).


Several of us easily put in personal 100 hour week to get it done (yeah, I know it does not measure up to the crazy hours at a startup, but hey, please just sympathesize with me for a moment here, ok? Good. 😉 ), and I cannot remember the number of times that I saw 5am, going to sleep in the morning sunlight, only to wake up before lunch, the number of Red Bull drinks consumed, and the number of times I ran and debugged IIS7 and tests on x64 machines. But, the job got done.


Debugging on Longhorn


And let me just say that debugging system services (like IIS) on Longhorn is a pain. I understand the security justifications, but I am not going to stop griping. And no, it is NOT much different than native code debugging on IIS6, IIS5, or IIS4 — the EXACT same strategy and debugging environment works for all of them. So, if you really understood the debugging principles, not just some debugging step-by-step instructions in a KB article or help/guide, you should be fine. I plan to do a brain dump on this topic in a future blog entry, so you do not need to fret.


I can just say that you will not be able to use Visual Studio to interactively debug a running IIS7 system. Tools like DebugDiag/IIS State, stand-alone debugging of w3wp.exe using Visual Studio, and debug client/server options in WINDBG, NTSD, and CDB from the Windows Debugging Toolkit are your only options. In other words, for developers on the IIS product team, nothing really changed.


Actually, I do not think this change is traumatic. The eye-candy may have changed, but the basics stayed the same. So, I cannot emphasize enough on understanding the fundamentals, the basics, of debugging. The benefits will last a long, long time.


Maiden Voyage, x64


All I can say is that yesterday afternoon, when the first installable x64 Longhorn Server build cleanly passed all of our BVT tests (simple tests used to validate basic build quality) the FIRST time we put it all together… that was an amazing feeling. A LOT of hard work went into making that moment smoothly happen.


I was obviously holding my breath as I watched my automation scripts pick up and kick off the first installable x64 Longhorn Server Build, which went through the full IIS7 componentized setup without any errors (knock on wood), and then watched it establish the uniform test environment and kick off our BVT tests, several of which I had debugged 36 hours earlier to flush out all the x64-related issues that were all quickly fixed by the dev team… and then 40 minutes later emerged with a clean bill of health on the BVTs.


Honestly, I still cannot believe how smoothly it all went. I knew that I iterated and worked on all the individual parts to make them work, but you know Murphy’s Law, you always expect something to be missing or go wrong…


But, now that the milestone is out of all our hands, I can finally relax a little and get back to “the usual”. :-) I have a longer queue of Q&A that people have posted to me the past week; it will take me some time to get answers posted, considering I have many other things to catch up on. Bear with me for a while.


Oh, yeah, and do NOT ask me about the number of “TPS Reports” that I had to write the past week. I never quite seem to remember the cover sheet. 😉


//David

Comments (10)

  1. Pieter says:

    Thanks for sharing this information on feelings that go on inside the product team. When reading about the maiden voyage I could totally imagine what it would have been like. Keep ‘m coming.

  2. David.Wang says:

    Thanks.

    Yeah, this is what my "IIS 7.0 (beta)" RSS feed will be for.

    Now, I will primarily talk about IIS7 from the perspective of the webserver core itself and its extensibility mechanisms, since that is the area that I work on. So, no flashy UI graphics or demos. Just old-fashioned code samples and info on how/why something works the way it does.

    //David

  3. b52.NET says:

    Congratulations! As I was reading your post, it remind me of the same feeling all programmers have when we reach some kind of milestone, so I can say "I totally understand you"!

    And thanx for coding that great product that IIS is, I hope we get more of these news, and more advance in IIS7 really soon.

  4. Rick Scott says:

    In my experience, when something appears to work just fine, there is some SERIOUS #$%& happening silently.

    Of course, you can always hope that what you saw happening was always happening…but don’t be surprised if they come back and tell you that your latest build somehow convert every 3rd spreadsheet on the drive to German o_O

  5. David.Wang says:

    b52.NET – thanks for the encouragement. We are definitely still heads down and cranking on IIS7; hopefully, this is just the first of many milestones…

    Rick – hey, it ran clean on today’s build as well, so it must be some serious #$%& going on. I won’t mind if it the #$%& keeps going for a while… until we end up with something like "Vista Server". :-)

    //David

  6. David Wang says:

    Ok, it is official now. Milestone complete for IIS7. Time for us to celebrate and break out the bubbly……

  7. David,

    a little late here on commenting but congratulations on the milestone. Last weekend I spent nearly the whole two days playing with Longhorn Server – leave Vista for the kids;-) You’ve done an tremendous amount of work and I cant wait to get into more intimate testing later on.

    I’ll be keeping an eye on your blog from now on;-) thanks again for the updates and letting us know what its like for a product team…

    Red Bull does the trick for me too…

    but careful now… max 2 per day apparently;-)

  8. David.Wang says:

    Thanks. Yeah, my body did feel funny after two Red Bulls… 😉

    Actually, IIS7 is not in Longhorn Server Beta 1 (you are still looking at IIS6). The next time you pick up a Longhorn Server beta build, though… it will be IIS7.

    To give you a sense of the timing involved – the window to being included in Beta 1 window closed several months ago.

    //David

  9. David Wang says:

    The past ten days has been yet another hectic sprint toward another IIS7 milestone. While it is not as…

  10. David Wang says:

    About twelve months ago, I started to hit a comfort zone with blogging. I had written a lot of initial…