Skip to main Content

Introducing Automation for Cisco Solutions

  • Course Code CSAU
  • Days Access 180 days
  • Version 1.2

Elearning (Self-paced) Price

Please call

Request Group Training Add to Cart

Course Delivery

This course is available in the following formats:

  • Company Event

    Event at company

  • Elearning (Self-paced)

    Self paced electronic learning

  • Public Classroom

    Traditional Classroom Learning

  • Virtual Learning

    Learning that is virtual

Request this course in a different delivery format.

Course Overview

Top

The Introducing Automation for Cisco Solutions (CSAU)  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.

There are no exams currently aligned to this course, the course does however provide foundational knowledge that can help you prepare for several professional-level automation courses and exams:

This course is worth 16 Continuing Education Credits

Target Audience

Top

Engineers looking to gain a broad overview of the skills required to become a next-generation engineer with the ability to program and automate the networks of the future

Course Objectives

Top

After completing 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 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 them
  • Build Jinja2 templates and YAM: ata Structures to generate desired state cofigurations

Course Content

Top

Examining Network Management and Operations

  • Traditional Network Management
  • Network Automation and Programmability
  • Network Automation Use Cases
  • Multidomain Network Automation

Exploring Software Development Methodologies

  • Impact of Software
  • Waterfall Development Process
  • Agile Methodology

Using Python for Network Automation

  • Python Fundamentals
  • Network Libraries
  • Python Package Management
  • Netmiko
  • Inside Python Modules

Describing NetDevOps: DevOps for Networking

  • Development and Operations
  • Exploring DevOps Tools
  • Git Fundamentals
  • Git Branches
  • Merge Conflicts
  • Continuous Integration

Managing Automation Development Environments

  • Need for Reproducible Development Environments
  • Python Virtual Environments
  • Vagrant
  • Docker

Introducing HTTP Network APIs

  • API Overview
  • HTTP-Based APIs
  • RESTful APIs vs Non-RESTful APIs
  • HTTP-Based Authentication
  • Postman
  • Streaming Telemetry

Reviewing Data Formats and Data Encoding

  • JavaScript Object Notation
  • Extensible Markup Language
  • gRPC and Protobuf
  • YAML Data Serialization Standard

Using Python Requests to Automate HTTP-Based APIs

  • Python Requests Overview
  • HTTP Authentication

Exploring YANG

  • Introduction to YANG
  • Types of YANG Models

Using YANG Tools

  • YANG Tool Types
  • Pyang
  • YANG Explorer

Automating Model-Driven APIs with Python

  • NETCONF Overview
  • Python ncclient
  • RESTCONF Overview

Introducing Ansible for Network Automation

  • Configuration Management Tools
  • Introduction to Ansibile
  • Ansible Inventory File
  • Use the Cisco IOS Core Configuration Module
  • Ansible Documentation
  • Gather Cisco IOS Device Facts
  • Use the Cisco IOS Core Command Module

Templating Configurations with Jinja2

  • Jinja2 Overview
  • Basic YAML
  • Configuartion Templating with Ansible

Labs

  • Discovery Lab 1: Use Network Automation Scripts
  • Discovery Lab 2: Enforce Python Fundamentals on the Interactive Interpreter
  • Discovery Lab 3: Automate Networks with Netmiko
  • Discovery Lab 4: Use the Git Version-Control System and Collaborate on an Internal Project
  • Discovery Lab 5: Build Reproduceable Automation Environments
  • Discovery Lab 6: Use HTTP-Based APIs with Postman
  • Discovery Lab 7: Explore YAML and JSON Data
  • Discovery Lab 8: Consume HTTP-Based APIs with Python Requests
  • Discovery Lab 9: Explore YANG Tools
  • Discovery Lab 10: Explore RESTCONF with Python
  • Discovery Lab 11: Explore NETCONF with Python
  • Discovery Lab 12: Configure Network Devices with Ansible
  • Discovery Lab 13: Collect Network Data with Ansible
  • Discovery Lab 14: Build and Deploy Configurations with Ansible

Course Prerequisites

Top

Attendees should meet the following prerequisites:

  • 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
Recommended prerequisites:

Test Certification

Top

Recommended as preparation for the following exams:

  • There are no exams currently aligned to this course