• Skip to main content
  • Skip to header right navigation
  • Skip to site footer

Roger Perkin

Network Automation Architect

  • Network Automation
    • Network Automation Courses
    • What is NetDevOps?
    • Workflow Orchestration
    • Ansible Automation Platform
    • Ansible Workshop
    • What is Network Automation?
    • Network Automation Tools
    • ContainerLab
    • Ansible Training
      • What is Ansible?
      • Ansible Tutorial for Beginners
      • Ansible Network Automation
      • Ansible Inventory Example
    • Python Network Automation
      • Nornir
      • Python Network Automation Course
      • Python for Network Engineers
      • Python VENV / Virtual Environment Tutorial
      • Python Tutorial for Beginners
      • pyATS
    • Network Source of Truth
      • NetBox
      • Infrahub
    • NetDevops
    • DevOps Tutorial
      • Git Training
      • Terraform Training
      • Linux Training
      • Kubernetes Training
      • Devops Training Course
      • Azure Devops Training
    • Terraform
    • GIT
      • Git Commands
      • What is GitHub?
    • Docker Training
    • Confluence
    • Microsoft Azure
  • Cisco
    • ISE
    • SD WAN Training
    • Password Recovery
    • Software-Upgrade-Guides
    • BGP
    • Data Center
    • WIRELESS
  • CCIE
  • Blog
  • About
    • My Red Special Guitar
  • Contact

Batfish Network Automation

Home » Network Automation » Batfish

Introduction to Batfish

What is Batfish?

Batfish is an open source network analysis tool. It takes configuration files (snapshots) from network devices and then creates a vendor agnostic data model that you can interrogate offline to validate network changes before you make them.

Batfish can also rebuild the control plane and routing table offline so you can query that to see if any network changes will affect the routing table.

It also works for firewall rules and you can query if a network change for example will block access to a key application.

This is really just scratching the surface of what Batfish can do, so let’s install it and start looking at some simple examples.

Also, as Batfish can run offline it makes it great to add into a CI pipeline to validate changes before they are deployed.

Batfish Installation

The latest Batfish documentation can be found here:
https://batfish.readthedocs.io/en/latest/getting_started.html

Batfish runs as a container so you just need a machine that supports Docker, for this Batfish tutorial I will be using Ubuntu 22. It is also recommended that you also install Pybatfish in a virtual environment.

  • Install Docker
  • Install Batfish
  • Create a virtual environment
  • Install PyBatfish
  • Upgrade Batfish

There are two versions of Batfish, a lightweight version and one that comes with Jupyter notebook. For this tutorial we are going to install the full (allinone) version.

docker pull batfish/allinone

To run Batfish just enter this command

docker run --name batfish -v batfish-data:/data -p 8888:8888 -p 9997:9997 -p 9996:9996 batfish/allinone

PyBatfish

Setting up Batfish for network analysis and configuration validation

Using Batfish to troubleshoot network issues

Ansible & Batfish

Batfish vs PyATS

Batfish Enterprise

Batfish enterprise was the GUI front ended enterprise supported version of Batfish managed and maintained by Intentionet. However it has since been discontinued as Batfish was acquired AWS in 2022 and the future of Batfish Enterprise at this point is unclear.

Leveraging Batfish for configuration management and deployment

Advanced Batfish features for large-scale network management

Case study: Using Batfish to streamline network operations at XYZ Company

Best practices for using Batfish in network automation workflows

A comparison of Batfish with other network automation tools

Batfish Training

Real-world use cases of Batfish Network Automation in action

Frequently asked questions about Batfish and network automation

  1. Introduction to Batfish Network Automation
  2. Benefits of using Batfish for Network Configuration Verification
  3. How Batfish helps in Network Auditing and Troubleshooting
  4. Using Batfish for Multi-Vendor Network Environments
  5. Real-world use cases of Batfish Network Automation in action.

batfish aws

batfish github

batfish enterprise

batfish vs pyats

batfish enterprise pricing

batfish docker

batfish juniper

What is Batfish used for?

Batfish finds errors and guarantees the correctness of planned or current network configurations. Batfish was originally developed by researchers at Microsoft and provides validation of network configurations from an offline data model. It has now been purchased by AWS

Category: Batfish
ansible course for network engineers
Get Access to my Ansible Course NOW
Previous Post:roger perkin network automation course instructorWhat do Network Engineers do?
Next Post:Azure Virtual Network Manager

Reader Interactions

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Sidebar

Hi I'm Roger Perkin,
Based in the UK working as a Network Automation Architect, CCIE #50038
About Roger | Twitter | Linkedin

python course for network engineers

Topics

Network Automation
Ansible
Python for Network Automation
CCIE
Cisco ISE
F5 Certification
BGP
OSPF
Network Automation Conferences
auvik promo banner
Pluralsight Trial

Git for Network Engineers

Ansible vs Nornir

Start learning today with my Network Automation Courses

Master Ansible, Python, Git, Nornir, Jenkins and more..


Buy me a coffeeBuy me a coffee

ansible network automation course

Have you seen my YouTube Channel?

YouTube Subscribe

Let’s get started

Take a look at my premium courses on Ansible, Nornir & Git or buy them all with the Network Automation Bundle!

Network Automation Courses

Navigation

Python VENV Tutorial
Python for Network Engineers

Network Automation
Network Automation Courses
Network Discovery Tools
Network Automation Conferences
Ansible Training
What is Ansible?
Devops Tutorial
Network Source of Truth
DevOps Glossary
Network Monitoring Software

Contact

Contact

Get in touch with me here

[email protected]

  • Twitter
  • LinkedIn
  • YouTube
Buy me a coffeeBuy me a coffee

Copyright © 2025 · Roger Perkin · All Rights Reserved · Privacy Policy – Terms