Building Network Automation Solutions

9 module online course

Start now!

Building Network Automation Solutions

This highly interactive online course will give you all the knowledge (and confidence) you need to build and deploy your first network automation solution.

Facing any of these challenges?

  • You're sick-and-tired of repetitive work being done by your department
  • Interested in network automation but don't know where/how to start
  • Confused by the plethora of open-source and vendor tools
  • Have to make network infrastructure or services delivery more predictable and reliable
  • Faced with a large deployment with aggressive roll-out deadlines
  • Everyone is asking for faster service delivery, but you can't make it happen due to the rigid processes
  • Looking for a small proof-of-concept project that you could deploy in a production network

You came to the right place

This highly interactive online course structured into 9 modules spread across ~3 months, will give you all the knowledge (and confidence) you need to build and deploy your first network automation solution. A month after starting the course you’ll have your own code (or Ansible playbook) ready for a pilot deployment.

You will get direct access to network automation experts who created the course, membership in a wide community (300+ members) of fellow engineers with similar challenges, and access to all past and future course-related materials. Unlimited and for the lifetime of the course.

Is this you?

  • Network architect, technical pre-sales engineer, or similar senior, technical leader role
  • Traditional networking engineer striving to improve your career prospects
  • Automation user (sysadmin or programmer) aiming to extend automation to networking devices
  • Have limited time in your schedule to stay up to date, separate truth from vendor hype, and evaluate the true impact of new technologies
  • Want to avoid expensive solutions and untested technologies that benefit vendors but not end-users
  • Prefer to build systems from small components over buying monolithic vendor platforms

What will you get with this course?

  • Transparent and vendor-neutral course, based on more than 25 years of design and deployment experiences
  • Focus on real-world problems and optimal solutions, not technologies and products promoted by individual vendors

Content created by leading industry experts

  • 9 modules spread across ~3 months
  • Live guest speaker sessions, whiteboarding discussions and Q&A sessions
  • Unlimited lifetime access to course-specific materials (includes future recordings of guest speaker sessions and future design and coding assignments)

Hands-on experience

  • You'll design and develop a simple network automation system
  • You'll use Ansible (or another automation tool) to solve one of your problems
  • You'll make your code ready for pilot or production deployment

We'll be there for you

  • Sample solutions from Ivan Pepelnjak, guest speakers, and past attendees
  • Strong Slack-based community support from 300+ engineers, Ivan Pepelnjak, and past and current guest speakers
  • Email support through the duration of the live course sessions

Watch the course introduction video to learn more about how this course works, its contents, and guest speakers:

We’ll Talk About

  • Fundamentals: Scoping, Starting small, Shipping Early
  • Building the data model
  • Implementing your solution with Ansible playbooks
  • Multi-vendor support and dealing with platform differences
  • Using third-party Ansible libraries (NAPALM, NTC-Ansible) and modules
  • Integration with operational data
  • Packaging and prettifying
Rob van de Laar, Network Architect at Atos
A chain reaction took place in my head. I'm down to earth now and I'm busy with my first Ansible project - automating deployment of an EoMPLS service.

Heard enough?

We have no immediate plans for the next live course at the moment, but you can always enroll in the self-study version of the course as part of the Expert Subscription, and start immediately.

Get Expert Subscription

After selecting this course as part of your Expert Subscription, you’ll be able to access all the course materials, including the recordings of all previous live sessions, complete your hands-on exercises, have them reviewed, and be ready to use this knowledge in your production environment in a few months. You'll also get access to course Slack team to discuss your challenges with fellow networking engineers and get our support.


  • Prices are in USD and do not include VAT or sales tax. Based on your country of residence you might have to pay them - some countries want to tax all purchases of their residents, and unfortunately there's nothing we can do about that.
  • The number of seats at reduced ticket prices is limited;
  • Prices are valid until the expiration date or until the seats are sold out, whichever happens first;
  • The Building Network Automation Solutions course includes all the material from the Ansible for Networking Engineers online course;
  • To upgrade from the Ansible for Networking Engineers course use the Ans2Aut promotional code when registering for this course.

At a Glance

  • 9 modules spread across ~3 months;
  • 78 hours of course materials plus 21-hour Ansible for Networking Engineers course
  • Hands-on experience working on a solution to your own problem
  • Live online discussion and guest speaker sessions
  • Design and coding assignments
  • Strong Slack-based support from your peers, Ivan Pepelnjak, and past and current guest speakers
  • Final course completion certificate.

