Exasperated by a mountain of work and a never ending to-do list

With no-end in sight and post-it notes stuck everywhere. Two A.M. maintenance windows and a clueless change review manager rejecting desperately needed work.

You are building up technical debt like a mortgage broker in the housing boom.

You have kicked off yet-another-automation-project and you are betting against it (current odds are 3:1...against).

Every day a new pile of requests and manual changes are required.

ssh -l kbyers
conf t
 int gi 0/0
  switchport access vlan 199

ssh -l kbyers
conf t
 int gig 0/22

But all of your previous automation attempts have ended in disaster.

Ended in a mess of Perl code, regular expression hieroglyphics, a hope, a prayer—and then an ignominious death.

Your previous automation system was a system-of-one...a system only John understood; only John maintained, and when John left, the system ended.

But the work is relentless.

Marketing is yelling at you. The DBA is blaming you for bad network performance. You have seven new trouble-tickets and eight new ACL changes.

There must be some other way...there must be a way to build an automation system that endures.

Automation that isn't just one more pointless company project.

There must be a systematic approach to automation where you can leverage the work of others.

Automation with a framework that you can build upon. Automation with resources and books and a community behind it. Automation that doesn't just end and leaves you no better than when you started.

Ansible is one such automation framework.

Ansible enables a systematic approach to network automation. It has a modular architecture that promotes and enables code reuse. It has an integrated device inventory that includes the capability of pulling information from a central inventory system. It has a readable scripting syntax based on YAML.

Ansible also has a large community of network engineers and developers working on reusable software components that you can leverage in your environment. A large community of engineers that you can learn from, ask questions to, and who can help you get pointed in the right direction.

But Ansible comes with its own splitting headache and indigestion.

Ansible has multiple-layers of obscure syntax and strict indentation requirements. It is overly difficult when dealing with logic and data structures. It also has obscure error messages hidden in JSON.

What is a network engineer to do?

Use a framework, use a systematic approach, but try to get over the hurdles and difficulties of the framework quickly and in a structured way.

That is what this course strives to do—get you quickly up to speed with Ansible Network Automation in a structured and systematic way.

Allowing you to create automation that (hopefully) will endure and provide ongoing benefits to you and your organization.

Course Syllabus

CLASS1 - Ansible Fundamentals

  • Course introduction
  • YAML
  • Ansible Overview
  • Inventory
  • Ansible Variables

CLASS2 - Modules & Network Fact Gathering

  • Ansible Modules
  • Cisco IOS Modules (basics)
  • Arista EOS Modules (basics)
  • Conditionals
  • Loops

CLASS3 - Making Network Configuration Changes (Basics)

  • Basic Configuration Changes (NX-OS VLANs)
  • Write Mem and Ansible Handlers
  • NX-OS Configuring IP Interfaces

CLASS4 - Making Network Configuration Changes (Part2)

  • Using ios_config
  • Using eos_config
  • Using nxos_config
  • Directly passing credentials
  • Using SSH Keys


  • What is NAPALM?
  • NAPALM for Information Gathering
  • NAPALM Merge Operations
  • NAPALM Replace Operations

CLASS6 - Additional Ansible Techniques

  • Ansible Lookups
  • Ansible Filters
  • Ansible Plugins
  • Roles

CLASS7 - Ansible Configuration Templating

  • Jinja2
  • Configuration Templating Basics
  • Advanced Configuration Templating
  • Pushing Templates using Ansible Core Modules
  • Templating and NAPALM

CLASS8 - Validating Changes and Debugging

  • Config Change Validation
  • Ansible Debugging
  • Using Ansible Vault

Bonus Lesson - Additional Examples, Exercises, and Solutions

  • Video1: Configuring and Verifying Switchports, Trunks, and VLANs
  • Video2: Configuring and Verifying Multi-vendor BGP peering
  • Additional Exercises and Solutions

*Syllabus Subject to change (although any changes should be minor)

Ansible Network Automation

Course Starts June 29

Basic Package

  • Eight core lessons including videos and exercises

