Awesome
Awesome Network Automation
Network Automation is a cross between the discipline of Network Infrastructure and the discipline of Programming. This list was created to serve as a one-stop shop for information related to Network Automation.
- Awesome Network Automation
- Community
- Events / Meetup
- Training
- Presentations
- Blogs
- Programming Topics
- Open Source Projects
- Hypervisors and Containers
- Network Emulators
- Network Simulators
- Backups
- IPAM
- Configuration Management
- Books
- Vendor Agnostic Products
- Network Vendor Products
- Podcasts
- Contributing
- License
Community
- Ansible Google Groups - Ansible's mailing list and forum!
- IRC Ansible - Ansible IRC Channels.
- Chef Community - The complete offical list of Chef Community resources.
- Network Automation Forum - A conference focused on Network Automation.
- Network to Code Slack - The NTC Slack is a vendor and product agnostic home/pseudo-home to many popular Network Automation solution repositories, such as Nautobot, NAPALM, Netmiko, Nornir, NSoT, and so on. Over 17,000 members meet here to discuss topics related to Network Automation.
- Puppet Community - The complete offical list of Puppet Community resources.
- Salt Formulas - The SaltStack formulas working group.
- Salt Networks - A centralized group for talking about network device automation with SaltStack.
- Salt Users - The official forum of the Salt community.
- SaltStack Community Slack - The official Slack of Saltstack Project.
Events / Meetup
- AWS Reinvent - AWS re:Invent Central is designed to facilitate connections between sponsors and attendees.
- Ansible Fest - AnsibleFest is a day-long conference bringing together Ansible users, developers and industry partners to share best practices, case studies and Ansible news.
- Ansible NYC Meetup - Local NYC Ansible user meetup.
- Chef Summits - Chef community summit schedule.
- London Network Automation Meetup - A community of network engineers, who have interest in the new buzz of network automation.
- Minnesota Network User Group - Minnesota Network User Group, quarterly meetup of network users.
- NANOG - North American Network Operators' Group with fair share of automation presentations/discussions.
- Network to Coders Meetup - Maybe this can pressure NTC to finally setup an event for the 140+ NTC meetup members.
- Puppetize Live - A 24-hour global event including community discussions, presentations, and training. Formerly PuppetConf.
- SaltStack NYC Meetup - Local NYC SaltStack user meetup.
- Tech Field Day - Field Day events bring together innovative IT product vendors and independent thought leaders to share information and opinions in a presentation and discussion format.
- SaltConf - 4 days event including two days of SaltStack customer case studies and SaltStack technical deep dives.
Training
- CML - Training videos @ learningnetwork.cisco.com - Learning and Certifications at Cisco has created a series of in-depth training videos to assist users with installing and operating Cisco Modeling Labs (CML). This video series also provides a few videos on some of the more advanced features that CML offers.
- DevNet Academy - Self-paced e-learning with theory, exercises and quizzes for the Cisco Certified DevNet Expert exam by Luca Gubler.
- DevNet Expert Training - Training resources targeting the Cisco Certified DevNet Expert exam topics, including bootcamp courses by Andreas Baekdahl.
- GNS3 Academy - Instructor David Bombal - Offers an inexpensive set of introductions to Ansible and Python for Network Engineers, among other courses.
- ipSpace.net - Numerous courses, webinars, and videos covering SDN, network automation, cloud computing, virtualization technologies, IPv6, VPNs, and much more.
- Network to Code - Network Automation Training including Python, Ansible, DevOps, and much more.
- Network Programmability Basics - Cisco - Jumpstart your journey into network programmability with this expert-led video course by Cisco DevNet.
- Nick Russo study resources - Collection of DevNet certification study resources, such as study plans and Postman collections.
- Python for Network Engineers - Learn skills that make you better at network automation and that improve your capability to use programming to scale your work.
Presentations
Blogs
- Benoît Claise blog - The Network Automation thoughts of Benoît Claise.
- Coding Packets - The Network Automation thoughts of Brad Searle.
- dravetech.com - The Network Automation thoughts of David Barroso.
- Eric Chou - PythonicNetneg - The Network Automation thoughts of Eric Chou.
- IPEngineer - David Gee - Network automation, software-networking and musings from David Gee.
- ipSpace.net - Ivan Pepelnjak - Network automation blog posts by Ivan Pepelnjak.
- Jason Edelman - The Network Automation thoughts of Jason Edelman.
- Josh-V - The Network Automation thoughts of Josh VanDeraa.
- Mircea Ulinic - Random thoughts of Mircea Ulinic. May include event-driven network automation, vendor bashing or machine learning (TBD).
- MTU Ninja - The Network Automation thoughts of Vincent Bernat.
- Napalm-automation - News and updates about the NAPALM project.
- Network to Code - Network to Code's blog sharing thoughts, ideas, and tips all about network automation.
- Networklore - The Network Automation thoughts of Patrick Ogenstad.
- Network OP - The Network Automation thoughts of Michael Kashin.
- NWMichl Blog - The Network Automation thoughts of Michael Schön.
- Open-Source Routing and Network Simulation - Brian Linkletter - Blog about the open-source network emulation and network simulation tools by Brian Linkletter.
- Packet Coders - The Network Automation thoughts of Rick Donato.
- Packet Life - The Network Automation thoughts of Jeremy Stretch.
- Python for Network Engineers - Articles on Netmiko, NAPALM, and Ansible by Kirk Byers.
- Scott Lowe - The Network Automation thoughts of Scott Lowe.
- Wim Wauters - The Network Automation thoughts of Wim Wauters.
Programming Topics
Structured Data
YAML
- Getting Started and Basics - Introduction to YAML
- Online Validator - Online YAML Parser.
- Sample YAML documents describing common data structures - YAML examples courtesy of Ivan Pepelnjak.
- YAML Data Validation with JSON Schema - Explains how JSON schema can be used to validate YAML files and how syntax highlighting can be added to the IDE for the YAML files.
- YAML syntax validator - YAML online parser.
- YAML idiosyncrasies -- Document with the most common YAML idiosyncrasies, hosted under the SaltStack docs, but not specific to Salt or any other tool.
JSON
- Awesome JSON - A curated list of awesome JSON libraries and resources.
- Getting Started and Basics - JSON Basics.
- JSON diff - An online JSON diff tool.
- JSON 2 YAML - An online JSON to YAML conversion tool.
XML
- XML to JSON converter online - XML to JSON and JSON to XML converter online.
YANG
- Cisco Labs YANG Introduction - Introducing YANG Data Modeling for the Network.
- IETF RFC - The IETF RFC on YANG.
- YANG for dummies - NAPALM YANG introduction.
- YANG fundamentals - A walkthrough video on how to build your own YANG model.
Jinja2
- Documentation - Base documentation for Jinja2.
- Sample Jinja2 templates - Jinja examples courtesy of Ivan Pepelnjak.
API
RESTCONF
- RESTCONF requests for IOS-XE - How to combine HTTP path, method and payload for IOS-XE restconf operations.
NETCONF
- NETCONF message layers - A view into the payload of NETCONF XML documents and layers.
Python
- Awesome Python - A curated list of awesome Python frameworks, libraries, software and resources.
- Learn Python the Hardway - Learn Python The Hard Way takes you from absolute zero to able to read and write basic Python, giving you the tools to understand other documentation and books about Python.
- Python at Codecademy - Learn Python by Codecademy.
- Python data structures - Examples on how to access data in nested structures of lists and dicts.
- Python Programming Guides and Tutorials - Python Central - Experienced Python programmers and enthusiasts from around the world that are eager to share their experience.
Go
- Awesome Go - A curated list of awesome Go frameworks, libraries, software and resources.
- Getting Started and Basics - Introduction to programming with Go.
- JSON-to-Go - This tool instantly converts JSON into a Go type definition.
- YAML-to-Go - This tool instantly converts YAML into a Go type definition.
Vendor API Docs
- Arista EAPI - The Arista Command eAPI is a simple and complete API that allows you to configure and monitor your Arista switches.
- Cisco DNA Center Platform API - Online documentation of Cisco DNA Center Platform API.
- Cisco IOS XE CSR1000V - Cisco IOS XE REST API Management Reference Guide.
- IOS-XE Programmability - Documentation for Plug and Play, Guestshell, Python API, EEM, NETCONF, RESTCONF, gNMI/gNOI, gRPC and Application Hosting.
- Cisco IOS-XR - Cisco IOS-XR API Docs only.
- XR-Docs - Documentation Blogs and Tutorials on all things IOS-XR An Open, Extensible and Stable Cloud-Scale Network Operating System.
- NX_API Coming soon - Coming Soon.
- Cisco NX-API - Main DEVNET page for NX-API docs.
- Checkpoint Management API - Checkpoint Management REST API docs.
- Cumulus Networks HTTP API - Cumulus Networks REST API docs.
- Extreme Networks:
- EXOS REST API - Documentation and examples for ExtremeSwitching ExtremeXOS RESTCONF API.
- EXOS JSONRPC Interface - Documentation and examples for ExtremeSwitching ExtremeXOS JSONRPC API.
- EXOS Python API - Documentation for writing Python applications that run on ExtremeXOS based switches.
- F5 - REST API User Guide, Version 13.0.0.
- Infoblox Perl API and Infoblox REST API
- Juniper JUNOS API - JUNOS REST API Guide.
- Meraki Dashboard API - Manage network environments within Meraki's cloud management tools.
- Meraki Dashboard API What's New - Documentation of changes to API endpoints.
- Palo Alto Networks PAN-OS API - PAN-OS 8.0 XML API Reference.
Open Source Projects
Ansible
- Getting Started with the ios_config Ansible Module - YouTube video by Jason Edelman of NetworkToCode introducing the ios_config Ansible module
- Sample network automation Ansible playbooks - Ansible playbooks geared towards network engineers, courtesy of Ivan Pepelnjak.
Batfish
- Home Page - Batfish.org home page with tutorials, talks and technical papers detailing the research behind Batfish.
- Getting Started with Batfish
- Documentation - Getting Started Documentation for Batfish.
- Jupyter Notebook - Jupyter Notebooks showing how to use Batfish for configuration, ACL, routing, forwarding, etc... analysis.
- Video - YouTube videos explaining how to use Batfish.
Chef
- Using Chef Client with Cisco NX-OS - Using Chef Client with Cisco NX-OS
Clixon
- Clixon Home Page - Clixon home page with links to the different projects with code and documentation.
- Clixon Code - Clixon provides an interactive CLI, NETCONF, and RESTCONF configuration interface for a YANG-based device.
- Clixon Controller Code - The Clixon controller is an open-source tool for network automation of devices based on NETCONF and YANG.
Infrahub
- Infrahub GitHub Repo - Infrahub - A new approach to Infrastructure Management.
- Infrahub Documentation - Including overview, getting started, and FAQ.
Puppet
- Managing a Cisco switch with Puppet - My experiences of managing a Cisco switch with Puppet.
Salt
- Napalm-Salt Repository - The NAPALM-Salt Repository.
- salt-nornir - proxy minion to manage network with SaltStack and Nornir using Netmiko, NAPALM, Scrapli, Ncclient, PyGNMI, PyATS based plugins to name a few.
- salt-sproxy - Salt plugin to automate the management and configuration of (network) devices at scale, without running (Proxy) Minions.
- Salt in 10 minutes - Salt in 10 minutes.
- Salt high availability and fault tolerance - Salt high availability and fault tolerance.
- Salt RIPE-74 - Event-driven network automation using Salt: up and running in 60 minutes.
- Salt 2016.11 - Salt 2016.11 (Carbon) release notes.
- Salt 2017.7 - Salt 2017.7 (Nitrogen) release notes.
- SaltStack fundamentals - Getting Started Guide walks you through the fundamental concepts you need to learn as you start using SaltStack.
- SaltStack configuration management - SaltStack Configuration Management.
- SaltStack Network Automation - SaltStack Network Automation Overview.
- Using Salt at scale - Using Salt at scale.
StackStorm
- StackStorm Repository - StackStorm (aka "IFTTT for Ops") is event-driven automation commonly used for auto-remediation, security responses, facilitated troubleshooting, complex deployments, and more. Includes rules engine, workflow, 1800+ integrations, native ChatOps and so forth.
- StackStorm Installer - Ready to install StackStorm? Here’s an overview of how to get your system up and running.
- StackStorm Youtube - Various intro, marketing, interviews, and technical product talks.
- Stackstorm Docs - Documentation repository for latest version of StackStorm.
- StackStorm Intro on Software Gone Wild - SGW team talk with StackStorm (including Matt Oswalt) to discuss StackStorm.
SuzieQ
- SuzieQ Documentation - All official documentation including project overview, quick start, configuration guide, etc.
- SuzieQ Repository - Open-source code for the SuzieQ project.
- SuzieQ Youtube - Official youtube home of the SuzieQ project providing community meetups and demonstrations of the project in action.
Products
- eNMS - A vendor-agnostic NMS for carrier-grade network visualization and network automation.
- Nautobot - Nautobot is a Network Source of Truth and Network Automation Platform.
- netpalm - netpalm is a ReST broker and abstraction layer for NAPALM, Netmiko, NCCLIENT or a Python Script.
- NSoT - Network Source of Truth (NSoT) is a source of truth database and repository for tracking inventory and metadata of network entities to ease management and automation of network infrastructure.
- Rundeck - Job scheduler and runbook (and Ansible playbook) automation.
Library
- Aerleon - Multi-platform ACL generation system with plugin support, YAML-based config, and a Python API. Fork of Capirca.
- Capirca - Multi-platform ACL generation system; can output Juniper/IOS/etc ACLs from the same policy.
- Cisco Genie Parsers - Genie Parsers by Cisco
- ciscoconfparse - Parse, Audit, Query, Build, and Modify Cisco IOS-style configurations.
- Cisco virl2_client - Documentation for the VIRL 2 (aka CML) API Client. Use this library to create Python scripts to interact with CML.
- EasySNMP - Easy to use and very fast SNMP library that uses Net-SNMP.
- FreeZTP - FreeZTP is an open-source Zero-Touch Provisioning system for Cisco IOS campus switches and routers.
- gNMIc - gNMI CLI client and collector.
- Hierarchical Configuration - Hierarchical Configuration is a Python library that is able to take a running configuration of a network device, compare it to its intended configuration, and build the remediation steps necessary bring a device into spec with its intended configuration.
- inet-henge - Generate d3.js based Network Diagram from JSON data.
- Jinja2 - A full-featured template engine for Python.
- NAPALM - NAPALM (Network Automation and Programmability Abstraction Layer with Multivendor support) is a Python library that implements a set of functions to interact with different router vendor devices using a unified API.
- Need To Graph - A library to generate diagrams in yWorks GraphML, diagrams.net/draw.io or JSON formats using structured data or show commands output.
- netaddr - Network address manipulation that supports a number of techniques (supernetting and subnetting).
- Netmiko - Multi-vendor library to simplify Paramiko SSH connections to network devices.
- Netutils - A Python library that is a collection of functions that are used in the common network automation tasks.
- Nornir - Nornir is a pure Python automation framework intended to be used directly from Python.
- NUTS - Network Unit Testing System is a Pytest plugin enabling writing network tests with YAML files.
- PyGNMI - Pure Python implementation of gNMI client to interact with network functions.
- SEC - Simple Event Correlator - SEC is an event correlation tool for advanced event processing which can be harnessed for event log monitoring, for network and security management, for fraud detection, and for any other task which involves event correlation.
- Template Text Parser - CLI tool and Python module for parsing semi-structured text into structured data. Similar syntax to Jinja templating, but in reverse. TTP Templates collection.
- TextFSM - Python module for parsing semi-structured text into Python tables.
- YAPYANG - Python package that helps translate YANG data models to Python.
Non-Core Ansible Modules
- ansible-junos-stdlib - Junos OS modules for Ansible.
- ansible-mysql-query - Ansible module to modify MySQL database records.
- ara - Ansible Runtime Analysis.
- FortiManager-Ansible - Ansible module to work with FortiManager.
- Infoblox-Ansible - Ansible module to work with Infoblox.
- IP Infusion OcNOS Ansible module - Ansible module, SNMP MIB files, and YANG files for OcNOS.
- Napalm-Ansible - Collection of Ansible modules that use napalm to retrieve data or modify configuration on networking devices.
- Netscaler-Ansible - Ansible module to work with Netscalers.
- NTC Ansible - Multi-vendor Ansible modules for Network Automation.
- pan-os-ansible - Ansible modules for working with Palo Alto Networks PAN-OS.
Pre-written Salt States (Formulas)
- napalm-install-formula - Salt formula to simplify the installation of the necessary packages and system dependencies for NAPALM.
- napalm-ntp-formula - Formula to manage the NTP configuration on network devices, following the OpenConfig system YANG model.
Vendor Abstraction Library
- clicrud - Brocade specific (MLX/VDX/ICX/CER/CES) CLI driver (Telnet & SSH).
- cvprac - Python library for Arista CVP.
- dnacentersdk - Python library for Cisco DNA Center Platform API.
- f5-common-python - Python SDK for configuration and monitoring of F5 BIG-IP devices via the iControl REST API.
- Infoblox Python Module - Python wrapper for REST API
- Infoblox Go Client - Go wrapper for REST API
- pan-python - Multi-tool set for Palo Alto Networks PAN-OS, Panorama, WildFire and AutoFocus.
- pandevice - Device framework for interacting with Palo Alto Networks devices.
- pyeapi - Python library for Arista EOS.
- pyfg - Python library for Fortinet.
- pyiosxr - Python library for Cisco IOSXR.
- pyntc - Python library focused on tasks related to device level and OS management.
- py-junos-eznc - Python library for Junos automation.
Tools
- Batfish - Open-source network validation application. Multi-vendor configuration parser with a detailed modeled based simulation to analyze all aspects of network behavior (routing, forwarding, security, etc...).
- D2 - Create beautiful diagrams in minutes. Simple syntax. Endlessly customizable. D2 is the fastest and easiest way to get a mental model from your head onto the screen, then make edits with your team.
- Drawthe.net - Draw network diagrams described in YAML files.
- IS-IS Watcher - Tracks IS-IS topology changes by establishing a GRE tunnel with network devices via a history diagram.
- napalm-logs - Cross-vendor normalisation for network syslog messages, following the OpenConfig and IETF YANG models.
- Network-Conditions-Emulator - Artificially limit bandwidth, delay and loss rate on selected interfaces.
- netconan - Network Configuration Anonymizer
- NetCopa - Network device configuration parser ("industry standard" -> YAML converter).
- NetTowel - Collection of useful network automation functions for the CLI.
- OSPF Watcher - Tracks OSPF topology changes by establishing a GRE tunnel with network devices via a history diagram.
- Topolograph - Python-based Web tool for visualisation of OSPF/ISIS topologies and making a prediction of network behaviour in case of network's outage.
Network Telemetry
- InfluxDB - Made for developers to build time-series-based applications quickly and at scale.
- Prometheus - Prometheus is an open-source systems monitoring and alerting toolkit originally built at SoundCloud.
- Telegraf - Telegraf is the open source server agent to help you collect metrics from your stacks, sensors, and systems.
- Grafana - The open observability platform.
Online Parser
Jinja2
- J2Live - TTL255 - Online Jinja2 parser. Additional support for Ansible and Salt filters.
- Jinja 101 - Online Jinja2 parser with Ansible, SaltStack and Stackstorm filter support. Jinja2 environment settings can be configured.
- TD4a - Advanced online rendering tool.
- textfsm.nornir.tech - Online development tool for Jinja2 templates and more.
TextFSM
- textfsm.nornir.tech - Online development tool for TextFSM templates and more.
- TextFSM 101 - Simple online TextFSM parser with examples.
TTP
- textfsm.nornir.tech - Online development tool for TTP templates and more.
- TTP 101 - Simple TTP online parser with easy examples.
Hypervisors and Containers
- Docker - Docker is a software technology providing operating system-level virtualization also known as containers, promoted by the company Docker, Inc.
- KVM - KVM (Kernel-based Virtual Machine) is a full virtualization solution build into the Linux Kernel
- Proxmox - Proxmox is an open source virtualization platform that provides an easy web interface (and REST API) for KVM and LXC.
- QEMU - QEMU is a generic and open source machine emulator and virtualizer. When using KVM, QEMU can virtualize x86, server and embedded PowerPC, 64-bit POWER, S390, 32-bit and 64-bit ARM, and MIPS guests.
- Vagrant - Vagrant enables users to create and configure lightweight, reproducible, and portable development environments.
- VirtualBox - VirtualBox is a powerful x86 and AMD64/Intel64 virtualization product for enterprise as well as home use.
- Vmware ESXi - VMware ESXi is a purpose-built bare-metal hypervisor that installs directly onto a physical server.
Network Emulators
-
CML - Cisco Modeling Labs (CML), which replaces VIRL, is a network emulator with both an API and GUI frontend.
-
Container-Lab - Containerlab provides a framework for orchestrating networking labs with containers. It starts the containers, builds a virtual wiring between them to create lab topologies of users choice and manages labs lifecycle.
-
EVE-NG - The Emulated Virtual Environment for Network, Security and DevOps professionals.
-
FakeNOS - Simulate network operating systems in a programmatic and easy way.
-
GNS3 - Graphical Network Simulator-3.
-
Mininet - Mininet creates a realistic virtual network, running real kernel, switch and application code, on a single machine (VM, cloud or native), in seconds, with a single command.
-
netlab - Brings infrastructure-as-code concepts to networking labs. You'll describe your high-level network topology and routing design in a YAML file, and the tools in this repository will create configs for VirtualBox/libvirt/containerlab, Ansible inventory, IPv4/v6 addressing, VLANs and VRFs, OSPF, EIGRP, IS-IS, BGP, BFD, MPLS, MPLS/VPN, VXLAN, EVPN and Segment Routing.
-
UNetLab - Unified Networking Lab.
-
VRNetLab - Run your favourite virtual routers in docker for convenient labbing, development and testing.
Network Simulators
- Batfish - Batfish provides a model-based simulation for multi-vendor networks, that enables routing, forwarding, security, compliance, and what-if scenario analysis of a network (or proposed change to a network).
- Cisco WAN Automation Engine - Cisco WAE, formerly known as Cariden MATE, provides a multi-vendor network simulation that enables capacity planning and what-if scenario analysis for carrier networks.
- Forward Networks - Forward Enterprise documents, searches, verifies, and predicts the behavior of your network by creating an always-accurate software copy of your entire network infrastructure for both on-prem and cloud.
- Juniper WANDL - Juniper WANDL provides traffic engineering models that enable capacity planning, network optimization and what-if scenario analysis for carrier networks.
- SuzieQ - SuzieQ is a agentless, multi-vendor network observability application.
Backups
- Cidr - Cidr Is not as Dumb as Rancid.
- fetchconfig - fetchconfig is a Perl script for retrieving configuration of multiple devices.
- Gerty - Universal framework for device management automation. Eventually a replacement for RANCID... and much more.
- Jazigo - Jazigo is a tool written in Go for retrieving configuration for multiple devices, similar to rancid, fetchconfig, oxidized, Sweet.
- Oxidized - Oxidized is a network device configuration backup tool. It's a RANCID replacement!
- RANCID - RANCID monitors a router's (or more generally a device's) configuration, including software and hardware (cards, serial numbers, etc) and uses CVS (Concurrent Version System), Subversion or Git to maintain history of changes.
- Sweet - Network device configuration backups and change alerts for the 21st century - inspired by RANCID!
- Unimus - Configuration backup with an easy to use Web GUI. From nothing to backing-up 1000 routers in 15 minutes.
IPAM
- bluecat - BlueCat provides network intelligence and insight into the relationship between devices, users and IP addresses that can be put into action to improve security and ensure reliable, always-on business connectivity.
- Device42 - Automatically maintain an up-to-date inventory of your physical, virtual, and cloud servers and containers, network components, software, services, applications, and their inter-relationships and inter-dependencies. Integrations, REST APIs and webhooks to automate your workflows with a modern CMDB as a single source of truth. Comes with powerful Data Center Infrastructure Management, IP Address Management and Application Mappings. Mostly leverages SNMP or vendor provided APIs that are well adopted/documented.
- Infoblox - Industry leader in DNS, DHCP, and IP address management, the category known as DDI.
- NetBox - NetBox is an IP address management (IPAM) and data center infrastructure management (DCIM) tool.
- nipap - nipap is a sleek, intuitive and powerful IP address management system built to handle large amounts of IP addresses.
- NSoT - Network Source of Truth is an open source IPAM and network inventory database.
- phpIPAM - phpIPAM is an open-source web IP address management application (IPAM). Its goal is to provide light, modern and useful IP address management.
- TeemIP - TeemIp is an open source, WEB based, IP Adress Management (IPAM) tool that provides comprehensive IP Management capabilities. It allows you to manage your IPv4 and IPv6 spaces through a simple and powerful user interface: track user requests, discover and allocate IPs, manage your IP plan and your subnet space in accordance with best in class IP Management practices.
Configuration Management
- Jerikan - Network wide CMDB combining single source of truth in YAML, configs in Jinja2 and deployment with Ansible.
- ManageEngine - Network Configuration Manager is a multi vendor network change, configuration and compliance management (NCCCM) solution for switches, routers, firewalls and other network devices.
- NetMRI - Vendor Agnostic NCCM tool with with policy engine and multi-vendor device lifecycle/vulnerability management. (Infoblox product)
- Rconfig - Free, open source network device configuration management tool, customizable to your needs!
- Solarwinds - Automated network configuration and compliance management.
- Unimus - Network-wide configuration search and config diff over time in an easy to use web GUI.
Books
- Ansible for DevOps - Learn Ansible concepts from an industry leading Ansible expert, with associated Vagrant files for ease of learning
- Ansible: Up and Running - Automating Configuration Management and Deployment the Easy Way.
- Cloud Native Data Center Networking - If you want to study, build, or simply validate your thinking about modern cloud native data center networks, this is your book. Whether you’re pursuing a multitenant private cloud, a network for running machine learning, or an enterprise data center, author Dinesh Dutt takes you through the steps necessary to design a data center that’s affordable, high capacity, easy to manage, agile, and reliable.
- Effective DevOps - Learn cultural and organizational best practices on how to make a good DevOps team
- Git Pocket Guide - This pocket guide is the perfect on-the-job companion to Git, the distributed version control system. It provides a compact, readable introduction to Git for new users, as well as a reference to common commands and procedures for those of you with Git experience.
- Infrastructure as Code - Learn the Infra as Code principles and design patterns (examples are for Compute not network though)
- Mastering Python Networking Second Edition (August 2018), First Edition (June 2017 with more SDN-related topics) - Become an expert in implementing advanced, network-related tasks with Python.
- Network Programmability and Automation - Skills for the Next-Generation Network Engineer.
- Network Programmability with YANG - The Structure of Network Automation with YANG, NETCONF, RESTCONF, and gNMI.
- Network Automation at Scale - An introduction and practical look at using Salt to automate your network at scale, in a free ebook from O'Reilly.
- Open Source Network Management - Step by step guide for getting started with Open Source Network Management tools such as Nautobot, Hashicorp Vault, Telegraf, and Prometheus.
- Site Reliability Engineering and The Site Reliability Workbook - Learn concepts of automating and operating at scale from Google experts.
- Seeking SRE: Conversations About Running Production Systems at Scale - Learn from the best practices of SRE practitioners who are not working at Google.
- The DevOps Handbook - Learn the concepts of Agile and DevOps principles.
- The Phoenix Project - See the concepts of Agile and DevOps in this fiction story about a typical IT Org.
- The Unicorn Project - See the concepts of Agile and DevOps following a Developer viewpoint.
Vendor Agnostic Products
- Anuta Networks ATOM - Monitoring & Closed-Loop Automation for Multi-Vendor Networks.
- Apstra - The Apstra Operating System (AOS) is a vendor-agnostic distributed operating system for the data center network that enables business agility, dramatically scales operational efficiency, and reduces downtime.
- Cisco NSO - NSO (former Tail-f NCS) is a multi-vendor automation and orchestration platform for physical and virtual networks for over 80+ vendors. NSO provides YANG-based programmability through a wide variety of interfaces including CLI, RESTCONF, NETCONF, Java, Python and web UI.
- Forward Networks - Forward Enterprise documents, searches, verifies, and predicts the behavior of your network by creating an always-accurate software copy of your entire network infrastructure for both on-prem and cloud.
- Glue - With Gluware, the Glue Networks vision and team are continuing to trail-blaze at the forefront of the networking industry with multi-vendor orchestration solutions for Data Center, WAN and LAN networks.
- Intentionet - Intentionet provides a hosted or on-premise network validation software solution based on Batfish. Intentionet Sage's model-based network simulation enables pre-commit validation for all network changes, ensuring only correct changes are pushed to the network, thereby reducing outages and breaches while improving network agility.
- IP Fabric - Network assurance tool with vendor agnostic network discovery, inventory, modelling and mapping of on-prem and cloud networks. Snapshots create a point-in-time view to verify that network behaves as intended after changes. GUI supports your network documentation with accurate, live network representation, and API used to keep all your SoT, automation tooling and monitoring up to date.
- NetMRI - Vendor Agnostic NCCM tool with with policy engine and multi-vendor device lifecycle/vulnerability management. (Infoblox product)
- NetYCE NetYCE lets you be in control of any and all of your networks, using its unique Design Driven Networking approach. Not stopping at network devices, but orchestrate end-to-end including firewalls, DDI (DNS, DHCP, IPAM) and other 3rd party tooling. Deploy your networks as Designed.
- PacketFront - PacketFront BECS and BBE is a vendor-agnostic network, service and resource orchestration system for residential, enterprise and data center networks.
- SuzieQ Enterprise Edition - The enterprise edition of the suzieq open source project.
Network Vendor Products
- Cisco DNA Center - Cisco DNA Center automates campus networks for faster workflows, faster troubleshooting through more visibility, and policy-driven security (inc. SDA).
- Cisco Meraki - Cisco Meraki is the leader in cloud controlled WiFi, routing, and security. Secure and scalable, Cisco Meraki enterprise networks simply work.
- Cisco Viptela - Viptela provides Software-Defined Wide Area Network (SD-WAN) technology that allows global companies to build cost-effective WANs.
- Cumulus Networks NetQ - Cumulus NetQ is a highly-scalable, modern network operations tool set that provides visibility into your overlay and underlay networks in real-time. NetQ delivers actionable insights and operational intelligence about the health of your data center — from the container, virtual machine, or host, all the way to the switch and port, enabling a NetDevOps approach.
- Oracle Talari - Talari Networks SD-WAN technology.
Podcasts
Podcasts Feeds
- Network to Code - Network to Code automation podcast on the Network Collective feed.
- Packet Pushers Full Stack - The Journey To Full Stack.
- Software Gone Wild - Software Gone Wild is focusing on architectures, solutions and technologies that real networking engineers use in production networks.
Podcasts Episodes
- Network Collective EPISODE 10 - GRASSROOTS AUTOMATION.
- Network Collective Infrastructure as Code 101 Introduction to Infrastructure as Code with Damien Garros and Ken Celenza.
- Packet Pushers Datanauts 80 - The Current State Of Network Automation & Telemetry.
- Packet Pushers Day Two Cloud 043 - Git For Ops People with Damien Garros.
- Packet Pushers Heavy Networking #445 - David Barroso, Kirk Byers, and Dmitri Figol on Nornir.
- Packet Pushers Heavy Networking #498 - Creating A Single Source Of Truth For Network Automation with Tim Schreyack.
- Packet Pushers PQ Show 81 - Network Testing With ToDD.
- Packet Pushers PQ Show 99 - Netmiko & NAPALM For Network Automation.
- Packet Pushers PQ Show 116 - Practical YANG For Network Automation.
- Packet Pushers PQ Show 135 - Mastering Python Networking – The Book.
- Packet Pushers PQ Show 198 - Kirk Byers on Network Automation with Python & Ansible.
- Packet Pushers Show 176 - Intro to Python & Automation for Network Engineers.
- Packet Pushers Show 333 - Automation & Orchestration In Networking.
- Packet Pushers Show 351 - Design & Build 13: Network Orchestration with Salt.
- Packet Pushers Show 353 - The Business Impact Of Network Automation.
- Packet Pushers Show 368 - Show 368: Radical Change, DevOps & Automation.
- Packet Pushers Show 402 - Show 402 - Building A Network Automation Framework
- Packet Pushers Show 532 - Scrapli Is A Netmiko Alternative - Show 532 with Carl Montanari and Dmitry Figol.
- Packet Pushers Show 537 - Ansible Or Terraform: Choose One with Josh VanDeraa and Ned Bellavance.
- Podcast__init Episode 117 - NAPALM with David Barroso and Mircea Ulinic.
- Podcast__init Episode 232 - Network Automation At Enterprise Scale With Python - Episode 232 with Antoine Fourmy.
- Talk Python to me #128 - Pythonic Networks with NAPALM.
- Talk Python to me #175 - Teaching Python to network engineers
Contributing
Contributions about network automation are most welcome!
This list is just getting started, please contribute to make it super awesome.
License
Licensed under the Creative Commons 4.0 License, see LICENSE file for more detail.