Considering the followingFor a stack: ASP.NET/MVC5 WebApi with Single Page Application (SPA). This typically must run in IIS or hosting container (OWIN). I want to deploy multiple web application servers (just API and static resources for starting the SPA). It will be deployed with repeatable deployment scripts.UpdateAlso keep in mind that I may want to deploy my app on Linux/Mono. Where a simple C# HttpListener would be great. You don't even need 3rd party libraries.My hypothesis is that there is no compelling reason and may see more people considering the direct use of HttpListener. There may be a new Project Type developed for Visual Studio for such Web Service projects.The multi-faceted questionSo why do we persist with IIS? What is it offering that cannot be catered for in some libraries leveraged by the Application Layer? Why not circumvent all this completely? Why not have an application listen directly?I am looking for a good compelling reason, therefore I am listing the following sections to bypass the initial back and forth, obvious and weak arguments. I'm looking for a compelling reason. Perhaps there is no compelling reason to keep IIS/ASP.Net for my situation.Anticipated arguments FOR IISConfiguration - Accessible for Sys Ops to configure. But I only have a single configuration. Well, why have IIS and Puppet when I can just have code?Runs as a Service - An app can be configured this wayConsistent Logging / Output - external tools can be leveraged to aggregate logs. Well, why not build that simple additional logging infrastructure into the actual application? Maybe the ultimate reason is cost.Security - Consistent interfaces for controlling security. Well, the Firewall should be the ultimate place for controlling security, but also, shouldn't security be configured the same on each server, closely tied to the software design?Mature/Tested - Been there for ages and works. Well, it's an extra layer, removing that layer surely reduces risk of obscure bugs. (Security is a separate point).Reinventing the wheel - .Net already has HttpListener. I need a compelling answer to this question.Anticipated arguments AGAINST IISBlack Box - a coder can easily control some apis, but grapple with obscure UIs, and the personal training to find items (as well as web.config configuration). Coders do best at coding. Well, maybe coders shouldn't be deploying the software...Bugs - an extra component which can fail. 
I have one app on one server - is there a critical reason to use a web server like IIS or NGINX?
architecture;.net;web applications;asp.net;iis