Self-Study Materials

From Building Network Automation Solutions

At a Glance

  • High-intensity interactive online course;
  • Jump-start your network automation career;
  • Hands-on experience working on a solution to your own problem;
  • 9 module course spread across ~3 months;
  • Live discussion and guest speaker sessions;
  • Design and coding assignments and group work;
  • Final course completion certificate.

The Building Network Automation Solutions includes days of self-study materials that you can begin to study weeks before the course starts. Please write down the questions while you study the materials – we'll address as many of them as feasible during the live sessions.

Access to all content listed on this page (webinars, podcasts,...) is included with the course registration.

List of modules

While you don't have to study all the material prior to the course start date, I'd recommend you study the materials for each module before the corresponding live session to prepare the questions/topics you'd like to see discussed during the live session.

Getting Started

You should go through all self-study materials for this module (preferably using self-paced guidance); here's the minimum you should cover before starting the course:

To master the basics of network automation and network programmability watch these webinars, videos and presentations:

Next step: The tools we'll use:

You'll also have to build your own lab, install Ansible, and check that you can reach the devices in your lab from your Ansible host/VM. To get familiar with simple Ansible operations, watch the Using Ansible section from the Ansible for Networking Engineers online course (25 minutes).

Additional recommended materials

You might want to get familiar with Vagrant, VirtualBox and Git. Here are a few links to get you started:

To understand how Git really works (beyond the three basic commands) read at least the first few chapters of the Pro Git book.

It also wouldn't hurt to get familiar with Python. These (free) online classes should help you get started:

Red Hat published free Ansible Essentials e-learning on Udemy (Thank you @netmanchris)

Finally, to get in proper mindset, listen to these Software Gone Wild episodes (each one is ~1 hour long)

Easy Wins

The study materials for this module will help you create network automation solutions using read-only access to network devices. They assume you already mastered Ansible. I would recommend you use self-paced guidance to track your progress.

The very minimum you'll need to solve the hands-on exercises – in which you'll have to collect data from networking devices and generate reports – are these sections from Ansible for Networking Engineers online course:

To get some hints on using Ansible playbooks to collect data from network devices and create summary reports watch the Creating Summary and Compliance Reports presentation from the January 2017 session and explore the sample Ansible playbooks.

Additional recommended materials

If you plan to generate reports in HTML format and are not familiar with HTML markup, it won't hurt to go through one of the online HTML tutorials.

You might also find these Software Gone Wild episodes interesting (each one is ~1 hour long):

Data Models

The self-study materials for this module (self-paced guidance) cover data models and data stores, OpenConfig, YANG, and data model transformation.

You should watch at least these sections:

Additional recommended materials

If you want to understand YANG and NETCONF better, watch the first part of the NETCONF and YANG webinar (~1 hour if you skip the hands-on parts). You might also want to watch the NETCONF Deep Dive section to understand the NETCONF protocol details.

You might also want to listen to Model Driven Networking podcast with Jeff Tantsura.

Changing Network Configurations or State

The materials we prepared for this module (self-paced guidance) will help you create Ansible playbooks or use Salt to develop network automation solutions that configure network devices based on a data model you created in the previous module.

At the very minimum you should watch these presentations:

To get Ansible knowledge you'll need to understand the above presentations and solve the hands-on exercises watch these sections of the Ansible for Networking Engineers webinar:

You should also study the sample Ansible playbooks.

Finally, you'll probably enjoy the level of abstraction Dinesh Dutt achieved in his Data Center Fabric configuration playbooks (part of Network Automation Use Cases webinar).

Additional recommended materials

I would also highly recommend listening to these Software Gone Wild episodes (each one is ~1 hour long):

Validation, Error Handling and Unit Tests

With the help of materials in this module (hint: use self-paced guidance) you'll:

More to explore

If you haven't read the Validating deployments with NAPALM blog post, please do it now. There's also a corresponding section in the Ansible course.

You should also listen to these Software Gone Wild episodes (each one is ~1 hour long):

Putting It All Together

The materials in this module (self-paced guidance) contain numerous case study describing production use of network automation. You'll also learn how to extend Ansible, and integrate Ansible playbooks with transactional databases and front-end systems

Additional recommended materials

Network Infrastructure as Code

The materials in this module describe the principles of network infrastructure as code and a real-life case study.

To understand them you should watch at least these sections from previous modules:

Event Driven Automation

The materials we prepared for this module will help you create a network automation solution that responds to external events in real time.

Network Automation Tools

You'll find the presentations describing various network automation tools in module nine of the online course.