Master Network Automation with Python for Network Engineers
4.5 (1,087 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
7,781 students enrolled

Master Network Automation with Python for Network Engineers

Real-Life Hands-On Python and Ansible Automation: Netmiko, Paramiko, Napalm, Telnet, Ansible, Cisco, Arista, Linux etc
Bestseller
4.5 (1,087 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
7,779 students enrolled
Last updated 6/2020
English
English [Auto]
Current price: $139.99 Original price: $199.99 Discount: 30% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 18 hours on-demand video
  • 47 articles
  • 80 downloadable resources
  • 3 coding exercises
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • You will MASTER all the Python 3 key concepts starting from Scratch. No prior Python or programming knowledge is required
  • Learn how to automate the configuration of networking devices with Python 3 in a Multivendor Environment
  • Learn network programmability with Python, GNS3 and Ansible
  • Learn and apply advanced Python concepts like Multiprocessing and Multithreading in Network Automation
  • See real-world examples of automation scripts with Python for Cisco IOS, Arista EOS or Linux
  • Understand how to use Telnet and SSH with Python for network automation
  • Learn how to use and improve Paramiko and Netmiko for automation of common administration tasks with Python
  • Automate and troubleshoot network configurations with Ansible
  • You will be able to use Ansible, manage Ansible Inventory files, Tasks, Modules for Linux and networking devices, Playbooks, Vaults and YAML Files
  • Use NAPALM Python library in a Multivendor Environment
  • Learn how to configure networking devices with Python using a Serial Console Connection
  • Improve the existing Python modules and create your own modules for network automation
  • You will ultimately gain real-life skills for a good Network of DevOps Engineer
  • You will learn in-depth general Python Programming
Course content
Expand all 222 lectures 19:07:56
+ Course Introduction
6 lectures 15:13
IMPORTANT. Please read!
01:04
IMPORTANT FOR BEGINNERS: How to Learn Python Programming
01:06
How to Get Better and Faster Support? JOIN OUR ONLINE COMMUNITY!
00:27
Getting Course Resources
00:20
Quiz for Basic Python Programming
10 questions
+ Setup the Environment: Python, PyCharm, GNS3, Cisco IOU and IOS
15 lectures 55:13
Download and Install the Required Software
02:44
Installing Python 3 on Windows
02:32
Installing Python 3 on Linux and Mac
01:19
Installing PyCharm IDE on Windows
03:35
Installing PyCharm IDE on Linux and Mac
00:59
Running Python Scripts using PyCharm
04:45
Running Python Scripts using the Command Line
03:39
Where do I get Cisco IOS, Juniper vSRX or Arista vEOS Images
01:26
Just a few Words about Windows Installation
00:37
Installing GNS3 on Windows 10
11:18
Running Cisco IOU Images in GNS3 on Windows 10
11:17
Connecting to Cisco IOU Images Running in GNS3 from Window 10
07:24
Installing GNS3 and Running Cisco IOU on Linux
02:03
What if it still doesn't work?
00:40
+ Working with Text Files in Python
18 lectures 56:17
Intro
01:48
Opening and Reading Files
05:07
Reading Files: Tell, Seek and Cursors
03:41
The With Keyword
02:43
Opening and Reading Text Files using seek() and read()
1 question
Coding Exercise Solution
00:10
Reading Files into a List
04:00
Writing to Text Files
07:19
Reading Files into a List
1 question
Coding Exercise Solution
00:01
Writing Text Files
1 question
Coding Exercise Solution
00:05
Coding Section - Working with Text Files
01:00
Quiz for File Processing
5 questions
Reading CSV Files
07:04
Writing CSV Files
05:53
Using CSV Custom Delimiters
02:45
Using CSV Dialects
04:51
Coding Section - Working with CSV Files
01:11
Assignment: File Processing
02:12
Assignment Answer 1: File Processing
03:56
Assignment Answer 2 (CSV Module): File Processing
02:29
+ Hands-On Challenges - Working With Files
2 lectures 03:01
Hands-On Challenges - Working With Text Files
02:24
Hands-On Challenges - Working With CSV Files
00:36
+ Data Serialization and Deserialization in Python (Pickle and JSON)
12 lectures 31:05
Intro to Data Serialization
03:29
Pickle Data Serialization and Deserialization
06:21
Coding - Pickle
00:15
JSON Data Serialization
06:29
JSON Data Deserialization
05:36
Coding - JSON
00:26
Assignment: JSON and Requests/REST API
01:46
Assignment Answer: JSON and Requests/REST API
03:54
Coding Challenge: Simplify Serialization
00:59
Coding Challenge Solution: Simplify Serialization
00:36
Coding Challenge - JSON and Requests/REST API
00:38
Coding Challenge Solution - JSON and Requests/REST API
00:34
Test Your Knowledge: Data Serialization (JSON & Pickle)
7 questions
+ Network Automation with Paramiko (SSH)
20 lectures 01:49:27
The Lab Environment
00:33
Intro to Paramiko
04:44
Extra: Enable SSH on Cisco Devices
04:49
Connecting to Networking Devices using Paramiko
09:01
Using **kwargs and Arguments Unpacking
03:38
Running Commands on Cisco Devices
07:03
Securing the Passwords Using getpass
03:36
Running Commands on Linux - Method 1
05:22
Running Commands on Linux as a Non-privileged User - Method 2
05:03
Running Commands on Linux as root - Method 2
04:00
Paramiko Refactoring. Creating myparamiko Module
06:43
Running Commands Using myparamiko on Cisco IOS
04:50
Importing myparamiko Module
08:11
Backup the Configuration of a Single Cisco Device
09:52
Automating the Backup Configuration of Multiple Cisco Devices
02:39
Assignment: Interactive User Creation on Linux with Paramiko
00:51
Assignment Answer: Interactive User Creation on Linux with Paramiko
04:20
Quiz for Paramiko
4 questions
Secure Copying Files with SCP and Paramiko from Python
09:27
+ Network Automation with Netmiko (SSH)
16 lectures 01:41:18
The Lab Environment
00:33
Intro to Netmiko. Netmiko vs. Paramiko
04:38
Connecting and Running a Command on a Networking Devices
07:49
Netmiko Prompt. Enable & Global Config Mode
08:30
Configuring a Networking Device from a File
04:40
Configuring Multiple Networking Devices from Multiple Files
07:40
Automating the Backup of Multiple Cisco Devices Using Netmiko
10:37
Implementing Multithreading (Python and Netmiko
06:54
Netmiko and Linux
07:50
Troubleshooting Netmiko
04:11
Preparing the Router for SCP
07:22
Copy files to Networking Devices using SCP and Netmiko
04:40
Quiz for Netmiko
5 questions
Assignment: Check Interface Status and Enable it if it's Disabled
00:48
Assignment Answer: Check Interface Status and Enable it if it's Disabled
09:50
+ [Extra] - Running Arista vEOS and Juniper vSRX in GNS3
6 lectures 25:32
How to Run Arista vEOS in GNS3
02:18
How to Run Juniper vSRX in GNS3
01:25
Juniper vSRX Basic Configuration
01:38
Arista vEOS Basic Configuration
01:58
Configure Arista EOS Switches
08:21
Requirements
  • No prior Python knowledge is required. There is a general Python Programming section included.
  • Basic Knowledge of Networking Concepts (TCP/IP Stack, Cisco CCENT or CCNA Level)
  • A Linux, Mac or Windows Machine with an Internet Connection and at least 4GB of RAM
  • No paid software required. Only free software will be used: Python3, PyCharm, GNS3, VirtualBox, Linux, etc
  • Cisco IOS Images should be acquired by the student (from Cisco's official website - contract required) to run into GNS3 or practice all the concepts on real Cisco devices
  • Basic Knowledge of GNS3 and how to run Cisco Images, although I'll provide the necessary setup information inside the course
Description

***Fully updated for 2020*** This Network Automation with Python course also covers every major General Python Programming topic and is a perfect match for both beginners and experienced developers!


Course Updates:

  • Update: June, 2020 - NEW Section: Async IO in Python (async/await, aiohttp, aiofiles, asyncssh)

  • Update: May, 2020 - Network Automation with Telnet re-recorded entirely

  • Update: April, 2020 - Network Automation with Netmiko (SSH) re-recorded entirely

  • Update: March, 2020 - Network Automation with Paramiko (SSH) re-recorded entirely

  • Update: April and May, 2020 - Tens of NEW Coding Challenges with Solutions for real-world network automation tasks

  • Update: October, 2019 - NEW Section: Data Serialization and Deserialization in Python (Pickle, JSON and REST APIs)

  • Update: June, 2019 - NEW Sections on General Python Programming: Strings, Lists, Tuples, Sets, Dictionaries, Functions, Flow Control, Working with Files and many more

Welcome to this Python hands-on course for learning Network Automation and Programmability with Python in a Cisco or Multivendor Environment, taught by a DevOps Engineer and Professional Trainer.

Boost your Python Network Programming Skills by learning one of the hottest topic in the Networking Industry in 2020 and become one of the best Network Engineer!

This course is based on Python 3 and doesn't require prior Python Programming knowledge. Everything is included within the course and you'll also learn in-depth general Python Programming.


Just starting out with Python Programming, Network Automation or Network Programming using Python and have the desire to learn the future of Network Programmability in a practical way? Perfect. Then, this course is the right one for you. You'll boost your career with hands-on Network Programming Skills!

Or maybe you've already tried to learn Network Automation with Python by yourself and now you want to put all pieces together? I'm here to help you, this course has everything you need to know to automate network configurations with Python.


Most examples in this course are for Cisco IOS, but they can also be used in a multivendor environment (Juniper, Arista, HP, Linux) with no or little changes. This is a vendor neutral course and teaches you Python from scratch.


You'll have life time access and you can return and look for a specific Python library or example anytime you want. And let's not forget, if you don't like the course, you are covered by a 30 day money back guarantee, full refund, no questions asked!

You'll have access to all Slides and Python Scripts (ready to be used) from this course.


TESTIMONIALS

★★★★★ "This course was much better than I expected. It's high quality Python Programming in the area of network automation and the instructor is really experienced. Thank you!" by Joseph Heinrich

★★★★★ "Wow! This is an amazing course on network automation and python. It goes directly to the point. Netmiko section is the best. I'm just waiting to test this at my work. Thank you!" by D. Schmidt

★★★★★ "This is without doubts the best course on Network Automation with Python out there!" by Muhammad Ali


There are many courses on Python Programming and Network Automation or Network Programming with Python. Why should you learn from me?

  • I'm a Practitioner and an Enthusiast. Welcome to the real world! I have almost 20 years experience as a Network Engineer and Programmer. Since I've started with Networking, Linux Systems and Programming, I've been using or studying the technology almost on a daily basis. I also have a bunch of Cisco certifications: CCNP Routing & Switching, CCNP Security, CCNP Service Provider, Cisco Certified Instructor etc

  • I'm an Educator and I know how to make a Syllabus. For the last 10 years I've trained thousands of people on Linux, Networking, Security, Ethical Hacking or Programming.

  • You'll learn not only Network Automation but also general Python Programming. After this course you'll MASTER all the Python 3 key concepts.


The topics covered in this Python Network Programming course are:

  • Working with Files in Python (text, csv, json, yaml)

  • Data Serialization and Deserialization (Pickle and JSON)

  • Bytes and String Objects in Python 3. Encoding, Decoding

  • Advanced Python Concepts: Multiprocessing and Multithreading with real-life examples

  • The standard Telnet Python Library. How to create your own Class based on telnetlib to simply the configuration automation

  • Paramiko Library. How to use SSH to automate the configuration of Cisco, Linux or other Devices

  • How to create your own Python module based on Paramiko to simplify the development work

  • Netmiko. Automate the configuration of Cisco, Arista and Linux using Netmiko

  • Netmiko best-practices and real-life examples for backup configuration of multiple devices

  • Building Concurrent Applications using Async IO (async/await, aiohttp, aiofiles, asyncssh)

  • The NAPALM Library - Network Automation and Programmability Abstraction Layer with Multivendor support

  • How to use NAPALM to retrieve information about devices and protocols and manage the devices configuration

  • What is Ansible and what are its components: Modules, Tasks, Plays, Playbooks etc

  • How to execute Ad-Hoc commands against networking devices and servers using Ansible

  • Ansible modules: command, shell, raw, copy, file, apt, service, ios_command, ios_config etc

  • How to use create and run Ansible Playbooks against Networking Devices (Cisco, Arista etc) and Linux Servers

  • Ansible Vault

  • Automation of networking devices configuration through a serial connections. Pyserial Python module

  • Improvement of pyserial module

  • How to setup the Python Development Environment: PyCharm, GNS3, Cisco IOS, Arista vEOS, Juniper vSRX

  • Arista vEOS installation in GNS3 and basic configuration

  • Juniper vSRX installation in GNS3 and basic configuration


The topics covered in the General Python Programming sections are:

  • Variables

  • Operators

  • Built-in Types

  • Strings in Python

  • Lists in Python

  • Tuples in Python

  • Sets and Frozensets in Python

  • Dictionaries in Python

  • Flow Control

  • User-defined Functions

  • Errors and Exception Handling

  • OOP (Object Oriented Programming)

Every topic includes many live examples in Python. This course will show you the best practices for developing production-ready Python Networking Automation Scripts for Cisco and Multivendor Environments.

Who this course is for:
  • Network Engineers
  • Network Architects
  • SysAdmins
  • DevOps Engineers
  • Cisco Certified Professionals: CCNA, CCNP, CCIE
  • Anyone interested in Network Automation and Network Programmability with Python