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.
Red Hat JBoss Enterprise Application Platform (JBoss EAP) is well suited for deploying high transaction Java EE based applications. It supports many popular Java EE web-based frameworks such as Spring, Angular JS, jQuery Mobile, and Google Web Toolkit.
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.
MOD_CLUSTER integration. JBoss EAP integrates pretty well with mod_cluster. This is an intelligent load balancer especially useful in highly clustered environments.
Supports enterprise-grade features such as high availability clustering, distributed caching, messaging etc.
Supports deployment in on-premise, virtual and hybrid cloud environments.
Jboss CLI is a great tool but we had trouble using it to get values that are displayed on Jboss GUI. It also has limitations parsing the applications.xml files and we had to use a mix of jboss-cli and linux bash commands to automate certain application administrative tasks.
JBoss doesn't really provides performance tuning recommendations. It would have been nice if it could learn from the current demand vs current settings for things like connection pool, server configurations, garbage collection etc.
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.
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.
WebSphere Application Server is propriety and increases project cost. It is slightly complicated to learn when compared to Jboss EAP. These were the two main reasons why we chose Red Hat JBoss EAP over WebSphere Application Server. Also, JBoss EAP is light weight and requires less server resource
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.
Jboss EAP is easy to deploy and configure. This lead to lower cost and faster delivery.
Even though we have large number of machines running JBoss, we have only two Jboss Administrators. It doesn't requires too much administration and maintenance on daily basis and reduces number of administrators required for large implementations.