Package I: Getting Started with Network Automation

Package I

Getting Started with Network Automation

Ready to start your network automation journey?

The network industry is in the midst of change, and one part of that change is the operational models and technologies used to manage and operate networks daily. As we advance, we are starting to see more open and programmable network devices emerge – and we are seeing these network devices integrated with existing DevOps automation tools.

Package I covers the skills needed to take advantage of these modern network devices. Assuming no programming knowledge, we start from scratch, with raw concepts and technologies focusing on Python, then move to automating network devices with Ansible. This package is your team’s jumpstart to a greater network automation journey.

Upon completion of this package, the students should be prepared to:

Understand fundamental Python programming concepts and how to apply them to building scripts that automate manual network management tasks

Apply automation skills with Ansible to create and deploy reusable Playbooks specific to network automation

Understand the benefits of, and work with structured data such as JSON and YAML in a network automation context

Prerequisites:

Networking concepts

Using a text editor such as VSCode, Sublime Text, or vim

Navigating the Linux filesystem (creating and viewing files, navigating directories)

Knowing how to SSH to a network device from Linux

Examples of tasks that engineers will be able to complete include:

rapid data collection from the network (across multiple vendor platforms)

configuration updates pushed to numerous devices via automation

collect and build a standardized configuration template using Jinja2 templates

implement network device configuration backups

create reports from operational data gathered from the network

interact with network device HTTP based APIs for configuration or state data

If you have questions or want more information about any of our training offerings, please contact us!

Contact Us

Courses

See the detailed course descriptions in our curriculum library.

Kickstart into Network Automation (2 hours of optional recordings)

  • Introduction to Development Environments
  • NTC Lab Pod Access Methods
Read more

Network Programming & Automation (5-day bootcamp)

Read more
ntc img
ntc img

Contact Us to Learn More

Share details about yourself & someone from our team will reach out to you ASAP!

Package II: Configuration Management with Ansible

Package II

Configuration Management with Ansible

Take the next step to dig deeper into Ansible, Batfish, and Git

Apply your automation skills to practical, real-world scenarios with Package II. Learn how to extend the capabilities of Ansible by implementing Custom Jinja2 Filters and Custom Modules from scratch in Python, then package this custom code into Ansible Content Collections for distribution.

Use Batfish to load network device configurations and compare the effect changes would have on the state of the network.

Use Git CLI commands to create a repository and manage its files, then collaborate with others on the same project by leveraging a centralized Git hosting service like GitHub and features like Pull/Merge Requests, Forks, and Automated Tests.

Upon completion of this package, the students should be prepared to:

  • Leverage Jinja2 filters to manipulate complex data and have full control over the formatting of the output for network device configuration, reports, or any other usage.
  • Prove an understanding of the Ansible Plugin System and the flexibility it provides to an advanced developer.
  • Extend the capabilities of Ansible by implementing Custom Jinja2 Filters and Custom Modules from scratch in Python, then package this custom code into Ansible Content Collections for distribution.
  • Convert unstructured text CLI output from legacy network devices into structured data with the help of Ansible’s parser library integrations.
  • Use Batfish to load network device configurations and compare the effect changes would have on the state of the network. Interact with the Batfish service from both Python and Ansible.

If you have questions or want more information about any of our training offerings, please contact us!

Contact Us

Courses

See the detailed course descriptions in our curriculum library.

Introductory Session and choice of 3 Bite-sized Learning Sessions (4 hours)

  • Choose three 1-hour sessions on the specialized topics that suit your company’s training needs.
Read more

Automating Networks with Ansible II (3-day bootcamp)

Read more

Network Configuration Testing with Batfish (4-hour workshop)

Read more

Collaborative Workflows with Git and GitHub (1-day workshop)

Read More
ntc img
ntc img

Contact Us to Learn More

Share details about yourself & someone from our team will reach out to you ASAP!

Package III: Configuration Management with Python

Package III

Configuration Management with Python

Take the next step to dig deeper into Python

Apply your automation skills to practical, real-world scenarios with Package III. Build advanced workflows in Python: Perform data validation, build automated tests for network devices, use Nornir with Netmiko and NAPALM, and NETCONF/YANG libraries to interact with network devices.

Convert unstructured text CLI output from legacy network devices into structured data with the help of a variety of text parsing Python libraries (such as TextFSM, TTP, PyATS/Genie, etc.). Build a scalable, more reliable Python project: design patterns and tools for packaging and testing of Python code.

Use Batfish to load network device configurations and compare the effect changes would have on the state of the network.

Use Git CLI commands to create a repository and manage its files, then collaborate with others on the same project by leveraging a centralized Git hosting service like GitHub and features like pull/merge requests, forks, and automated tests.

Upon completion of this package, the students should be prepared to:

  • Build advanced workflows in Python: perform data validation, build automated tests for network devices, use Nornir with Netmiko and NAPALM, and NETCONF/YANG libraries to interact with network devices.
  • Convert unstructured text CLI output from legacy network devices into structured data with the help of a variety of text parsing Python libraries (such as TextFSM, TTP, PyATS/Genie, etc.).
  • Build a scalable, more reliable Python project: design patterns and tools for packaging and testing of Python code.
  • Use Batfish to load network device configurations and compare the effect changes would have on the state of the network. Interact with the Batfish service from both Python and Ansible.
  • Use Git CLI commands to create a repository and manage its files, then collaborate with others on the same project by leveraging a centralized Git hosting service like GitHub and features like Pull/Merge Requests, Forks, and Automated Tests.

If you have questions or want more information about any of our training offerings, please contact us!

Contact Us

Courses

See the detailed course descriptions in our curriculum library.

Introductory Session and choice of 3 Bite-sized Learning Sessions (4 hours)

  • Choose three 1-hour sessions on the specialized topics that suit your company’s training needs.
Read more

Automating Networks with Python II (3-day bootcamp)

Read more

Network Configuration Testing with Batfish (4-hour workshop)

Read more

Collaborative Workflows with Git and GitHub (1-day workshop)

Read More
ntc img
ntc img

Contact Us to Learn More

Share details about yourself & someone from our team will reach out to you ASAP!