Ubuntu Linux is a Linux-based operating system for personal computers, tablets and smartphones. There is also a Server version which is used on physical or virtual servers in the data center.
For a regular not tech savvy user, Ubuntu [Linux] is a piece of cake once installed, and for the tech savvy, super simple to install. And even for the not as tech savvy it is easy.
Server specs don't need to be great, it'll run on anything, though what cpu/memory you'll need depends on your use case.
If you have one user or 1000's of users (especially using Windows), Windows Server is a no-brainer! The only reason I would suggest going with a Linux server is if you have old hardware (Windows Server is more process intensive than Linux). But, Linux is open-source, so anyone can publish updates/security updates, but on the flip side, malicious people also have full access to Linux's codebase allowing for much easier writing of exploitations/viruses/malware/ransomware.
User and device management out of the box. Active directory is a proven system for doing this and works just as well as it always has.
ADFS providing integration into many third-party applications using SAML authentication. We use this heavily to make user experience as simple and straightforward as we can.
Local DHCP. It's another one of these systems that is very easy to setup and use out of the box and requires very little maintenance, if any. The system is almost unchanged throughout the years and so anyone with server experience can manage it.
I'd like to see Canonical REALLY betting on desktop Linux and move one step forward with innovation in that area to improve user adoption.
Desktop UI decisions have been not-so-happy in the past. The ability to move back and forth with Unity has pushed a lot of users in favor of options. Having REAL desktop environment options is something to improve as well.
Improvements in interoperability with other OSes would be very welcome. Sometimes it's just hard to communicate with MacOS or Windows across some protocols. Maybe it's due to the private nature of these protocols, but alternatives are around, we just need to compile and improve them.
Windows Server is extremely complex, and while newer versions have eased the initial setup process, setting up a server is still a very time consuming and difficult task.
The complexity of Windows Server also makes troubleshooting any problems that arise extremely difficult, both in tracking down the actual issue and then resolving the issue. Often times a problem can manifest itself in more than one way, making searching for the specific problem also difficult.
Windows Server is also very expensive, with complex and confusing licensing terms. In fact, Microsoft provides a 32-page PDF guide on Windows Server licensing, which is in and of itself dense and confusing to follow. To make matters more complicated, there multiple different version of Windows Server itself - Nano, Essentials, Standard and Datacenter edition, and each edition has different licensing terms. Licensing terms include items such as the physical processor's cores of the server, how many users will be accessing the server (called a CAL - client access license), and a plethora of other items.
Microsoft's support for Windows Server can be extremely frustrating at times. While Microsoft hosts a very active user forum, Microsoft employees who frequent those forums often provide only stock answers to questions (without actually reading the details) or no answers at all. For more in-depth - phone support can be quite expensive.
Upgrading a Windows Server from one major version to another (i.e. 2012 to 2016) is a frustratingly complex and dangerous procedure, as many things can go wrong during the upgrading, essentially breaking the entire setup. In fact, Microsoft doesn't even suggest doing an in-place upgrade, but to perform a backup of the existing server, doing a clean install of the new version, and migrating the information from the older version to the new version. In general, it is not even recommended to upgrade from one version to another as the risk significantly outweigh the benefits.
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.
I gave it 10 out of 10 because it allows me to do the work I need on a server, such as running a website and database, and making developments. In addition, thanks to its easy and useful interface during installation, it can be easily installed. In addition, thanks to its easily accessible documents, when a problem occurs, it can be solved easily and quickly.
Everything can (and should) be done through the easy to use/navigate GUI. There is no need for archaic command prompt use to administer the server. But, it is there if you have very specific needs for batch files, etc. that are not covered in the all extensive GUI.
We did not use the managed commercial support, but instead relied on community forums and official documentation. Ubuntu is very well documented across both instructional documentation from the developers themselves as well as informal support forums [ServerFault, YCombinator, Reddit]. It's easy enough to find an answer to any question you may have
It has been my experience that unless there is a flaw or bug with Microsoft Windows Server, you will have to pay extra for support beyond the support web site. That said, unofficial support on the thousands of technical websites makes self-help support readily available to any technician with an internet connection. Microsoft's support website is also fairly robust, but I find using a popular search engine often returns knowledgebase articles more quickly that Microsoft's search.
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.
A viable, free, widely used alternative to any modern operating systems on the market. Ubuntu [Linux] is constantly improved, has an enormous user base, a very good community. It's one of the most advanced Linux distributions of today, and can be highly customized to the point that almost any requirement can be filled with it.
Windows Server is more cost-effective and skills are easier to find to support the products. The deployment and management of the product can be automated with Microsoft SCCM. In my opinion, Linux seems to be more secured but takes more time and effort to learn than Windows Server. However, there are more Windows Server skills available in the job market.