Reserve your seat

Carl Buchmann, Managing Solution Consultant at TeraMach
I would highly recommend this training to anyone who wants to become proficient in Network Automation! Ivan + his many guest speakers do a great job at delivering relevant training addressing real problems!

Course outline

The course is structured in 9 modules:

Modules include self-study materials, hands-on exercises and live session with Q&A. Our content management system and ipSpace mentor (Ivan Pepelnjak) will guide you through each module.

For more details, explore the detailed course description.

Self-study materials

Each of the 9 modules has extensive guided self-study materials that include:

  • Selected webinars;
  • Recordings of the past live course sessions;
  • PDFs and books;
  • Recommended podcasts and reading lists;
  • Case studies and more.

For more details, explore the current self-study materials.

Hands-on exercises

Most of the modules includes numerous hands-on exercises that will help you get started on your network automation journey, or give you an outline of a solution that you need in your network.

For more details, explore the current list of hands-on exercises.

Live sessions and guest speakers

One of the highlights of the course is the guest speakers: industry experts talking about emerging technologies, use cases, or their deployment and operational experiences.

  • Each course has 4-5 live session with guest speakers and Ivan Pepelnjak.
  • In a live session, guest speakers and Ivan Pepelnjak go deeper in the topics that were not covered in the past courses. We never repeat what's already available in self-study materials that include recordings of all past live sessions.
  • With every course, we dive deeper into individual automation topics and introduce new tools, constantly upgrading and enriching the course content… and don't forget you'll get lifetime access.

Please note that all live sessions are recorded and available for download a day or two after the session. Don't worry if you miss a live session due to other obligations, you'll always be able to catch up.

For more details about live sessions schedule visit the live session page... and don't forget to explore the current and past guest speakers and their presentations.

Community, support, and guidance

Access to the course attendees only Slack discussion group (with 300+ members) allows you to work as part of a large team, solve tough problems and share experiences.

  • Connect and discuss your challenges with experts in the networking field.
  • Get expert and peer feedback on your toughest challenges.
  • Stay in touch long after the course & expand your network.

We also offer free email support with next-business-day turnaround throughout the duration of the live course.

Reserve your seat

Terry Slattery
Terry Slattery, CCIE#1026, Principal Architect at NetCraftsmen
I found Ivan's Network Automation online course to be very useful in helping me get started with my own efforts. There are several tools that could be used and starting with Ansible is a good approach. I was previously not aware of the other tools that were presented in the course, so I learned a whole new tool set, but perhaps the best was seeing how other people are using automation to do things like automate BGP configuration and validation. Another person has automated the configuration of a multi-rack data center compute module with just a few parameters.

You'll get the most out of it if you do the preparation study and keep up with the labs. Be prepared to be challenged.

Logistics Details

How much time will you need?

  • Online sessions in GoToWebinar virtual classroom will take 2-3 hours approximately every second week. All of them are recorded, so you can watch them whenever it works for you even if you won't be able to attend each one of them;
Online sessions usually take place on Tuesday or Thursday, and almost all of them start at 4 PM CET/10 AM EST/7 AM PST. You can find live session timing on this page.
  • You might need up to 5 hours per week to study the background materials. However, you'll get most of the materials in advance (when you register for the course), so you'll be able to study them over a longer period of time.
  • Finally, plan to spend some time (approximately 4 hours per week) on hands-on assignments.

Reserve your seat

Guest speakers

Autumn 2019

We are proud to announce another great lineup of guest speakers for the Autumn 2019 course.

Matthias LuftMatthias Luft will focus on secure software sourcing aspects of the tools used in the course. While using the tools to deploy automation (and thus standardization) can increase the security level of an environment drastically, it must also be ensured that only trusted software is used to implement this automation. We will cover security goals in software sourcing, differences in open vs. closed/commercial software, known security incidents, and of course how to develop a model to deal with all those challenges.

More about Matthias Luft…

Damien GarrosDamien Garros will explain how to build a network automation framework from the ground up:

  • How and why organized the project around a source of truth (NetBox & GitHub);
  • How to integrate an automation framework to manage the network devices with the source of truth (Ansible);
  • How to leverage Docker to package Ansible and create a consistent environment;
  • How to properly import data into the source of truth and how to manage many roles and variations of the network design;
  • How to migrated from a traditional SNMP based monitoring to a modern architecture using Influxdb & Grafana.

