After taking this course, 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
Before taking this course, you should have the following knowledge and skills:
- Routing and switching including Open Shortest Path First (OSPF), Border Gateway Protocol (BGP), and basic configuration features such as interfaces, Simple Network Management Protocol (SNMP), and static routes
- Fundamentals of Python data structures and programming constructs such as loops, conditionals, and classes, or the equivalent of 3-6 months of experience writing Python scripts
- Basic Linux commands for navigating the file system and executing scripts
- Knowledge of working with text editors
This course is designed primarily for customer engineers and systems engineers in the following job roles:
- Automation architect and engineer
- Consulting systems engineer
- DevOps engineer
- Network administrator, architect, consulting engineer, design engineer, engineer, operator, and reliability engineer
- Sales engineer
- Site reliability engineer
- Systems engineer
- Technical solutions architect
This course would also be useful for network manager job roles such as:
- Application developer
- Collaboration developer and solutions architect
- IT director
- Mobile developer
- Network Operations Center (NOC) manager
- Software architect
- Web developer