IIS as a web application server is perfectly suited for .net, .net core, asp.net applications. Our core ESB runs on IIS and has hundreds of gigabytes of data moved through it every day spread across millions of transactions. We have other mission critical applications that deliver our results to patients and doctors relying on IIS web application servers. If you stay in the Microsoft development stack, IIS is a top tier, efficient, and reliable web server.
If you need a fast, robust and reliable server side framework that allows you to write JS on the backend and therefore have your project in one language - Node.js is a stand out choice. It can easily handle heavy traffic on very little resources (CPU and memory usage is very efficient). I can't recommend it enough, it is such a pleasure to work with - I feel it gave me back my career. I was so bored with the banality of .NET, I had also come to dislike it's overly convoluted and complicated class structure. Node.js was the fresh start I needed, it can be as simple or as complicated as you like - but even at it's most complicated it can still beat the pants off .NET core any day.
A big advantage that we use all the time is reviewing the logs that automatically get generated in IIS. It has helped us troubleshoot various problems in our applications over the years.
IIS integrates really well with Visual Studio and TFS. We are able to quickly deploy new applications and changes to applications when requested by the business.
IIS has proven that it is easy to configure and maintain with minimal effort.
We have no intention to replace all applications running on top of the IIS platform. Not all applications support other platforms and not all support staff are skilled in Linux/Apache platform support. Whereas IIS may not be the best performing or most secure web platform available, for the aforementioned reasons, it is impossible not to continue use of this product.
In general, Microsoft IIS is an alright product. It comes natively with Windows Server. It has good enough GUI to set things up & tweak things around. Once properly setup, it runs stably enough. And with enough Powershell magic, having a CI/CD pipeline to automatically deploy a new version of the application is doable.
ARR (application request routing) in Microsoft IIS Server enables the web-admins to increase the web app reliability and availability through the rule based routing and load balancing of HTTP requests which in turn provides highly available server. IIS 7.0 Manager also provides kernel as well as user mode caching for faster performance and in case if the server fails, the IIS server has good amount of details logged in its log files which help understand and debug the cause quickly. Load balancing facilitates IIS server to fight against availability issues.
In my experience, I have never had significant issues with IIS performance. Sometimes I've experienced issues with loading time, but it is mostly related to the web site code. However Amazon, Microsoft and Google providing free cloud services with very limited resources, and in that scenario, "heavy" websites on IIS could be the issue. In other situations - performance is good.
As mentioned earlier there is so much documentation or guides or stack overflow questions out there that someone will have faced the same or very similar scenario to what you are going through that you will almost certainly find a solution to what you are after.
Node.js is easy and good to use, their support team is also good they always tend to help you, and solve your problem, even we know that Node is free to use and opensource but then also we get support from them but for getting much better results we need to purchase standard or enterprises support provided by them.
On Windows, Microsoft IIS is easier to implement and maintain than Apache web service. Normally if you need to host PHP or other apache native content on a Windows server, it's recommended to use WAMP or equivalent software to simplify the installation, administration, and configuration of resources. However, you can use Microsoft IIS and other web services on the same server, taking care to keep separate folders and port usage for each system.
Microsoft IIS Server is scalable if the underlying server configuration is done correctly. Use x64 edition v/s 32bit and using 32bit mode application pools are some of the tweaks to be done to make the IIS server scalable. There are too many small configurations need to be carried out in order to make a highly scalable IIS server hence not giving full score in this area.
Speed of development. You don't need to be an expert to expose your website through some DNS
Robust, there has never been any downtime because of IIS itself.
The ease of use can have (and has had) some negative impact because it's too easy to implement something, and then forget. When a server is taken down, those unthoughtful implementations come to light the hard way.