More about Damien Garros…

Anton KarneliukService providers are huge elephants in terms of the complexity both of the networks and operational processes. On the other hand, there is a tough competition in the industry not only between the service providers but also between the tier-1 web companies and the service providers. There is only option to survive in this battle, and this option is the acceleration and the simplification of the whole service provider operational activities through the automation.

In the session with Anton Karneliuk, you will learn about some real use cases of the automation of the operational activities in the service provider networks using Ansible. Based on the provided examples, you will learn what the main problems are, how they can be solved and why Ansible could be your number-one tool to start the transformation of the traditional service provider (or any other network) towards the infrastructure as a code. As an additional highlight, you will learn how Ansible glues together NETCONF/YANG, REST API, SSH/CLI, XML and other entities existing in the networks over ages.

More about Anton Karneliuk…

Hans VerkerkHans Verkerk will guide you through some easy-to-understand scripts written in Python. These scripts abstract Cisco IOS configurations into Python data structures, enabling you to query the data gathered from network devices using standard Python utilities in a simple but effective way. He’ll explain the concepts with live "mini scenarios" using interactive Python interpreter. In the second half of his presentation, Hans will focus on another script that converts interface- and VLAN properties from multiple switch configurations into a Python data structure and an Excel file. You can use the collected data to migrate to a new setup with different equipment or to a new network design, generating new configurations with Python Jinja2 library. Hans will conclude with a script that audits network configurations.

More about Hans Verkerk…

Jeremy SchulmanAs a network engineer, you may be asked to perform basic and repetitive tasks. Your users keep asking for a "self-service" portal. You want to give them one, and you wonder what options exist and what would work best for your company. Slack provides interactive messaging and dialogs-boxes mechanisms that could be used to create wizard-like user experiences. In this presentation, Jeremy Schulman will talk about real-world use cases using Slack to create commands that drive network automation workflows. He will discuss the features of Slack he's used and cover what he's learned so far in terms of pros-and-cons. He is also to discuss how Slack is used to integrate with other systems like AnsibleTower and IPAM systems. There may be a little bit of Python code for demo purposes, but this will not be a coding workshop. The purpose of this talk is to show you the art of the possible but not expect you to be a programmer.

More about Jeremy Schulman…

Spring 2019

Matt OswaltIn the past, it's been tremendously difficult to learn new networking technologies and platforms because of the cost and complexity of acquiring hardware. However, in recent years, several tools have made it possible to build a fully-functional lab, virtually! In this session, Matt Oswalt will help you get started building your own virtual lab environment, right on your laptop.

More about Matt Oswalt…

David GeeDavid Gee will dive deep into the foundational stuff that no one ever wants to mention - the hygiene of automation, the equivalent of washing your hands before doing that big operation and disposing of toxic items afterward.

You will learn a golden approach to solving automation challenges, a maximum time return investment strategy, justification of "stop doing the bare minimum" and the results achievable from good old engineering and solid design.

More about David Gee…

Patrick OgenstadPatrick Ogenstad will focus on the concepts of setting up a zero-touch provisioning system. It will start with basics including the building blocks that are needed, the relevant protocols and how to tie everything together. While the final solution will consist of open source tools and custom written Python code, the goal of the session is to get into the right mindset around what the actual objectives of a ZTP system and other automation efforts should be.

More about Patrick Ogenstad…

Kristian LarssonThe development environment is an often-forgotten area that deserves a lot more focus. The right environment allows for rapid experimentation and development as well as verification through CI testing. Above all, a good environment makes developing so much more enjoyable.

Kristian Larsson will go through how to set up a development environment - with tools - that's conducive to carrying out network automation development and will also explain how to build a sweet setup for yourself using virtual routers (vrnetlab) that you can use to speed up development as well as automatically validate changes through CI testing.

More about Kristian Larsson…

Mitja RobasMitja Robas will describe a real-life environment that used automation to achieve the goal of truly independent DC sites instead of the usual hodgepodge of stretched VLANs. The customer used NSX virtual networking accompanied by EVPN physical network to implement multiple tenants and relied heavily on automation to minimize deployment errors and inconsistencies between sites.

More about Mitja Robas…

Autumn 2018

