I recently received an email asking which server platform was better, Linux/Apache or Microsoft/IIS? Without hesitation, my reply is a definitive “it depends …” To explain my unflinching response, you need to understand that by day, I am a mild-mannered systems engineer assigned to work exclusively with IIS servers and .NET; it is only at night that I take on my tux-clad alter-ego to perform my many mad experiments under Linux.
Personally, I prefer the “add-only-what-you-need” approach of the Apache server along with the raw, brutal efficiency that comes with any *nix variant (which doesn’t hurt when you’re married to a woman who’s title at work is ‘the Solaris queen’). One good example of this is mod_rewrite. As you’ve seen in prior posts, once you’ve mastered the wizardry of the syntax, you then have a formidable tool for handling, mangling and redirecting incoming requests.
That said, no matter what you’re feelings about Bill Gates are, the IDE that comes with Microsoft Visual Studio .NET has very few rivals (note to my cool Linux friends, I said a few!-). Add to this seamless multi-language support under via very Java-like framework, and superior state and session management, and you can see why some huge e-commerce systems such as Buy.com employ an IIS-based solution. A good example of this are ASP .NET’s server controls such as list boxes that can be bound to a database table, enforce event-driven validation and maintain state from request to response with little or no code.
And let’s face it, their debugger is to die for (then again, so is a good Linux-based DNS server).
Of course, all comes with a VERY hefty price tag. To steal an anology from Vincent Flanders, there are systems you date, then there is ASP .NET and IIS, a system you marry. Nor can we quickly overlook embarrassing security breaches such as last week’s MSBlaster worm. In other words, there is a cost-benefit trade-off with taking the ASP .NET IIS route. This means you are going to need to weigh these options against your organization’s desires, your customer’s needs, your budget and your available technicians, paid or otherwise.
Still, since I’ve already shown you consumate ‘examplage’ of solutions in Perl and PHP, I think it only fair to give ASP .NET some coverage so you can make a more informed decision. And to further help you along with that choice without compelling you mortgage the parsonage and rent out the baptismal to pool parties, I’d like to bring your attention to the ASP.NET Web Matrix Project.
According its home site, “ASP.NET Web Matrix is a community-supported, easy-to-use WYSIWYG application development tool for ASP.NET. It can be installed via a quick 1.3 MB download (about 5 minutes using a 56Kb modem). New features include: Access database support, J# support, design time enhancements including improved table editing and user-control rendering, many bug fixes, and much more! Best of all, it’s absolutely free!”
Okay, it’s not the robust VisualStudio .NET programming environment, but it is at least a free and easy way you can dabble around ASP .NET and compare it to other languages, environments and server platforms.
Just do me a favor, once you’re done for the night experimenting with an IIS server on your home computer, why not pull the plug on your DSL modem before retiring to bed?