Plan, Test, Deploy: The Best Ways to Prevent Network Outages

Get your free DevNet account for access to our developer resources, learning labs, and sandbox.

Chances are, if you are in engineering, you have been involved in an outage at some stage in your career – be this your current role or a former role. No one likes the unexpected wake-up calls at 01:00am or working late and missing family and personal time. There have been many times in my own career when my network changed, and no matter how much I had planned nothing could have prevented the unforeseen results and outcomes. Having a good rollback plan is an important part of the deployment plan (I learned that the hard way!)

But let me ask you this, how many times have you said to yourself (or your co-workers or managers), “if only we could test our changes before we deployed them to our production network.”  More than a few I suspect, and thus my next question …

Is CI/CD the answer?

The short answer is yes, but putting this into practice can be tricky, and you need to be sure that these changes are going to have a much higher success rate. We would all like to deploy more and work faster. But we need a way to test and validate our changes, regardless of whether the change is a simple update to existing configurations or something totally new.

The PyATS package was initially developed internally in Cisco, and is now available to the general public starting early 2018 through Cisco DevNet.

Build your own test cases

Not everyone is so lucky as to have a replicate of their network (or part of it) tucked away in a data center, just sitting there with no customers using it, and where changes can be tested before being added to the production network. Do not fear, help is at hand.

No doubt you have heard of Cisco VIRL.  Many people have used Cisco VIRL for years to study and learn, but why not use this as your production network test environment? Whether you’ve used VIRL in this way or not, you should take a look at the advances and new tools that can help you bring up your test environment faster, and provide you with reliable testing? If you have been following #devnet you may have seen that we have been showing you how to use VIRL and other tools for a long time now. The two top tools we use daily with VIRL are:

PyATS – pyATS is 100% fully developed, implemented using Python, and is designed to be usable independent of any other existing infrastructures. It is engineered to be suitable for agile, rapid development iterations, with the ability to handle a wide variety of testing scenarios and requirements, from white-box unit-testing, to black-box, feature, performance/scale testing & beyond

virl-utils – virl-utils gives you a DevOps-style CLI to interact with VIRL servers remotely. You can clone the GitHub repo for this and start using this today.

DevNet Sandbox lets you try it yourself, free!

Yes, you can! We run a number of sandbox’s in the devnet sandbox for you to try and test  these tools for yourself. If you are looking for more information on any of these tools here are some great resources.

pyATS Documentation

pyATS Introduction – YouTube video

A collection of utilities for interacting with Cisco VIRL – GitHub

virl up – NetDevOps Network Simulation Done Right – Blog

virl up – NetDevOps Network Simulation Done Right – YouTube Video

Still want more? Register now for NetDevOps Live! a weekly webinar series from DevNet where anything related to network automation, programmability, and NetDevOps is on the table and fair game for discussion.