The short answer (and a common one in our industry): it depends.
When comparing Cisco IOS with Juniper Junos, the decision to choose one over the other is difficult and often boils down to cost. Other factors to consider include:
- Features required
- User expertise
- Ease of integration
- Technologies supported
- Default values
- Device’s role in the network
Though I have more experience with Cisco IOS than with Juniper Junos (17 years vs. 3 years), I’ve used both enough to have an excellent grasp of routing and switching on each platform.
In my experience, the Junos operating system supplies most of the features needed based on the role of the device. Certain features in Cisco’s IOS may be dependent on the version of IOS being used. In older Cisco IOS implementations, the IOS determined which features were available based on the feature sets associated with that version of IOS and the device it was running on. With Juniper, the OS is consistent across all platforms and features are available based on licenses. Cisco has moved to the same type of OS implementations starting with version 15. Now they have consistency, and features are based on licenses.
If you need the features associated with Gateway Load Balancing Protocol (GLBP), then Cisco equipment is your choice. If you do not need those features, then Juniper equipment will work using the standard Virtual Router Redundancy Protocol (VRRP). Most vendors in the industry support standards-based protocols, including Cisco, and should integrate smoothly. However, Cisco made some small but important changes to some standards.
When connecting a Juniper switch to a Cisco switch, take care to ensure the same protocol is used.
Once the configuration is complete, I find it a little easier to read and understand a configuration using Junos. When issuing the “show configuration” command on a device running Junos, the output looks like a C program. I may be showing my age, but I have the ability to decode a C program, not the ability to create one. Maybe I have been influenced by my years of exposure to Cisco’s IOS, but I find configuration of some of the complex features, such as QoS, on a Junos device harder to follow.
The more exposure I get to Junos, though, the more I like it due to standards-based protocols and the ways the OS can be navigated. Still, if you’re looking for features, I am not sure there is a company out there that can touch Cisco’s IOS.
Another reason I am growing to like Junos is the way configurations are applied. In the IOS, the command is applied when the “enter” key is hit. In Junos, configurations are applied using a batch technique. This gives the administrator an opportunity to verify the configuration before it is applied. I have found that this has cut down on the number of mistakes I have made and keeps me from following Nancy Reagan’s advice to “just say no” to a command in the IOS in order to back out.
There are times when I think the commands on an IOS device are very cryptic and need interpretation in order to really understand the end result. To avoid redundancy, I have run into the same thing in Junos. A command is a command. Once you enter a command five times, I think you know the syntax. The important thing is to know what results to expect when a command is entered or applied, no matter if it is IOS or Junos.