Mike Volodarsky's Blog

  • Make your next IIS 7.0 web server a lean one

    Among IT circles, IIS 7.0’s modularity is definitely one of its most welcomed traits. It promises a significantly reduced surface area, lightweight management overhead, and better performance. Ever wonder how far you can go with modularizing IIS 7.0? ...(read more)
  • Leaving Microsoft ...

    After almost 5 years at the company, I am both sad and excited to say that I’ll be leaving the IIS team and Microsoft at the end of this week.

    I’ve spent the past 4 years living and breathing IIS 7.0, from its inception, to the Vista release, and the final debut in Windows Server 2008. During most of this time, I was heads down in designing and driving the development of the product, with little opportunity to see the impact it will have in the outside world.

    Now that IIS 7.0 is ready, I feel it’s the right time to shift perspectives, and focus on leveraging it to make that impact.  The more I learn about the problems customers solve in the wild, the more I realize how much work there still is to truly “unleash the potential” of the web server (thankfully, this is exactly what we wanted to enable through the end-to-end extensibility architecture of IIS 7.0). So, I will be leaving to help customers make the most of IIS 7.0, and start a few projects around web server performance, shared hosting and scalable web farms.

    Looking back, I can say that my experience at Microsoft has been truly amazing. I got to ship two amazing products, ASP.NET 2.0, and IIS 7.0.  I got to do what I love to do – design and build platform technology. Here are some of things I’ve owned:

    1.       ASP.NET 2.0 core infrastructure: designing and driving literally hundreds of features and improvements for the ASP.NET 2.0 runtime, and platform features like security, session state, caching, health monitoring, tracing, etc. Back then I was on the free nights/weekends work plan :).

    2.       Driving ASP.NET 2.0 security, and delaying the security push by 2 weeks to personally threat model 3/4ths of the product.

    3.       Designing and driving the IIS 7.0 core web server engine, extensibility layer, and core features

    4.       IIS 7.0’s output cache

    5.       The never-ending story of making the ASP.NET Integrated pipeline happen

    6.       FastCGI and PHP integration

    7.       Being the trinity (dev, pm, and test) for AppCmd

    8.       Bitrate throttling

    9.       Happiest moment: standing ovation at the TechEd 2005 demo of showing a completely stripped-down IIS 7.0 web server.

    10.   Most embarrassing moment: “HTTP service failed to start” during my first demo at the breakout PDC session on IIS 7.0 (when the BITS service randomly decided to corrupt its SSL binding, after a dozen of successful test runs the night before)

    Between my core areas, side projects, and random work, I got to do pretty much everything else in the process: work on the IIS 7.0 config system, write code, do performance testing, drive product-wide compatibility analysis, write the IIS 7.0 Resource Kit book, present at TechEd and PDC, blog, and write articles.

    Even more importantly, I got to work with some of the most talented people I have ever met, from whom I learned a great deal and without whom IIS 7.0 would not have been possible.

    So, I definitely feel like I am not leaving empty-handed. I will really miss the team and the people, and will be keeping in touch. I look forward to using all the new great out of band features that the team is building to help make the IIS 7.0 platform the best web server in the world. Also, you can count on me continuing to blog about using and extending IIS 7.0.

    I’ll be posting more info on www.mvolo.com next week. In the meantime, if you need help on an IIS 7.0  project, let me know.

    Sincerely,

    Mike (mvolo) Volodarsky

     

  • The IIS 7.0 Resource Kit Book

    The IIS 7.0 Resource Kit Book is out! Coming straight from yours truly, the IIS 7.0 team, and some of our best MVPs, this book has all the conceptual background and details you'll need to understand the principles behind the web server platform, and take full advantage of it.

    IIS 7.0 resource kit book cover

    The book covers:

    1. IIS 7.0 architecture
    2. The new configuration system
    3. Using the IIS Manager, and command line tools
    4. Managing IIS 7.0 web sites, applications, and other intrinsic objects
    5. Managing the web server extensibility, including web server modules, configuration extensions, and IIS Manager plugins
    6. Integrating application development frameworks with IIS 7.0, including in-depth coverage of ASP, ASP.NET, and PHP 
    7. Hardening IIS 7.0 security and using the security features
    8. Logging, troubleshooting, and performance tuning
    9. and more ...

    Get the full scoop on the book at http://mvolo.com/blogs/serverside/archive/2008/05/01/The-IIS-7.0-Resource-Kit-Book.aspx.

    Thanks,

    Mike

  • IconHandler 2.0: file icons in your ASP.NET applications

    Since its release, IconHandler has been a pretty popular module (on its own and with the custom DirectoryListingModule).  Today, I am releasing v2.0 of IconHandler, which contains some much-requested functionality and fixes a few issues that people have reported with the original version.

    Read all about it (and I mean all) and download at http://mvolo.com/blogs/serverside/archive/2008/04/27/IconHandler-2.0-File-icons-in-ASP.NET-applications.aspx.

    Thanks,

    Mike

  • Creating portable ASP.NET applications that work on IIS 6.0, IIS 7.0 Classic, and IIS 7.0 Integrated modes

    ASP.NET applications in IIS 7.0 Integrated mode requires configuration changes if they define custom modules or handlers. However, it is still possible to create portable ASP.NET applications that can function in all three environments without configuration changes.

    See how at http://mvolo.com/blogs/serverside/archive/2008/04/15/Creating-portable-ASP.NET-applications-that-work-on-IIS-6.0_2C00_-IIS-7.0-Classic_2C00_-and-IIS-7.0-Integrated-modes.aspx.

    Thanks,

    Mike

  • Using Visual Studio 2005 with IIS 7.0

    A few weeks back, I put together a detailed article about using Visual Studio 2008 to work with IIS 7.0 applications, collecting all the various how-to and gotchas I've blogged about in the past in one place.

    Now, you can find the same information for Visual Studio 2005, in a new article titled Using Visual Studio 2005 with IIS 7.0.

    See the blog post here: http://mvolo.com/blogs/serverside/archive/2008/04/04/Using-Visual-Studio-2005-with-IIS-7.0.aspx, and check out the article at Using Visual Studio 2005 with IIS 7.0.

    Thanks,

    Mike

  • Backing up and restoring IIS 7.0 shared configuration

    Bill's recent post reminded me of a question I often get about backing up and restoring configuration when IIS 7.0 is being used in the Shared Configuration mode. In this mode, the applicationHost.config file is stored on a UNC share to allow multiple IIS 7.0 servers to share a single configuration file.

    When shared configuration is used, the backup behavior may not be what you are expecting, and places more responsibilities on you to maintain proper backups.  Read more at http://mvolo.com/blogs/serverside/archive/2008/03/25/backing-up-and-restoring-IIS-7.0-shared-configuration.aspx.

    Thanks,

    Mike

  • IIS 7.0 bitrate throttling

    Last week, the IIS team released bit-rate throttling module to the web.

    As the self-proclaimed daddy of the project (I designed and wrote the initial prototype in early 2007), I am very thrittled to see it out. The new IIS media team folks have done a great job getting it production ready and rounding out the feature-set, which you can review in its full glory in Vishal's post.

    Although the feature is a bit different from how I originally envisioned it, it kicks ass at doing what it is supposed to do - saving your bandwidth costs. Read more about at http://mvolo.com/blogs/serverside/archive/2008/03/16/IIS-7.0-Bit_2D00_rate-throttling-module.aspx.

    Thanks,

    Mike