Getting Started


Home » Courses » Building Network Automation Solutions » Getting Started

You have to be registered for this online course, or have this course selected as part of an active Expert Subscription to access all course materials.

Getting Started

In the first module of the network automation online course you’ll get the big picture, including:

  • What is network automation
  • What components should I expect to design in a network automation system
  • How do I get started
  • How do I build my own lab
  • What tools can I use

You’ll also discover a plethora of open-source tools and learn enough Git to get you started.

More information...

1:48:00 Introduction to network automation

We’ll start with simple questions: “what is network automation”, “why is it so hard” and “how do I get started”. Next you’ll explore the hierarchy of network automation, from operated network to automated remediation… and might get a few ideas that you could already implement in your network.

48:21 Getting Started with Network Automation

In the first session of the January 2017 course I gave attendees some hints on getting simple automation solutions into production. You might want to skip the first part of the video and focus on From here to there, Start small, and Make it as simple as possible sections.

Getting Started 48:21 2017-01-13
Slide deck 5.8M 2017-08-10

1:21:33 A Network Automation Journey

Patrick 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.

Automating Firewall Rules 13:03 2017-09-19
Scaling to 100 Routers 15:50 2017-09-19
Undead Routers 11:26 2017-09-19
Idempotency and Dry Runs 16:03 2017-09-19
Data Is Key 9:51 2017-09-19
Heroes, Conclusions and Answers 15:20 2017-09-19
Slide deck 719K 2017-09-14

1:40:50 Design Your Network Automation Systems

This section focuses on larger systems and components you need to build them. You might think you don’t need it, but you’ll find it very handy when trying to move from small spot fixes that address the most-immediate pains to bigger solutions.

Design Your Systems 3.1M 2017-01-11
Design Your Network Automation Systems 100:50 2017-01-13

10:40:00 Network Automation Tools

A must-have overview of open-source network automation tools, including configuration and state management tools, automation frameworks, version control systems, IPAM tools, and logging, monitoring and testing tools.

1:15:43 Selecting the Right Tool for the Job

Once you've mastered a tool, it's tempting to use it for every job no matter how suitable it is. Alternatively, there are so many tools out there that it's really hard to select the best one… and then there's the usual dilemma of choosing between open-source and commercial offerings. This section will help you get started - it describes typical challenges, differences between fixed-purpose products, platforms and tools, and gives you some selection guidelines. It also includes a few hints on how to study new tools more effectively.

Selecting the Right Tool for the Job 54:49 2017-09-19
Learning How To Use New Tools 20:54 2017-11-08

Reference material

Slide Deck: Selecting the Right Tool for the Job 2.7M 2018-02-12
Slide Deck: Learning How to Use New Tools slide deck 1.8M 2017-11-08
Think Python (How to Think like a Computer Scientist)

Even though the book focuses on Python, and you might not want to learn it right now, you'll probably find its discussion of debugging and development plans pretty useful.

Additional information

Useful Network Automation Tools Found on the Web 1.5K 2019-01-04

Interesting reading

Don't Become A Developer, But Use Their Tools (by Ethan Banks)

1:13:58 Security and Reliability

Another very important aspect when designing and building a network automation solution is its security and reliability. The security aspects are not much different than what you'd usually have to deal with when installing a network management system, and the reliability aspects should be familiar to any software developer. However, it's still worth spelling them out.

Securing a Network Automation Solution 28:20 2018-02-14
Increasing the Reliability of a Network Automation Solution 14:20 2018-03-21
Ansible Vault 31:18 2018-03-21
Slide Deck: Security and Reliability 2.6M 2018-02-13

1:25:42 Free items Learn Git

Git is the source-control tool of choice not only for most open source project, but also for extremely large teams like Facebook or Microsoft Windows development team. It seems a bit convoluted when you start, but you’ll quickly discover its benefits in this Getting started with Git tutorial by Scott Lowe.

If you’re familiar with another version control tool, or want to learn more about Git, I’d highly recommend reading the Pro Git book. I would also suggest you invest more time in understanding Git concepts than trying to remember a few quick recipes and move on.

