27 Weeks -Comprehensive Network Automation Course Free for Freshers:  Python and Ansible

Photo by Kevin Ku on Unsplash

27 Weeks -Comprehensive Network Automation Course Free for Freshers: Python and Ansible

It's been a while since my co-founder, Amit Tanwar (CCIE Security #63532), and I have been planning to create a repository of over 1000 Python and Ansible scripts. These scripts are designed to help network engineers accomplish their daily tasks by learning and practicing with them.

However, we decided to create a free course first, as we did not find any available courses in the market that teach automation in a plain English manner.

As part of our new initiatives, we are introducing a weekly segment of our course on this blog, as well as offering a weekly newsletter delivered to your inbox if you subscribe to our newsletter on this site.

Here is what our course outline looks like for this course:

**
Module 1: Introduction to Ansible**

  • Understanding Ansible automation and its benefits for network devices

  • Ansible architecture: Control node, managed nodes, and inventory

  • Installing and configuring Ansible on the control node

  • Writing and running ad-hoc commands for network devices

  • Using Ansible modules for Cisco networking tasks

Module 2: Ansible Playbooks and YAML

  • Introduction to Ansible playbooks and YAML syntax

  • Creating basic playbooks for Cisco routers and switches

  • Using variables, loops, and conditionals in playbooks

  • Organizing tasks and playbooks with roles

Module 3: Ansible for Cisco Device Configurations

  • Gathering facts from Cisco devices using Ansible

  • Configuring interfaces, VLANs, and OSPF using Ansible

  • Managing access control lists (ACLs) and security settings

  • Configuring SSH, SNMP, and NTP on Cisco devices

Module 4: Dynamic Inventory and Variables

  • Using dynamic inventory for automatically discovering Cisco devices

  • Using host and group variables for device-specific configurations

  • Implementing conditionals and Jinja2 templates for dynamic configurations

Module 5: Advanced Ansible for Cisco Networking

  • Working with multiple inventory files and groups

  • Integrating Ansible with external data sources (e.g., CSV, JSON)

  • Using Ansible Vault for secure storage of sensitive data

  • Using custom Ansible modules for Cisco-specific tasks

Module 6: Network Change Management with Ansible

  • Implementing configuration backups and rollbacks with Ansible

  • Using version control (e.g., Git) with Ansible for network configurations

  • Automating network compliance checks and reporting

Module 7: Network Monitoring and Maintenance Automation

  • Using Ansible for network device monitoring and health checks

  • Automating routine network maintenance tasks with Ansible

  • Scheduling Ansible playbooks with Cron for regular network maintenance

Module 8: Ansible Tower and Network Automation

  • Introduction to Ansible Tower for centralized automation management

  • Creating job templates and workflows for Cisco device automation

  • Implementing role-based access control (RBAC) in Ansible Tower

Module 9: Advanced Network Automation Project

  • Designing and implementing a comprehensive network automation project

  • Using Ansible for end-to-end network provisioning and management

  • Incorporating best practices and security considerations

Module 10: Troubleshooting and Debugging Ansible Playbooks

  • Identifying and resolving common issues in Ansible playbooks

  • Using Ansible's debugging tools for troubleshooting network automation tasks

  • Strategies for error handling and playbook optimization

Module 11: Ansible Networking Modules for Cisco

  • Exploring the Ansible networking module ecosystem for Cisco devices

  • Leveraging specialized modules for advanced Cisco networking tasks

Module 12: Real-World Network Automation Project

  • Working on a real-world network automation project using Ansible for Cisco devices

  • Collaborating with other participants to design and execute the project

  • Presenting the completed project to showcase acquired skills

Python Automation for Network Engineers

Module 1: Introduction to Python for Network Automation

  • Introduction to Python and its role in network automation

  • Setting up the Python environment and installing necessary libraries

  • Basic Python concepts: variables, data types, loops, and conditionals

  • Using Python for simple network tasks (e.g., ping, traceroute)

Module 2: Network Device Connectivity with Python

  • Connecting to Cisco devices using SSH and Telnet with Python

  • Handling device credentials securely with Python

  • Retrieving device information (e.g., device model, OS version) using Python

Module 3: Configuration Management with Python

  • Reading and writing device configurations with Python

  • Implementing configuration backup and restore automation

  • Creating configuration templates with Python

Module 4: Automating VLAN Configuration

  • Automating VLAN configuration on Cisco switches with Python

  • Using Python to add, modify, and remove VLANs dynamically

Module 5: Network Device Inventory Management

  • Building a network device inventory system with Python

  • Using Python to maintain an up-to-date inventory of Cisco devices

Module 6: Network Monitoring with Python

  • Implementing network monitoring solutions with Python

  • Creating Python scripts to monitor device availability and performance

Module 7: Automating Routing Protocol Configuration

  • Using Python to automate the configuration of routing protocols (e.g., OSPF, BGP) on Cisco routers

  • Dynamic routing updates and optimizations with Python

Module 8: Network Service Deployment Automation

  • Automating the deployment of network services (e.g., DHCP, DNS) with Python

  • Configuring network services on Cisco devices programmatically

Module 9: Network Troubleshooting with Python

  • Using Python for automated network troubleshooting and diagnostics

  • Python scripts for analyzing logs, interfaces, and network traffic

Module 10: Real-Time Telemetry and Streaming

  • Leveraging Python for real-time network telemetry and streaming data

  • Integrating Python with telemetry protocols like gRPC and RESTCONF

Module 11: Secure Network Automation with Python

  • Implementing secure practices for network automation with Python

  • Encrypting sensitive data and using secure authentication methods

Module 12: Advanced Python for Network Automation

  • Creating custom Python modules for specific network tasks

  • Advanced Python programming techniques for network automation

Module 13: Advanced Network Automation Project

  • Designing and implementing a comprehensive network automation project using Python

  • Incorporating best practices and security considerations

Module 14: Troubleshooting and Debugging

  • Identifying and resolving common issues in Python scripts for network automation

  • Using Python debugging tools and strategies for error handling

Module 15: Real-World Network Automation Project

  • Working on a real-world network automation project using Python for Cisco devices

  • Collaborating with other participants to design and execute the project

  • Presenting the completed project to showcase acquired skills

Additional Practice:

  • Encourage participants to explore additional Python libraries and modules relevant to network automation

  • Provide hands-on labs, code challenges, and network simulation environments

  • Engage in discussions and share experiences in a supportive learning community

Thank you for reading.

Please subscribe to our newsletter to receive a weekly dose of learning.

Please feel free to like and share our content, so that an increasing number of engineers can stay updated on new-age technologies.