28 comments

[ 4.9 ms ] story [ 51.3 ms ] thread
Good opportunity to ask. Why choose Microsoft IIS to host a website today? Am I wrong to assume IIS is primarily for legacy systems?
Yes, I am quite sure you are wrong to assume that.

I'd wager 99.99% of all .net shops in the world deploy onto a platform that can run IIS.

EDIT: as to the "why", I think it's because IIS is such an intrinsic part of the .net ecosystem that it's basically inevitable your asp.net app will become hosted by it.

> I'd wager 99.99% of all .net shops in the world deploy onto a platform that can run IIS.

> EDIT: as to the "why", I think it's because IIS is such an intrinsic part of the .net ecosystem that it's basically inevitable your asp.net app will become hosted by it.

This was true a decade ago but isn't any longer with the advent of .NET Core. Even legacy dinosaurs are figuring out that you can package a .NET Core app as an image and deploy it on OpenShift.

Excuse me but did you just call me a legacy dinosaur ;)

Anyways, you are right about the fact you don't _need_ IIS to run your asp.net core app. It's just a very convenient proxy to your app, especially if you need things like sessions and, what's that thing called, ah yes, authentication.

>> OpenShift

I mean, if you need a cluster of machines, for whatever reason, then why not use that?

Wouldn‘t non-legacy .net shops deploy .net core in Docker which uses kestrel though?
As the sibling said, I doubt IIS is only used for legacy systems. My client has a brand spanking new system that only runs on Windows, and the "web" parts of it (HTTP APIs, really) are running on top of IIS.

However, I'm unable to answer the "why" part of your question, though I'm very curious about it.

In their case, nothing they do couldn't be done better on Linux. Windows has actually been a complete PITA for deployment. But apparently, the provider, for some reason, has "always done it this way".

ASP.NET Core is very good
except you don't need IIS for ASP.NET Core.
No, but many people use the whole ecosystem while they're at it.
Consistent and integrated pain, better than inconsistent and isolated
What’s wrong with IIS? It has always been solid (i just mean in general, sure it has its share of shortcomings)

I last used it full time in 2015 (about 20% of my career was spent in .net stuff and the frameworks and languages were excellent.) Back then I could do single click deploys out of the box from visual studio straight to IIS in ways much more elegant than anything I had seen in the ruby world.

All this was before asp.net core, and all their Linux stuff.

It must be even easier now.

> What’s wrong with IIS?

In my case Microsoft licensing and the cost that comes with it

In the grand scheme of Microsoft licensing, IIS w/External Connector licensing, while not "cheap", is surprisingly reasonable (IIRC, less than $200/month per physical server, including software assurance, licensing for two VMs per production server, and no charge for VMs on hot standby servers; I believe cloud pricing is similar, if not identical, and possibly cheaper on Azure), assuming trained personnel and any other required Microsoft infrastructure bits (e.g., AD, SQL Server) are already available.

And for internal applications where users already have per-user Windows CALs, Windows Server is already licensed and deployed, IIS is effectively free.

With that said, it's not obviously better or worse than open source alternatives in general, just different — though, at least from an admin perspective, not necessarily any more different than, say, Apache and Nginx.

My own personal bias tends towards deploying on a given application's "native" platform where possible, so I'd generally only consider IIS as an application server for a Windows-native application or application developed using a primarily Microsoft stack.

And, for reasons of license cost alone, I'd certainly look elsewhere for any non-revenue-generating personal applications.

But in these cases at least, modern IIS releases are, in my experience, stable, reliable, extensible, securable, and as easy to deploy and configure as anything else I've used (mostly Apache and Nginx).

I can't comment on scalability because I've never personally had to scale it beyond a few tens of thousands of (total, not concurrent) users.

Plenty of dumpster-fire applications are implemented on top of IIS, of course, but that's true of any popular Web application server.

> IIS w/External Connector licensing

you do not need external connector licensing (only if you authenticate all users against ad)

For the record I grew up administering Linux servers and am way more at home there, and strongly preferred Linux to windows servers. But hasn’t stopped me from appreciating the elegance of those nicely integrated one clock deploys from this .Net days.
I dare say in the vastness of both Apple and Microsoft, they both own not insignificant amounts of one another's products
No amount of competitive research substitutes living with a competitor’s product. Dogfooding is very important but so is catfooding.
Basically, the only new principle involved is that instead of power being generated by the relative motion of conductors and fluxes, it is produced by the modial interaction of magneto-reluctance and capacitive diractance.
Does Apple offer a competing product?
Not anymore

Xserve and then the OS X Server package used to exist though.

Pretty sure this just shipped Apache2, I think it wrapped a GUI around it but I’d have never trusted it in production.
HAHA.. If Steve still alive, this guy will no job.