subscribe

Which Network Automation Tools should I learn? Python, Ansible, Genie and more: Tool Chest

It’s confusing! Where do I start with network automation? Which tools should I learn? Hank Preston opens the Network Automation Tool Chest and tells us which tools we should learn. We have a roadmap of tools to learn, how to start learning and how to deploy in the real world.

Which tools are best to start with? python or ansible or netmiko or pyats or paramiko? We discuss lots of options in this video.

#Python #Ansible #Genie

Links:
DevNet home page: http://bit.ly/2MHbgOk
Network programmability Basics Video Series: http://bit.ly/2GGzg2T
Laptop Setup Labs: http://bit.ly/2GGzh6X
Coding Fundamentals Learning Labs: http://bit.ly/2ZK8yiP
Ansible Learning Labs: http://bit.ly/2ZEdqFY

Menu:
0:38 – What Network Automation Tools
02:56 – The NetDevOps Engineer’s Tool Chest
06:42 – Network Service and Configuration Management tools
10:36 – Where to start – Netmiko
12:55 – Genie CLI
15:00 – Ansible
20:20 – Domain Specific Language
22:14 – Python vs Ansible
24:08 – Napalm + Nornir
27:15 – Issues with Napalm and Netmiko
28:19 – Real World Use Cases of network automation tools
30:02 – pyATS & Paramiko
33:49 – pyATS & Genie
41:04 – DIFF
42:54 – How to schedule Network Automation
45:06 – Do Network Engineers need to learn Linux? Bash?
49:07 – Is Ansible Linux based?
50:15 – Other core skills needed today for Network Engineers
52:22 – Other Resources to help you
58:32 – Orchestration/Integration tools
59:33 – What is CICD?
1:04:00 – Do I need to learn Jenkins?
1:07:40 – The future of things going?
1:09:22 – Is there a presentation that goes over all of these tools?
01:10:10 – What should I begin with as a beginner?

# Getting Started

0. Foundation “Stuff”
* Python
* Linux/bash fundamentals
* git
* REST APIs

1. CLI Based Interactions
* Python + Netmiko – Configuration Based use cases
* Genie CLI – Operation based use cases
* Parmiko – NOT RECOMMENDED – just use Netmiko

2. Network Automation Frameworks/Abstractions
* Ansible “Domain Specific Language (DSL)” – Configuration Use Cases
* NAPALM + Python – Configuration Use Cases
* Nornir + Python – Configuration Use Cases

3. Network Verification
* pyATS/Genie + Python – Operational / Testing Use Cases
* For every BGP neighbor, ensure prefixes being learned
* For every “up interface”, ensure no CRC errors
* “Profile” before change, Change, “Profile” after, DIFF

Other Skills/Questions
1. How to schedule “stuff”
* Run a Python script every hour – cron utility on Linux/Unix/macOS
* Orchestration/Integration Tools – (CICD Tools) – Jenkins, Drone, Gitlab
* “Event Driven”
* Central Management Servers – Ansible Tower

# Real World Use Cases
* Scale
* Performance
* Transactions/Error Recovery