Getting Started

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

Hands-on Exercises

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.

Detailed description of hands-on exercises …

Guest speakers

The guest speakers in this module include:

Autumn 2018

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.

More about Dirk

Spring 2018

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.

More about Mark

Autumn 2017

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.

More about Patrick

Spring 2017

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.

More about Elisa Jasinska

Self-study materials

Go through self-study materials for this module (preferably using self-paced guidance);

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:

Red Hat published free Ansible Essentials e-learning on Udemy (Thank you @netmanchris)

Finally, to get in proper mindset, listen to these Software Gone Wild episodes (each one is ~1 hour long)

Recordings of live sessions

Live sessions and guest speaker presentations

Course introduction and logistics

Whiteboarding and discussion questions