Plus Package

  • Eight core lessons including videos and exercises
  • Community Forum
  • Bonus Exercises and Examples

Cert Package

  • Eight core lessons including videos and exercises
  • Community Forum
  • Bonus Exercises and Examples
  • Certification of Completion (see FAQ)
  • Cert package limited to first six students

If you are not happy with the course, there is a 30-day money back guarantee. No questions asked.


What is the format of the course?

The course is an eight-week email-course. Each week you will receive a lesson that contains a set of videos, some additional content, and some exercises. I will post solutions to the exercises online. Both the Plus and Certification Packages will also have a community forum where you can ask questions, post code, and interact with me and with the other students.

Is there a lab environment?

Yes, the lab environment will consist of a set of virtual and physical network devices and at least one AWS-Linux server. I will install a set of libraries in the lab environment; this will enable you to get working quickly. The lab environment will have a mixture of vendors and platforms (Cisco IOS, Cisco NX-OS, Juniper, Arista).

What are the prerequisites for the course?

You need to be familiar with basic network engineering (routing, switching, SNMP, Cisco CLI configuration). You also need to be at least somewhat familiar with Linux. You should know the basics of how to move around the Linux file system, execute a script, and edit a file.

There are no programming prerequisites for this course.

Why Ansible?

Ansible has a large community of engineers and programmers working on creating, improving, and helping with network automation. It has a systematic approach to inventory, a modular architecture that promotes code-reuse, and a large set of modules for interfacing to networking devices.

What is the community forum?

The community forum is a web forum where students can interact including posting code, asking questions, code reviews, and recommendations on Ansible resources. You will gain access to the forum by purchasing either the Plus or the Certificate Package. Access to the forum will last for the duration of the course.

What is the Certification of Completion?

For those students participating in the certification package, you will be required to complete all of the exercises on your own. Your code will be reviewed and verified to reasonably accomplish the exercises. I will provide feedback on your solutions including ways you can potentially improve them. Your solutions must be meaningfully different from the course reference solutions.

What if I am unsatisfied with the course after I sign-up?

If you are not satisfied with the course, there is a 30-day money back guarantee (from the start of the course). No questions asked.

Kirk Byers Image

About Me:

My name is Kirk Byers.

In the fall of 2010, I started on a journey to: 1)build a product business, 2)become a programmer, and 3)be a father (probably not the best idea to try all these things at once).

I am into Python, Ansible, networking, and figuring out how to combine these to automate networking tasks. I am a CCIE (emeritus) in routing and switching and have extensive Python and Ansible experience.

Since late 2013, I have been teaching and writing about using Python and Ansible for network automation. I have taught network automation training sessions to large Fortune500 companies and to thousands of engineers through my Python for Network Engineers series.

In addition to teaching, I also created the Netmiko open-source library and am a major contributor to the NAPALM open-source project.

Yes, yes I get it...you are great and all that, but why should I learn Ansible from you?

I have spent numerous hours over the last several years using Ansible, working on network automation, and teaching network automation to engineers world-wide and from this I have gained a considerable amount of experience and knowledge.

I can help you apply Ansible to network automation also.

Student Quotes

(from earlier courses)

"I recently attended a technical job interview, which had a "coding challenge" component because they are looking for Network Engineers with scripting experience. I was able to complete the challenge fairly easily, and I don't think I could have done it without what I learnt from you.

"I've been able to turn 300-hour jobs into 40-hour jobs, learned a lot about coding and wrote some zero-touch-deployment tools for Cisco switches. Thanks for helping me get started with all this, your course made coding so much more personally relevant, because I could solve problems that mattered to me—networking ones.

Ansible Network Automation

Course Starts June 29

Basic Package

  • Eight core lessons including videos and exercises

Plus Package

  • Eight core lessons including videos and exercises
  • Community Forum
  • Bonus Exercises and Examples

Cert Package

  • Eight core lessons including videos and exercises
  • Community Forum
  • Bonus Exercises and Examples
  • Certification of Completion (see FAQ)
  • Cert package limited to first six students