Batfish – Serious Testing For Network Automation
If you work in network automation you know that changes have to be executed carefully. One of the negative aspects of building an automated system is that your successes are amazing, but your failures are catastrophic, enter Batfish. Consider the following 3 step plan essential:
Luckily, there’s a tool that helps you test earlier and more effectively- Batfish by Intentionet. It has python libraries for use in your code, and an ansible collection (found at https://github.com/batfish/ansible) – both useful! It’s a fantastic tool that saves you time by running checks on your network configurations before you push them.
Batfish fills an important space in the network automation pipeline; it tests changes before they’re pushed to production, making sure your configuration files are valid. Before changes are pushed anywhere the application runs tests on your configurations; it checks for syntax errors, for unreachable lines, and for ACL policies to see what traffic will and won’t be allowed through a device, and other checks too
The community is a helpful and active one. With tutorials published by Intentionet and the community that can help you get started using it.
And the developers are very responsive when reaching out for additional support!
If you’ve ever implemented a large number of changes out to your network, you’ll understand why it’s important to only push rigorously tested configurations into your network. At NetSyncrio we’re using Batfish to test all of our changes before they’re pushed out, and you should too.