Clouds

Python for Network Developers 2024

Essential Skills Gained

Checkmark

Python Fundamentals for Networking: Grasp the basics and advanced constructs of Python, its libraries, and its applicability in network automation.

Checkmark

Ansible Integration: Team up Ansible with Python to perform advanced network automation tasks.

Checkmark

APIs in Network Automation: Explore the significance of RESTful APIs, open APIs, and their synergy with Python and Ansible for seamless network operations.

Checkmark

SSH Operations with Paramiko: Use Paramiko for tasks like key generation, secure copying, and remote command execution.

Format

15 day course with lecture and hands-on labs.

Audience

Description

The "Network Automation Bootcamp" is a comprehensive 15-day program designed to equip participants with in-depth knowledge and skills in network automation. Over the course duration, learners will be introduced to key concepts and tools that are vital in modern network management and automation. The curriculum starts with Python fundamentals, focusing on its application in network contexts, including interacting with the OS, managing data sets, and object-oriented programming. This is supplemented by exploring its seamless integration with Ansible, a leading automation tool, covering playbook designs, Ansible workflows, and specific Ansible modules for tasks such as SSH operations and configuration management for switches and routers. The importance of APIs in network automation is another crucial component, with in-depth sessions on RESTful APIs, open APIs, and their utilization with Python and Ansible. You will build, configure, and deploy the most popular NFV and SD-WAN technologies to create networks, control routing and bridging, and secure applications. Integrate these components with external nets, even the internet, and perform verification testing. Additionally, the course delves into security aspects, emphasizing the importance of secure automation practices. Hands-on labs and practical exercises are interwoven throughout the course, ensuring participants can apply theoretical knowledge in real-world scenarios. By the end of this bootcamp, participants will have a robust understanding of network automation's tools, techniques, and best practices.

Network Automation Bootcamp

  • 💻 Register for Poll

Getting Started

  • 💻 Using vim

  • 💻 Introduction to VScode

  • 💻 Using Tmux

AI LLM Toolkit

  • 💻 Large Language Model toolkit for AI Solution Assistance

Software Control Management

  • 💻 SCM Option #1 - GitHub

Python Basics

  • 💻 Installing Python

  • 💬 Python IDEs

  • 💬 Python Basics

  • 💻 Print

  • 💻 Shebang

  • 💻 Collecting user input()

  • 🏆 print() and input()

Common Objects

  • 💬 Python Strings

  • 💻 Python Object Methods

  • 💻 String Methods

  • 🏆 Code Repair

  • 💬 Lists

  • 💻 Working with Lists

  • 🏆 Lists, Input, Concatenation)

  • 🏆 Manipulating Lists

  • 💻 List Objects and Methods

  • 💻 Lists of Lists

  • 💬 Dictionaries

  • 💻 Python Dictionaries

  • 🏆 Dictionaries

  • 🏆 Complex Data Slicing

Interacting with the OS

  • 💻 Copying Files and Folders

  • 💻 Moving and Renaming Files and Folders

  • 🏆 Import Modules

Conditionals

  • 💬 Conditionals

  • 💻 Testing with if

  • 💻 IPv4 Testing with if

  • 💻 if name == "main"

  • ✏️ MINI PROJECT #1: IF-LOGIC SCRIPT

  • 💻 Using while, if, elif, else

  • 💻 try and except

  • 🏆 Number Guessing Game

  • 🏆 Conditionals Troubleshooting

  • 🏆 More Troubleshooting

Iteration

  • 💻 Starting to Learn Loops

  • 💻 Looping with for

  • 💻 for loops and range()

  • 🏆 Range Practice

  • 🏆 Farm Loops

Working with Files

  • 💬 Reading and Writing to Files

  • 💻 Parsing Log Files

  • 💻 Write to Files

  • 💻 Read from Files

  • 🏆 Looping Vampires

Beyond Basics

  • 💻 Scripting Commands with Python

  • 💻 Creating Functions

  • 💻 Defining Functions

  • 💻 Best Practice and pylint

  • 💻 pip and import

  • 🏆 Simplify Code

Python Network Automation Tools

  • 💻 Exploring Network Interfaces

  • 💻 Paramiko and SFTP

  • 💻 Automating Commands Across SSH

  • 💻 Netmiko for Router and Switch Automation

Working with Data Sets

  • 💻 Producing Graphs and Charts

  • 💻 Walking the Directory Tree

  • 💻 Excel and Intro to Pandas

Object Oriented Programming

  • 💻 Creating objects in Python from "Scratch"

  • 💻 Class Inheritance

  • 🏆 More Cheats

  • 💻 Using Classes

Advanced Python

  • 💻 List and Dict Modeling

  • ✏️ MINI PROJECT: RPG SCRIPT

APIs

  • 💬 Introduction to HTTP

  • 💬 Converting JSON to Python Data Types

  • 💻 RESTful APIs and JSON

  • 💻 Standard vs. Third Party Libraries and Open APIs

  • 🏆 API Looping

  • 🏆 ISS Tracker

  • 💻 APIs and Dev Keys

  • 🏆 Query Parameters

  • 💻 Building APIs with Python Flask


