Getting Started
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 |
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 (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 | ||
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 |
||
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 |