Dirk FeldhausDirk Feldhaus described how to automate service deployment with Ansible within a network fabric to make the implementation faster, more consistent and less error-prone. His solution deploys a new customer environment within a Cisco ACI fabric including a tenant, VRF, bridge domains, application profiles, endpoint groups, etc.

During his presentation, he showed how he used YAML to represent an abstract model of the components of his environment, standard Ansible modules to configure these components, and Jinja for customizing configuration steps that are not covered by standard modules.

More about Dirk Feldhaus…

David BarrosoDavid Barroso demonstrated Nornir: a pluggable multi-threaded framework with inventory management that makes it easier to operate a collection of devices with tons of data than server-focused tools like Ansible. Nornir abstracts the complexity of dealing with data and multithreading so you can focus on solving your automation needs whichever they are.

With this session you will learn how easy it is to write Nornir code even if you're not proficient with Python, how easy it is to integrate with other frameworks like a flask or click, and how to leverage your text editor features for autocompletion, easy access to documentation, or even debugging and troubleshooting. As always - all through hands-on examples :)

More about David Barroso…

Gabriele GerbinoWhen you automate, you want to make sure that you are not automating bugs and mistakes too, thereby making them spread across your environment. That is why you want to have a proper testing pipeline in place!

In his session, Gabriele Gerbino presented some practical examples on how to build a simple testing pipeline by using Travis-CI and VMs/containers to make sure that you can sleep better once you hit the DEPLOY red button.

More about Gabriele Gerbino…

Nick HilliardMost networks operators don't have the luxury of deploying in greenfield scenarios. In his presentation, Nick Hilliard will examine how to take a practical, hands-on approach to network automation for live networks, starting at business analysis, product abstraction and data modeling, and ending up with practical automation of live configurations.

More about Nick Hilliard…

JP SeniorJP Senior from Astra will go deep into intent-based networking technology and cover data models, validations, graph database queries, Jinja rendering and how abstraction removes the heavy lifting in terms of distributed state management, change management and real-time notifications.

He will illustrate these concepts by providing a simple-to-use deployment automation and ongoing analytics of one of the most complex data center technologies - multi-vendor EVPN control plane using VXLAN encapsulation.

More about JP Senior…

Spring 2018

Mark PriorIn the Network Infrastructure as Code presentation, Mark Prior described how he automated a private cloud infrastructure, and how he uses infrastructure-as-code principles to build reliable data center networking infrastructure.

Mark started his presentation with his network automation journey, and spent most of his time talking about the automation projects he completed in recent years using open-source tools like Ansible, Git, Jenkins, and Slack.

More about Mark Prior…

David GeeAfter automating device configurations and service provisioning you might start tackling the holy grail of network automation: changing your network behavior based on a real-time external event.

In his presentation, David Gee described the fundamentals of Event-Driven Automation (EDA), including Why would you want event-driven automation and what are its pitfalls? What exactly is an event and what's the difference between signals and events? How would the architecture of an event-driven solution look like? Why do we need event normalization and correlation?

He concluded with an overview of open-source and commercial tools you could use when building an event-driven solution and demonstrated the concepts with two simple examples using StackStorm and Salt.

More about David Gee…

David BarrosoDavid Barroso explained how you can use NAPALM to validate whether the actual state of a network device meets its desired state.

More about David Barroso…

Mircea UlinicMircea Ulinic explained how to get started with Salt and set up an environment for event-driven network automation and orchestration. He described the recommended steps to install Salt, and the key points to remember did a brief introduction to the CLI syntax and acquainted you with the advanced configuration management capabilities. Debugging is always very important - particularly during development, so he covered that as well, and explored the features Salt provides for debugging.

In the end, Mircea briefly discussed event-driven infrastructure that we can use to trigger fully automatic configuration changes in response to external or internal network events.

More about Mircea Ulinic…

Mitja RobasChef is not a most commonly-used network automation tool, but you might still encounter it in environments where it's already used for system management.

Mitja Robas described what Chef is, how to set it up, and how to configure Nexus OS switches using on-device Chef agent.

More about Mitja Robas…

Autumn 2017

Patrick OgenstadPatrick Ogenstad described his network automation journey, from writing firewall rules in Excel to deploying large-scale network automation solutions.

As he progressed through the problems he solved on this journey, he also identified the lessons learned, pitfalls and takeaways.

More about Patrick Ogenstad…

