posted: 03 Aug 2008
TechEd was great this year, though I had to leave early on Wednesday to care for my wife who picked up a really nasty virus. Here's a synapsis of my brief but, enjoyable stay:
I finally met John Lam who developed and presented the IIS/ASP.NET migration pre-conference for us, for a walkthrough of the labs for the next day. That evening we picked up Barry at his hotel and joined some of the www.microsoft.com operations guys at a great restaurant in Old Town (La Casa Bandini). I remembered that I'd been there about 10 years earlier the first time I was in San Diego just a few days after I'd joined Microsoft (yes, I'm coming up on my 10yr. anniversary).
We did the pre-con and although there were a few glitches like having to delay the start time by 1/2 hour because a marathon held up the buses from arriving, and a few problems with lab machines everything went very well. (Note to TechEd planners, next time, check if there's a marathon running next to the convention center just before the registration rush). The Microsoft.com guys do an excellent job of talking about how they deployed IIS 6 very early during the betas and how they keep one of the most visited sites on the web running so reliably. I really enjoy working with them - we've been working together for about 3 1/2 years on early deployment for IIS 6 and now for Whidbey as well.
First day of booth duty and we're swamped with people. Of course, during the first hour, we're swamped with the overflow of the folks crowding the MOM booth for whatever they were giving away. We still had a lot of great conversations with customers who were deploying or planning to deploy or upgrade to IIS 6.
Monday evening, we join some ASP.NET and IIS team people for a late dinner after the Expo closed. Everyone's practically falling asleep at the dinner table - except when we got into recollections of the Transformers, Decepticons, Autobots, etc. everyone had when they were kids. The only transformers I ever had were the ones my wife would confiscate from her students - man, I felt old.
Sat down with some of the TechEd attendees at lunch. One people at the table asked if I knew anything about the 'bogglers' at TechEd ;-). I replied that blogging sometimes boggles me too.
Booth duty again. People working & visiting the booth keep telling me that some some 'girl in pink' is stalking me. Some said they read it in her blog. I thought blogging to find me was a riot but the word certainly got around!
Had our 'IIS Meet the Experts' session in the cabana. It was a great turnout but next time, we need a better location because a lot of people in the back probably couldn't hear us. Afterward, I met Marcie - my pink stalker :-). Also learned that she also works for/with Barry - small world!
Sat in on the .NET BOF that evening with Rob Howard - mostly centered on VS & the framework. I left with Ambrose & Jim and joined a few of the ASPInsiders for dinner.
Overall, TechEd was like a big family reunion. Compared to previous years, I was able to connect with a lot more people active in the IIS/ASP.NET community face-to-face. A lot of this is because I'm combining roles as IIS and ASP.NET community lead and I'm also getting to know so many people through the ASP.NET site and ASPInsiders. I'm already looking forward to next year.
posted: 03 Aug 2008
We depend heavily on 'dogfood', i.e., self-testing to make sure that ASP.NET 2.0 is ready to ship to our customers. Starting before Beta 2, I've been working with several large internal customers committed to deploying and testing ASP.NET 2.0 for us. Along the way we're learning a lot about the kind of issues that customers will face. We've fixed many of those problems and will also be providing documentation on how to deploy applications in various challenging scenarios.
For example, the Microsoft.com Download Center has been one of our earliest internal customers and has been running on 2.0 since last June. What's the big deal about this? All of Microsoft's downloadable content is hosted by the Download Center site. If you separated Download Center from the microsoft.com domain, it would still be one of the largest sites on the web. Consider these recent stats:
~37 Million unique users
~325 Million Page Views
28.14% of all traffic on Microsoft.com
769,155 Unique pages
From a software engineering perspective, this is a tremendous asset for us because although we do extensive stress testing with numerous scenarios and application variations, we can't possibly create an identical environment in the lab. It also helps us focus on the complexities of supporting applications from a variety of development teams together on the same machine. In the case of Download Center, we had the challenge of upgrading this application to ASP.NET 2.0 while other applications on the site continued running on ASP.NET 1.1.
Here's a real world example of some things we learned during the Download Center deployment: While we've put a lot of work into ensuring an easy upgrade of 1.1 to 2.0 apps and coexistence of apps created with both versions on the same machine, an application's architecture and environmental factors can also affect deployment. ASP.NET 2.0 supports running 1.1 and 2.0 versions of the framework side-by-side on the same machine, using IIS Application Pools to isolate each framework instance. But what happens when your 1.1 and 2.0 apps both depend on a second application for part of their functionality and that application is supported by another group? This was the case with MNP, a UI layer developed internally by Microsoft.com that renders XML-based content and provides the 'chrome' - the common look and feel - across all Microsoft.com properties. The solution in this case was to create an ASP.NET 2.0 version of MNP specifically for Download Center and future Microsoft.com sites that would upgrade to ASP.NET 2.0 later.
However, we still needed to overcome a few things. First, the new version of MNP had to coexist on the same machine with the remaining apps that used the old version. Second, to maintain compatibility with MNP-dependent apps, we had to maintain the same class names across both versions. In early testing, we saw the following error:
Compiler Error Message: CS0433: The type 'Microsoft.MSCOM.MNP.TableOfContents.TableOfContentsPage' exists in both 'c:\WINDOWS\assembly\GAC\MNP.TableOfContents\184.108.40.206__a75671c2b10b8543\mnp.tableofcontents.dll' and 'c:\WINDOWS\assembly\GAC_MSIL\MNP.TableOfContents\220.127.116.11__a75671c2b10b8543\MNP.TableOfContents.dll'
In other words, the compiler needed help to distinguish between MNP version 2.0.8 and the new version 2.1.0, which both existed in the GAC. We used bindingRedirects in Web.Config to explictly reference the correct assembly:
And in the page directive, we also had to force the pages using the classes in that assembly to use the new version:
Inherits="Microsoft.MSCOM.MNP.Framework.Page, MNP.Framework, Version=18.104.22.168, Culture=neutral, PublicKeyToken=a75671c2b10b8543"
This fixed the problems, and Microsoft.com has been running this site reliably since June. So while we encountered a few issues during the upgrade, the great news is that we're moving Microsoft.com to a very stable platform which is easier to maintain and troubleshoot (through improvements in CLR and the new eventing and tracing features).
In the future, I hope to provide more examples here of our internal customer experiences with ASP.NET 2.0.
posted: 03 Aug 2008
We’re about 15 minutes away from going live with our new Atlas.asp.net preview website which will show the world what we’ve been doing with Atlas since Scott blogged it in June. Since then, the developers have been working at an amazing pace to get the preview together and ready for the PDC and I think we’re going to surprise people with what we have to date.
The site will include all of the Atlas content for PDC, including H
The site will include all of the Atlas content for PDC, including Hands-on labs, live quickstarts demoing Atlas features, documentation, and VSIs for creating your own Atlas apps with Visual Studio 2005! In the coming days, we’ll have even more – an Atlas Wiki, that demonstrates many of the great features we’ve built in. There are also three new Atlas forums for questions, feedback and bug reports. This is a technology preview - not even a beta, so we're relying on your feedback to help us improve Atlas even more in the coming months.
Everything goes live at 8:00am PDT. Check it out and let us know what you think!
posted: 03 Aug 2008
A quick update on a version of the Atlas VSIs that work with Whidbey RTM/RC. As noted in the 'Get Atlas' section, the downloads currently only work with Beta 2 builds. While it's possible to get them to install on RC with a minor tweak, there's a good chance something in your app will stumble on one of the breaking changes between those versions.
The team has a RTM/RC version ready and it's in test. We should have something up on atlas.asp.net in the next day or two - early next week at the latest. I know a lot of people at PDC are asking so hopefully this will save someone the time of uninstalling a RC build and putting on Beta 2. We'll keep the Beta 2 versions around too, at least until Whidbey launches.
posted: 03 Aug 2008
On Monday, we went live with versions of the Atlas VSIs for RC/RTM, so now you can build an Atlas project whether you're running Whidbey Beta 2 or the RTM release (currently build 50727.42). You'll find the links on http://atlas.asp.net, and from the instructions page, you can choose either the Beta 2 or RC/RTM version.
We've also updated the Atlas documentation and quickstarts on the Atlas site.
Looking forward, we'd like to use the Atlas releases as a model for a community release and feedback process that features greater release frequency. I'd love to hear your thoughts on how to make it a success. Comment here or email me.
posted: 03 Aug 2008
For those of you who keep track of such things, we just passed a milestone with www.microsoft.com. They're now running the entire site live on ASP.NET 2.0 (Whidbey). As I posted earlier, the Download Center has been running ASP.NET 2.0 since June. Since then, the MNP team has been working hard to upgrade all of their XSL templates and test with the multitude of content providers that publish using MNP.
The current site is pretty much a port of the existing MNP application but Whidbey opens up the door for simpler development in future releases. For example, much of the functionality they previously had to build for themselves - using master pages to separate code and content, for example -is available out of the box in ASP.NET 2.0.
I can't say enough how much Microsoft.com helps us make sure that products like IIS and ASP.NET are ready for our customers. They're a demanding environment, considering the volume of page traffic handled, the load they put on their servers (along with consolidations and tweaking to improve efficiencies) and their diligence in maintaining near flawless uptime. All of that in an environment where there's a huge target painted on the site for DDoS attacks and other miscellaneous probes every day.
Next time you're at TechEd, check out the talks given by their operations team (Chris St. Amand, Jeff Stucky, Jim Dobbin or Jeffrey Johnson). There's always a wealth of practical knowledge from these guys.
posted: 03 Aug 2008
Just in time for the launch of ASP.NET 2.0 today, we also launched an upgrade of the www.asp.net website. We've been testing the site on beta.asp.net over the past several months and also added several new features for the launch. Here are a few highlights of the changes:
I hope you enjoy the new site and find it useful in your work. Let me know what you like and what you don't like!