Sidebar

Getting Started

ARF PDF MP4 ZIP

Home » Courses » Building Network Automation Solutions » Getting Started

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.

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

1:49: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.

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:40:40 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.

Using Git and GitHub 545K 2017-01-17
Git and GitHub 100:40 2017-01-20

Hands-on exercises

Practice Your Git 205K 2017-08-14

Git books and other online courses

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

Git branching strategies

Gitflow (a commonly used branching approach)
Git branching guidance (Microsoft.com)
Comparing Git workflows (atlassian.com)
Git Feature Branch Workflow (atlassian.com)

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

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.

Homework: build your own network automation lab
Submit your homework

16:58 Helpful resources

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

We also 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

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

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

Vagrant getting started

Python

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