Cisco NX-OS is a network operating system presented as a solution to help network operations move at the speed of business, with comprehensive automation, extensive visibility, and flexible open architectures for data center networks. NX-OS is the network operating system for all fabric architectures, from traditional L2/L3 to overlay-based fabrics.Cisco NX-OS powers the modern data center.
This easy solution can be a great help for the big companies on easy multiple data processing and effective networking solutions for the various departments and also generating the real-time data reports with Cisco NX-OS is excellent. For the new users, it takes no time to become a pro on full manipulation of the features and offer the best and quality management services.
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.
I think one feature it does really well is the virtual port channel feature. We have a lot of switches around the place that don't necessarily do port channeling really well. The Nexus platform comes in using the VPC feature, we're able to have multiple servers and then user devices connected, which gives us a lot better resiliency and scalability. Availability, it's easy to use, easy to maintain. Downtime is almost minimal. I think without a particular feature we would be stuck, so it's very good.
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 would really love it for Cisco to unify the syntax of their operating systems. Most network engineers will be the most familiar with classic Cisco IOS based platforms since they are widely deployed at the access layer. Since Cisco NX-OS is less frequently deployed, the syntax change adds a steep learning curve to a lot of network engineers.
Cisco NX-OS syntax, depending on the version, can be a bit counter intuitive. For example, most network engineers are familiar with the "interface range" command in Cisco IOS. In some versions of Cisco NX-OS, this command is omitted and instead you have to use something similar to "interface ethernet 1/1 - 4". Another good example, is the "show ip int vrf interfaces " command found in Cisco IOS. For some reason, in Cisco NX-OS, Cisco decided to change this to "show ip int brief vrf ". I wish Cisco would choose one universal version of the command on all platforms. More specifically, I wish Cisco NX-OS would use the same Cisco IOS command verbiage.
Since Cisco NX-OS appliances will typically be deployed in more critical parts of your network, such as data centers, I wish that Cisco NX-OS had built in commit-check mechanisms before applying critical configuration changes. For example, in one of my previous jobs, I worked with a network engineer that was very familiar with Cisco IOS but relatively new to the Cisco NX-OS platform. They were staging a new network device and they were uplinking it to some of our Nexus switches. Something wasn't working for them and they decided they needed to tag the native vlan on a specific trunk interface on one of our Nexus switches. While in interface configuration mode, under that specific interface, they typed "vlan dot1q tag native". This is a global command which means it effectively tags the native vlan on EVERY trunk interface on the switch. Because they were applying this command in interface configuration command, they were under the impression they were applying to that specific interface only. This caused an outage which I then had to fix. It would be extremely helpful if Cisco added some type of commit-check that would inform the user that they are about to apply this change globally to every interface trunk or if they didnt permit this type of command to be executed in interface configuration mode and force the user to apply it in global config mode instead.
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.
NX-OS has many similarities with the traditional IOS which is quite beneficial when it comes to configuration and learning. As a native Linux system, there are a lot of tools and features that can be enabled for any use case.
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.
Our switches running NX-OS have provided solid consistent throughput. We haven't had any issues with it not being able to handle what we threw at it. The latency is extremely low. It also has multiple management options that we hope to pursue in the future.
Cisco support never fails me. In terms of timely response, no one is on par with them. They really value the impact of having technical issues and potential business stoppage. Also, their support staff are well equipped with knowledge and skills and easily resolve the most common incidents. Most of the time, we can resolve an issue by just calling them once.
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.
I am much more familiar with the commands in Cisco IOS as it has been around for many more years. I know why NX-OS is a different system and can see the benefits of the fibre channel integration, but I do not understand why the commands had to use a different syntax. With the Nexus switches you don't get a choice of operating system unfortunately.
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.
Up to now, we haven't had a major ground-shaking attack on our networks but we take no chances by using NX-OS alongside a SIEM. All endpoints and workloads are secure so I would say we have plenty of trust in their security model.
Cisco NX-OS has provided extremely high availability in our organization; especially when we've had to perform upgrades. We've been able to leverage their ISSU technology to perform system upgrades/downgrades with no downtime
Cisco NX-OS has allowed us to leverage high throughput packet forwarding for all of our application needs. I can't remember the last time anyone has complained about slow application speeds in my environment.