Episode Details

Back to Episodes
#39: Hank Preston: Which Network Automation Tools should I learn? Python, Ansible, Genie and more

#39: Hank Preston: Which Network Automation Tools should I learn? Python, Ansible, Genie and more

Season 1 Episode 1 Published 6 years, 11 months ago
Description

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


David's details:

YouTube: www.youtube.com/davidbombal

Twitter: twitter.com/davidbombal

Instagram: www.instagram.com/davidbombal/

LinkedinIn: www.linkedin.com/in/davidbombal/


#python #netdevops #devnet #genie #pyats #python #netmiko

Listen Now

Love PodBriefly?

If you like Podbriefly.com, please consider donating to support the ongoing development.

Support Us