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;
- 9 module course spread across ~3 months;
- Live discussion and guest speaker sessions;
- Design and coding assignments and group work;
- Final course completion certificate.
The initial module of the course covers 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.
The guest speakers in this module include:
Dirk Feldhaus will describe 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'll show you 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.
Mark Prior started the Spring 2018 course describing his network automation journey, and the automation projects he completed in recent years using open-source tools like Ansible, Git, Jenkins and Slack. You'll find his presentation in the Network Infrastructure as Code module.
In September 2017 Patrick Ogenstad, the guest speaker in the introductory session, talked about his journey to network automation, what got him started as well as key takeaways and lessons learned along the way.
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.
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. The link to Ansible online course is in self-study materials for this module.
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)
- Becoming a programmer with Elisa Jasinska
- Network Automation Tools with Jason Edelman
- Network Programmability with David Gee
- Open-Source Network Management tools
- More Open-Source Network Management tools
Recordings of live sessions
Live sessions and guest speaker presentations
- Getting started with network automation
- A network automation journey by Patrick Ogenstad
- Design your network automation systems by Elisa Jasinska
- Select the right tool for the job
- Security and reliability
- Learn Git by Scott Lowe
Course introduction and logistics
- Course Introduction - September 2017
- Course Introduction - January 2017
- Course Introduction - February 2018