ANSIBLE


Integrating Python and Ansible skills

  • 💻 Python Review

  • 💬 Data Types for Python and Ansible

  • 💻 Python Lists

  • 💻 Python Dictionaries

  • 💬 Ansible Playbook Components

Ansible Essentials

  • 💻 Running a Playbook

  • 💻 Debug Module

  • 💻 Debug, Loops, and YAML Lists

  • 🏆 Looping

  • 💻 Ansible Keywords register and when

  • 🏆 Broken Playbook

  • 🏆 Broken Playbook 2

  • 💻 Ansible Get Switch Config and Archive

  • 💻 Ansible Agnostic Network Modules

  • 💻 Network Playbooks, Set Fact, and Fail

API Operations

  • 💬 RESTful APIs and JSON

  • 💻 Exploring Open APIs

  • 💻 API Tokens with Python and Ansible

SSH Operations

  • 💬 SSH Operations

  • 💻 Paramiko vs Ansible - SSH with RSA Keys

  • 💻 Paramiko - SFTP with UN and PW

  • 💬 Ansible for SSH operations

  • 💻 Ansible "raw" Module

Ansible Tools

  • 💻 Jinja2 Filters

  • 💻 Ansible, Python Methods, and Jinja Filters

Switches and Routers

  • 💬 Netmiko

  • 💻 Running Netmiko

  • 💻 Ansible and TextFSM

Playbook Design

  • 💻 Network Playbook Error Handling

  • 💻 Network Playbook Precheck

  • 💻 Network Playbooks with Roles and Rollbacks

Ansible Workflow

  • 💻 Ansible Collections

  • 💬 Ansible Workflow

  • 💻 ansible-runner

Security

  • 💻 Securing Playbooks with Vault

  • 💻 Playbook Vars Prompts

Building out Playbooks

  • 💻 Ansible Module - template

  • 💻 Ansible and APIs

Python and Ansible

  • 💻 Running a script with Ansible

  • 💻 YAML, JSON, Dynamic, and Cloud Inventories

  • 💻 Writing an Ansible Module with Python

  • 💻 When to Use Python or Ansible


NFV and SD-WAN


Introduction

  • 💻 Networking Architecture: The OSI Model

  • 💻 Introduction to TCP/IP

  • 💻 LAB: Navigating your Network

Build the Lab Infrastructure

  • 💻 LAB: Build the Network Namespaces

  • 💻 LAB: Build the Ethernet Bridges

Ethernet Access

  • 💻 Ethernet Switching

  • 💻 LAB: Build and Connect Veths

  • 💻 LAB: Ethernet Analysis with Termshark

IPv4 Addressing

  • 💻 IPv4 Addressing

  • 💻 LAB: Enable IP Forwarding in a Linux Kernel

  • 💻 LAB: Assign IP addresses

  • 💻 LAB: Confirm Link Connectivity

IP Routing

  • 💻 IP Routing Overview

  • 💻 LAB: Configuring Static IP Routes

  • 💻 Packet Forwarding Header Analysis

NAT (Network Address Translation)

  • 💻 NAT (Network Address Translation)

  • 💻 Iptables

  • 💻 LAB: Enable the NAT (Network Address Translation) with Iptables

IPv4 Subnets

  • 💻 Subnetting

Challange

  • 🏆 Mini Project

Container Networking

  • 💻 Networking Containers

  • 💻 Networking K8s PODS

ICMP Diagnostic and Error Reports

  • 💻 ICMP (Internet Control Message Protocol)

  • 💻 LAB: Traceroute/MTR Testing

  • 💻 LAB: Speed Testing with IPERF (Internet Performance)

  • 💻 LAB: ICMP Analysis with Termshark

DHCP (Dynamic Host Configuration Protocol)

  • 💻 DHCP (Dynamic Host Configuration Protocol)

  • 💻 LAB: Install a DHCP Service with DNSMasq

  • 💻 LAB: DHCP Packet Analysis with Termshark

TCPDump And VLANS

  • 💻 Using TCPdump to make pcap Files for Wireshark

  • 💻 vlan

  • 💻 vlan trunking

Network Troubleshooting Labs

  • 🏆 Network Troubleshooting Lab #1

  • 🏆 Network Troubleshooting Lab #2

  • 🏆 Network Troubleshooting Lab #3

  • 🏆 Network Troubleshooting Lab #4

Real World SDN examples

  • 💻 5G is 100% SDN!

Hardware Acceleration

  • 💻 SR-IOV Essentials

NETCONF/YANG

  • 💻 NETCONF/YANG Lecture

Networking KVM

  • 💻 Networking KVM Based VMs

  • 💻 QEMU Networking Primitives

Build an SD-WAN by combining everything we have learned

  • 💻 Wireguard VPN

  • 💻 Wireguard VPN with network namespace termination

SDN Security Best Practices

  • Securing SDN Best Practices

PROJECT

  • 💻 Network Automation Bootcamp - Capstone Project

Your Team has Unique Training Needs.

Your team deserves training as unique as they are.

Let us tailor the course to your needs at no extra cost.