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;
- 6 week course spread across ~2 months;
- Live discussion and guest speaker sessions;
- Design and coding assignments and group work;
- Final course completion certificate.
The initial session of the course will focus on the big picture:
- Network automation services you might need
- Reusable components within these services
- Data sources (databases, text files… ) and single source of truth
- Data collection systems
- Monitoring and orchestration
We’ll prepare for our journey by revisiting a few oft-ignored truths:
- Learn to walk before you try to run - start with read-only access
- Don’t try to boil the ocean - solve one small problem at a time
- Create reusable building blocks instead of humongous conglomerates of code
- Get executive sponsorship and professional help
The non-programmers in the audience will also appreciate these topics:
- The need for computational thinking
- You’ll get lost without source code control and versioning
- Refactoring is inevitable - get used to it
- Error handling and unit tests are your friends
In the hands-on part of the course you’ll build your own lab, either using virtual devices or physical gear. If you decide to go with the virtual device approach, you can choose between Arista vEOS, Cisco VIRL, Cisco CSR, Cumulus VX, Juniper vSRX or Juniper vMX.
You’ll also get familiar with Git, create your own Github account and create your own exercises repository.
Patrick Ogenstad, the guest speaker in the introductory session, will talk about his journey to network automation, what got him started as well as key takeaways and lessons learned along the way.
Previous guest speakers
In January 2017 Elisa Jasinska (Bigwave IT) 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.
Recording of the January 2017 session
- Getting Started (PDF)
- Design Your Systems (PDF)
- Course Introduction
- Design Your Network Automation Systems
- Getting Started
- Lab Questions
Before starting the course you should revisit the basics of network automation and network programmability. I would recommend watching these webinars:
To understand why we'll Ansible and NSOT during the hands-on assignments, watch the Network Automation Tools webinar (2 hours).
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 Introduction to Ansible video from the Ansible for Networking Engineers webinar (30 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:
Finally, to get in proper mindset, listen to these Software Gone Wild episodes (each one is ~1 hour long)