Course
Name: Introducing Automation for Cisco Solutions (CSAU) v1.0
Duration:
2 Days
What youâll learn in this course:
The Introducing Automation for Cisco Solutions (CSAU) v1.0 course
gives you a broad overview of network automation skills. Through a combination
of lecture and hands-on labs, you will learn the fundamentals of automation
such as working on model-driven programmability solutions with Representational
State Transfer Configuration Protocol (RESTCONF) and Network Configuration
Protocol (NETCONF) protocols. The course also covers data formats and types,
including Extensible Markup Language (XML), JavaScript Object Notation (JSON),
Yaml Ainât Markup Language (YAML), and Yet Another Next Generation (YANG), and
their value in network automation, along with DevOps tools such as Ansible and
Git.
How youâll benefit:
- Gain an overview of the skills you need to become a
next-generation engineer - Prepare to accelerate network automation in your organization
- Increase collaboration across internal and external teams using
version control systems
Who should enroll:
This
course is designed primarily for customer engineers and systems engineers in
the following job roles:
- Automation architect
- Automation engineer
- Consulting systems engineer
- DevOps engineer
- Network administrator
- Network architect
- Network consulting engineer
- Network design engineer
- Network engineer
- Network operator
- Network reliability engineer
- Sales engineer
- Site reliability engineer
- Systems engineer
- Technical solutions architect
Course
Objectives:
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
Course Prerequisites:
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
Course Outline:
- Examining Network Management and Operations
- Exploring Software Development Methodologies
- Using Python for Network Automation
- Describing NetDevOps: DevOps for Networking
- Managing Automation Development Environments
- Introducing HTTP Network APIs
- Reviewing Data Formats and Data Encoding
- Using Python Requests to Automate HTTP-Based APIs
- Exploring YANG
- Using YANG Tools
- Automating Model-Driven APIs with Python
- Introducing Ansible for Network Automation
- Templating Configurations with Jinja2
Labs Outline:
- Use Network Automation Scripts
- Enforce Python Fundamentals on the Interactive Interpreter
- Automate Networks with Netmiko
- Troubleshoot Python Scripts
- Use the Git Version-Control System and Collaborate on an Internal
Project - Manage Merge Conflicts
- 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 NETCONF with Python
- Explore RESTCONF with Python
- Configure Network Devices with Ansible
- Collect Network Data with Ansible
- Build and Deploy Configurations with Ansible