Course objectives
After taking this training, you should be able to:
- Articulate the role network automation and programmability play in the context of end-to-end network management and operations
- Define and differentiate between waterfall and agile software development methodologies
- Interpret and troubleshoot Python scripts with fundamental programming constructs built for network automation use cases
- Describe how DevOps principles, tools, and pipelines can be applied to network operations
- Understand the role of network automation development environments and associated technologies such as Python virtual environments, Vagrant, and Docker
- Understand and construct HTTP-based API calls to network devices
- Articulate the differences among and common use cases for XML, JSON, YAML, and protobuf
- Construct and interpret Python scripts using the Python requests module to automate devices that have HTTP-based APIs
- Understand the role YANG plays in network automation
- Understand that a number of tools exist to simplify working with YANG models
- Describe the functionality of RESTCONF and NETCONF and the differences between them
- Construct Ansible playbooks to configure network devices and retrieve operational state data from them
- Build Jinja2 templates and YAML data structures to generate desired state configurations
Lab outline
- Use Network Automation Scripts
- Enforce Python Fundamentals on the Interactive Interpreter
- Automate Networks with Netmiko
- Use the Git Version-Control System and Collaborate on an Internal Project
- Build Reproduceable Automation Environments
- Use HTTP-Based APIs with Postman
- Explore YAML and JSON Data
- Consume HTTP-Based APIs with Python Requests
- Explore YANG Tools
- Explore RESTCONF with Python
- Explore NETCONF with Python
- Configure Network Devices with Ansible
- Collect Network Data with Ansible
- Build and Deploy Configurations with Ansible
|
|