Master Network Automation with Python for Network Engineers
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 multi-vendor environment.
- Learn network programmability with Python, GNS3 and Ansible.
- Learn and apply advanced Python concepts like Multiprocessing and Threading 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 the 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 multi-vendor 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 or DevOps Engineer.
- You will learn general Python Programming in depth.
- No prior Python knowledge is required. There is a general Python programming section included.
- Basic knowledge of networking concepts (TCP/IP Stack, Cisco CCNA Level).
- A Linux, Mac or Windows Machine with an Internet connection and at least 4 GB of RAM.
- No paid software required. Only free software will be used: Python 3, 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 you with the necessary setup information.
***Fully updated for 2023*** 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!
Update: November 2022- Updates to be 2023 ready
Update: September 2020 - Manual Captions (Subtitles) in English added
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 topics in the Networking Industry in 2022 and become one of the best Network Engineers!
This course is based on Python 3 and doesn't require prior Python Programming knowledge. Everything is included in 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 lifetime 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.
★★★★★ "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. The Netmiko section is the best. I'm just waiting to test this at my work. Thank you!" by D. Schmidt
★★★★★ "This is without doubt 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 of experience as a Network Engineer and Programmer. Since I started with Networking, Linux Systems, and Programming, I've been using or studying 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
Automation of networking device configuration through a serial connection. Pyserial Python module
Improvement of the pyserial module
How to set up 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:
Strings in Python
Lists in Python
Tuples in Python
Sets and Frozensets in Python
Dictionaries in Python
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 multi-vendor environments.
Who this course is for:
- Network Engineers
- Network Architects
- DevOps Engineers
- Cisco Certified Professionals: CCNA, CCNP, CCIE
- Anyone interested in Network Automation and Network Programmability with Python
With over 15 years of experience as a Network and Software Engineer, I perfectly embody the typical profile of a DevOps Engineer with a huge passion for teaching, deeply rooted in my family for four generations.
As a co-founder of Crystal Mind Academy, a prestigious Cisco Academy and professional training center, I am dedicated to teaching cutting-edge technologies to our students.
My contributions to education span across various fields, including Programming, Blockchain, AI, Ethical Hacking, and Linux Operating Systems.
Over the years, Crystal Mind Academy has proudly empowered more than 200,000 students through dynamic in-person and online training programs.
I have meticulously crafted comprehensive documentation, labs, and case studies for a wide range of training courses, including Python Programming, Go Programming, Blockchain Programming, OpenAI API with Python, Linux Administration, Ethical Hacking, and Cisco Technologies.
Outside of work, I maintain a balanced lifestyle by engaging in fitness activities like working out and jogging, delving into captivating books, and creating cherished memories with my wife and children through our shared love of travel.
The Academy’s goal is to teach hundreds of thousands of people cutting-edge technologies in the fields of Programming and Networking.
Our philosophy is that courses should be taught by real professionals with substantial experience in the industry, who are also great teachers.
Courses are provided by Andrei Dumitrescu, a software engineer with over 15 years experience in the industry and in teaching offline and online course.