Scheda corso
NovaNext Training / Cisco / Devnet and Automation / Introducing Automation for Cisco Solutions - (Digital Library)

Introducing Automation for Cisco Solutions - (Digital Library)

Codice
CSAU - EL
Durata
180 Giorni
Prezzo
250,00 € (iva escl.)
Lingua
Inglese
Continuing Education Credit
12
Modalità
e-Learning
* Il prezzo potrebbe differire in base al cambio del dollaro
       

 

Schedulazione
Luogo Data Iscrizione
A Richiesta

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.

 

Prerequisiti

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:

·       CCNA - Implementing and Administering Cisco Solutions

·       DNAPUC - Programming Use Cases for Cisco Digital Network Architecture

 

Obiettivi

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
  • 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
  • Describe the functionality of available Cisco Ansible modules and integrations
  • Comprehend the breadth and depth of APIs across Cisco technologies and the value APIs provide to enhanced network automations

 

Destinatari

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

 

Contenuti

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

  • Use Network Automation Scripts
  • Enforce Python Fundamentals on the Interactive Interpreter
  • Automate Networks with Netmiko
  • Troubleshoot Python Scripts
  • Use the Git Version-Control System
  • 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
  • Explore Ansible Documentation