Apache is far superior to Microsoft's IIS. The only reason to consider IIS would be for compatibility with a given software package that is made exclusively for IIS.
As I mentioned earlier, the Apache HTTP Server has a small disadvantage compared to the competition (NGINX) in terms of performance. If you run websites that really have a lot of visitors, NGINX might be the better alternative.
On the other hand, the Apache HTTP Server is open source and free. Further functionalities can be activated via modules. The documentation is really excellent.
Windows Server and Active Directory is very robust and stable, it has been a staple in every IT environment I have worked in during my career. Junior to Intermediate admins can learn Windows Server easily, the user interfaces make administration tasks very easy as well as the documentation available through a vast amount of resources. There are other Operating Systems available with no GUI which has a smaller attack surface, faster update installation and reboot time. Windows Server does have the ability to remove the desktop experience, however it is not something I have had experience with and I believe most administrators choose not to remove it.
Street Cred: Apache Web Server is the Founder for all of Apache Foundation's other projects. Without the Web Server, Apache Foundation would look very different. That being said, they have done a good job of maintaining the code base, and keeping a lot of what makes Apache so special
Stability: Apache is rock-solid. While no software is perfect, Apache can parse your web sources quickly and cleanly.
Flexibility: Need to startup your own Webpage? Done. Wordpress? Yup. REST Endpoint? Check. Honeypot? Absolutely.
The default configurations which comes with Apache server needs to get optimized for performance and security with every new installation as these defaults are not recommended to push on the production environment directly.
Security options and advanced configurations are not easy to set up and require an additional level of expertise.
Admin frontend GUI could be improved to a great extent to match with other enterprise tools available to serve similar requirements.
Microsoft needs to minimize the update frequency by making the product more secure. It can become very exhausting trying to keep updated if you don't have a dedicated support team. It can become challenging where the business is unable to allow downtime for reboots as part of the update process.
Prone to security and audit vulnerabilities.
The operating system needs more CPU and memory resources compared to other options such as Linux.
Understanding the licensing model can be abit confusing.
Comes with a standard firewall, but not the most secured one available. Would suggest using a more secured firewall as part of your antivirus software.
Due to the number of vulnerabilities and the operating system being a target for hackers, anti-virus software is a must.
I've carefully reviewed the servers and services currently running on Windows Server 2012, and given the opportunity would renew them as is going forward. There are two systems I currently have in place, one is a very large Linux implementation for a large ecommerce site, and one is a very large backup solution front ended by FTP servers running Linux. Neither are well suited for Windows, but the overall network infrastructure is and will be Windows Server for the foreseeable future.
Anyone new to IT could easily use the familiar Desktop Experience (GUI) version because we all know how to use Windows, whether a client or server version. Once an IT user is more comfortable with the operating system, they can move on to the Core version, which is the way to go in almost all situations.
I give this rating because there is so much Apache documentation and information on the web that you can literally do anything. This has to do with the fact that there is a huge Open Source community that is beyond mature and perhaps one of the most helpful to be found. The only thing that should hold anyone back from anything is that they can not read. RTFM, my friend. And I must say that the manual is excellent.
Microsoft's support is hugely wide-ranging from articles online to having to contact them directly for the more serious issues. In recent years when I have contacted them directly, I have found the support o be excellent as I have found myself connected to very knowledgeable people in the field in which I needed the support. The online support available is vast and I tend to find most of the time that there is always someone out there who has had the same issue as me in the past and knows something about how to resolve it! This is the advantage of using industry standard and long-established systems such as Windows Server.
Make sure that you have detailed processes in place for every server instance you plan to install/upgrade, if possible get the base OS loaded and Windows Updates applied ahead of time, and if using a VM take a snapshot prior to installing each role, as well as along the way.
I has a lot more features, except that IIS is more integrated in a Windows environment. But now with .net core also possible from Apache it would work anywhere really. Only in a full Windows environment where full integration is needed I would chose to go for IIS. Otherwise Apache it is.
They are different experiences, and while the other solutions offer enterprise-grade stability and, in some cases, address Windows server shortcomings (such as patching), they all do the trick, but the other solutions require a deeper technical background/configuration of items at the command line, which some people are not fully comfortable with.