David BarrosoWhile configuring network devices with OpenConfig sounds really interesting, don't expect to be able to do it any time soon - the vendors are (as usual) very reluctant to add yet another layer of indirection on top of their already-bloated software.

David Barroso, the author of NAPALM and SDN Internet Router, decided to fix that problem within NAPALM and wrote a set of libraries (napalm-yang) that perform translation between OpenConfig (or any other) YANG data model and device configurations.

More about David Barroso…

Dinesh DuttDinesh Dutt explained why we need new tools to supplant existing network troubleshooting tools, and described the new technologies and tools being developed.

He concluded his presentation with a deep dive into NetQ, the tool Dinesh developed while working at Cumulus Networks.

More about Dinesh Dutt…

Jeremy StretchJeremy Stretch explained what drove him to create NetBox, a new IPAM/DCIM tool, the challenges he encountered in defining the data models, and how the API can be used to drive network automation. Or as he said: Network automation is great, but it can't happen unless you have some way to model what your network should look like.

NetBox, one of the few open-source tools focused on networking engineers' needs was developed to function as the "source of truth" for a network, covering all aspects of IP address and infrastructure management.

More about Jeremy Stretch…

Pete LumbisGitLab CI is one of the commonly-used networking-focused continuous integration tools due to its agent-based architecture.

Pete Lumbis explained how you can use the software concept of automated testing to bring a faster rate of change with a greater degree of success. He described the tools required to make automated testing a reality, and how automated testing can be easily folded into a team-wide change management system.

More about Pete Lumbis…

Thomas WackerThomas Wacker described how UBS AG embraced automation for the currently ongoing data center network rebuild. He started with prerequisites and key objectives, described the architecture, showcased the toolchain in use today, and explained the phases of build, test, documentation and ongoing operations.

In the conclusion, he went through the benefits of UBS approach, the next immediate goals, and how automation will keep changing the networking industry.

More about Thomas Wacker…

Spring 2017

Elisa JasinskaElisa Jasinska gave an overview on how to approach your automation and orchestration strategy. She described how you could:

  • Split your automation challenge into numerous small automation services;
  • Decompose each automation service into smaller components, and identify common components that could be reused across many services;
  • Design your network automation systems;
  • Create a single source of truth for your automation solution;
  • Set up data collection and monitoring systems;
  • Integrate individual services into an orchestration solution.

More about Elisa Jasinska…

Scott LoweScott Lowe started his transition from an infrastructure engineer focused on storage and virtualization into full-stack engineer familiar with open-source software in 2012. He started by exploring the intricacies of Git and GitHub and continued the journey by researching the capabilities of Open vSwitch, LibVirt, etcd, Terraform, Vagrant/VirtualBox, Docker and Ansible.

His presentation focused on lessons learned while using Git/GitHub. We also spent a significant amount of time talking about his journey toward becoming an open-source-aware full-stack engineer.

More about Scott Lowe…

David BarrosoIn this tutorial David Barroso explains the basics of network device configurations based on abstracted data models, including data derived from a back-end database.

More about David Barroso…

Marcel WigetMarcel Wiget introduced OpenConfig and explained how you can use it for configuration and telemetry. He concluded the presentation with practical examples demonstrating the capabilities of Ansible networking modules in combination with OpenConfig/YANG to provision Juniper Networks routers and switches.

More about Marcel Wiget…

Pete LumbisPete Lumbis explained the basics of Continuous Integration and Continuous Delivery (CI/CD) concepts and demonstrated how you can use GitLab and virtual labs to test network device configurations prior to production deployment.

The attendees of spring 2017 session wanted to get more details about the Continuous Integration pipeline Pete Lumbis set up with GitLab and Vagrant, and he agreed to come back and do a deep dive into CI with GitLab in Autumn 2017 course.

More about Pete Lumbis…

Ryan HeffernanRyan Heffernan focused on a seemingly simple task that haunts many enterprise networks: how do you figure out which access control lists (ACLs) the traffic between two endpoints might hit under all possible failure scenarios.

In his presentation he described how the consistent structure of Facebook's enterprise network allowed him to simplify the problem to the point where it was easily solvable with a Python script.

More about Ryan Heffernan…

Mat WoodMat Wood described how Facebook's enterprise networking team solved a common networking nightmare: enforcing consistent device configuration. His presentation outlined their journey from consistent configuration snippets generated from a source-of-truth using Jinja2 templates to configuration audits and automated remediation.

More about Mat Wood…