Why JunOS should be a skill in your networking arsenal
I have been working in the IT networking field for the last ten years and I'm sure it is no surprise for me to say that a lot of that time was spent working on Cisco systems. IOS is practicaly engrained into my DNA. Nothing makes me happier than getting to set up new networks or troubleshooting with Cisco equipment and their operating systems. Whether it's IOS, NXOS, IOS-XR ASA, or even CatOS, I feel completely at home working with their software and command structure. I'm one of those CLI elitists that refuses to use GUIs to get the job done.
I have, from time to time, stepped out of my comfort zone and wandered into the different worlds of other vendors' platforms and have never felt comfortable with the results, until now. I have worked on various platforms, such as 3com, HP (now one and the same), Alcatel, netgear, and several others. I can honestly say that JunOS is the first OS since Cisco's that I feel comfortable and confident in what I'm dealing with.
I know you may think that I've drank the Juniper kool-aid and jumped ship, but it's quite the opposite. I think that Juniper's platform definitely has it's place in the world, but I think that it can also work quite well in a mixed environment. I started working on a network that has Juniper for specific layers in their network, and Cisco for the rest.
Before I started working on it, the company sent me to Juniper training. Before I started the training I took a look at Juniper's sight and found a free training module that was titled "JunOS as a second language." It was created for the sole purpose of helping Cisco aficionados, such as myslef, get comfortable with JunOS and helped you shape your mind by showing the similarities and differences between IOS and JunOS. I was immediately amazed with what JunOS could do and jumped right into my training.
There are several benefits of using the Juniper platform, as well as some caveats:
Commit and quit, instead mistake and bake - Juniper does not have config changes take effect on the fly. Instead they have you commit the config first, and there are several tools you can use to check the config before commiting. "commit | compare" lets you see exactly what changes you are about to make when you commit. They keep your previous configs that you can "rolllback" to, in case you need to back step. You can even set a timer for the commit, so if you get knocked out when commiting, it will rollback once it doesn't see you put in a second commit in the specified time.
Logs, logs, logs - Log files are broken out into various forms to make it easier to search for the specific message you want to look at. There's the standard syslog, which is called messages, but you also have logs for things like command history and a host of others. It can be really handy when it comes to troubleshooting.
Now for the double, edged sword. Their command structure is set up in a hierarchical form, meaning that you drill down through logical steps instead of random commands spread out throughout the config. The one issue I have with it is that it makes the config file rather long and hard to sort through. There are ways around it, but it would be nice to have that "sh run" page that I'm so use to.
There are many other pros and cons to JunOS and I could go on and on about the benefits of using Juniper, even in a mixed environment, but my posts are short on purpose. I'm not here to teach you everything you need to know and don't put in "cut and paste" commands for you to use. I keep it short so you get a basic idea of what I'm talking about and have a jumping off point to explore the wonderful of networking.
If anything I said peaked your interest, I strongly suggest that you go check out their site. They have tons of great articles and free training modules to get you started. I believe that Juniper is going to grow quicker than you might think and it would be a good idea to have an understanding of how they work. You might even enjoy it! :)
Happy networking!