Cisco® Introducing Automation for Cisco® Solutions  v1.0 (CSAU)

This course provides engineers with a broad overview of skills to become a next-generation engineers by examining tools and technologies that can both accelerate network automation and increase collaboration across internal and external teams using version control systems.

Skip to Available Dates

Learning Objectives

Upon completing this course, you will be able to meet these objectives:

  • Articulate the role network automation and programmability plays 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 APIs calls to network devices
  • Articulate the difference 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 within a network automation context
  • 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 network devices
  • Build Jinja2 templates and YAML data structures to generate desired state configurations

    Course Details

    Course Outline

    1 - Examining Network Management and Operations
  • Traditional network management
  • Network automation and programmability
  • Network automation use cases
  • Multidomain network automation
  • Discover 1: Use network automation scripts
  • 2 - Exploring Software Development Methodologies
  • Waterfall development process
  • Agile methodology
  • 3 - Using Python for Network Automation
  • Python fundamentals
  • Discovery 2: Enforce Python fundamentals on the interactive interpreter
  • Network libraries
  • Python package management
  • Inside Python modules
  • Discovery 3: Automate networks with Netmiko
  • Discovery 4: Troubleshoot Python scripts
  • 4 - Describing NetDevOps: DevOps for Networking
  • Development and operations
  • Exploring DevOps tools
  • Git fundamentals
  • Git branches
  • Merge conflicts
  • Continuous integration
  • Discovery 5: Use the git version-control system and collaborate on the internal project
  • Discover 6: Manage merge conflicts
  • 5 - Managing Automation Development Environments
  • Need for reproducible development environments
  • Python virtual environments
  • Python virtual environments
  • Vagrant
  • Docker
  • Discovery 7: Build reproduceable automation environments
  • 6 - Introducing HTTP Network APIs
  • API Overview
  • HTTP-Based APIs
  • RESTful APIs vs. Non-RESTful APIs
  • HTTP-Based authentication
  • Postman
  • Discovery 8: Use HTTP-Based APIs with Postman
  • Steaming telemetry
  • 7 - Reviewing Data Formats and Data Encoding
  • JavaScript object notation
  • Extensible markup language
  • gRPC and Protobuf
  • YAML data serialization standard
  • Discovery 9: Explore YAML and JSON data
  • 8 - Using Python Requests to Automate HTTP-Based APIs
  • Python requests overview
  • HTTP authentication
  • Discovery 10: Consume HTTP-Based APIs using the Python requests module
  • 9 - Exploring YANG
  • Introduction to YANG
  • Types of YANG models
  • 10 - Using YANG Tools
  • YANG tool types
  • Pyang
  • YANG Explorer
  • Discovery 11: Explore YANG tools
  • 11 - Automating Model-Driven APIs with Python
  • NETCONF overview
  • Python ncclient
  • Discovery 12: Explore RESTCONF with Python
  • Discovery 13: Explore NETCONF with Python
  • 12 - Introducing Ansible for Network Automation
  • Configuration management tools
  • Introduction to Ansible
  • Ansible inventory file
  • Use the Cisco IOS core configuration module
  • Ansible documentation
  • Discovery 14: Configure network devices with Ansible
  • Gather Cisco IOS device facts
  • Use the Cisco IOS core command module
  • Discovery 15: Collect network data with Ansible
  • 13 - Templating Configurations with Jinja2
  • Jinja2 overview
  • Basic YAML
  • Configuration templating with Ansible
  • Discovery 16: Build and deploy configurations with Ansible
  • Actual course outline may vary depending on offering center. Contact your sales representative for more information.

    Who is it For?

    Target Audience

  • Customer Engineers
  • Systems Engineer
  • Network Engineer
  • Other Prerequisites

    The knowledge and skills that you are expected to have before attending this course are:
  • Routing and switching including OSPF, BGP, and basic configuration features such as interfaces, SNMP, and static routes
  • Fundamentals of Python data structures and programming constructs such as loops, conditionals, and classes (3-6 months of experiences in writing Python scripts
  • Basic Linux commands for navigating the file system and executing scripts
  • Knowledge of working with text editors
  • Cisco® Introducing Automation for Cisco® Solutions  v1.0 (CSAU)

    Course Length : 2 Days

    There are currently no scheduled dates for this course. Please contact us for more information.

     Interested in On-Demand Training?

    Need Help Picking the Right Course? Give us a call! 800.201.0555