Git and GitHub 23:10 2023-11-25
Git Branches 29:22 2023-11-25
Git Remotes 21:45 2023-11-25
Useful Tips 11:25 2023-11-25
Slide Deck 545K 2017-01-17

Hands-on exercises

Practice Your Git 205K 2017-08-14
Git Recipe Explained

Git books and other online courses

Git Magic

Simple and humorous introduction to Git basics

Pro Git book

A must-read book for everyone aiming to master Git

Git Notes for Professionals

Another must-read book full of Git tips and tricks

Git Immersion (recommended by Bruno Wollmann)
Git in 15 minutes
GitHub on-demand training

Git branching strategies

Gitflow (a commonly used branching approach)
Patterns for Managing Source Code Branches (Martin Fowler)
Git branching guidance (
Comparing Git workflows (
Git Feature Branch Workflow (

Using Git

Using Git branches in NetDevOps (Leslie Carr, RIPE 71)
GitOps: A Path to More Self-service IT (Tom Limoncelli, ACM Queue)
How to find stuff in Git
Confusing Git terminology
Recipes-of-last-resort for the times when nothing else works
Contributing to Open-Source Projects with Git
Popular git config options
Git Tips & Tricks by Scott Chacon (GitButler)
More Git Tips & Tricks (Hacker News)

Git details for the curious

git branches: intuition & reality
Inside Git directory
git rebase: what can go wrong?
How git cherry-pick and revert use 3-way merge

1:59:10 Building a Virtual Lab

Building a virtual lab was one of the largest hurdles faced by many course attendees, so we asked Matt Oswalt (the author of NRE Labs) to explain his approach to building virtual labs and the tools he uses to build them.

Virtual or Physical Labs 25:44 2019-02-20
Local Virtual Labs 25:43 2019-02-20
Local Virtual Labs Demo 22:53 2019-02-20
Cloud-Based Labs 13:11 2019-02-20
DIY Cloud Labs 31:39 2019-02-20
Slide Deck 759K 2019-02-17

More Information

Building a Network Automation Lab
Automate Your Network Labs with Ansible and GNS3

16:58 Building Your Own Lab

Building your own lab is the messiest part of the whole course. I provided several blueprints - from running Ansible in a VM and working with physical boxes to running an Arista EOS-based fabric or combining an Ansible VM with Cisco devices running in VIRL.

Hands-on assignment: build your own network automation lab
Submit your homework
Overview: Submitting Hands-On Exercise Solutions

16:58 Useful Resources

Build a network automation lab - overview page
More lab building guidelines and tips-and-tricks
Lab Questions 16:58 2017-01-13

We covered numerous lab-related questions in the Spring 2017 course. Most of these discussions have been distilled into lab setup documents, but you might still find them useful.

Additional Resources

1:47:08 Supply Chain Security in Open-Source Software

While using using network automation tools (and thus standardizing services deployments) can drastically increase the security level of an environment, we must also ensure that we only use trusted software to implement automation solutions.

Matthias Luft focused on secure software sourcing aspects of open-source tools used in the course. He covered the security goals in software sourcing, differences in open versus closed/commercial software, known security incidents, and concluded with a proposed modeal that could deal with all those challenges.

Introduction 8:53 2019-09-04
Modern Software Supply Chains 10:50 2019-09-04
Basics of Trust 15:52 2019-09-04
Software Supply Chain Security Incidents 12:37 2019-09-04
Fundamental Challenges 16:36 2019-09-04
Potential Mitigations 28:21 2019-09-04
Evaluating Software Providers 13:59 2019-09-04
Slide Deck 76M 2019-09-04

Optional Self-Study Materials

If you want to learn more about Git, Vagrant or Python, check the online resources included in this section. We also included several Software Gone Wild podcasts you might find interesting.


Git in 15 minutes
GitHub on-demand training
Pro Git book

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


Vagrant getting started


Python for beginners
Google's Python class

Software Gone Wild episodes

Becoming a programmer with Elisa Jasinska
Network Automation Tools with Jason Edelman
Network Programmability with David Gee
Open-Source Network Management tools
Even More Open-Source Network Management tools
You started this section on %started% Mark completed