Arista Networking – Automation Foundations (AUTOFDN) – Outline

Detailed Course Outline

Automation & NetOps foundations

Network automation foundations

  • Introduction to network automation
  • Approaches to network automation
  • History of network automation

Core principles of network automation

  • Software development and network automation
  • Network automation concepts and practices
Automation tools

Automation tools overview

  • Automation tools and data formats
  • Programmability IDEs overview

VS Code development environment

  • Introduction to Visual Studio Code
  • VS Code themes, fonts and icons
  • Customizing VS Code layout
  • VS Code extensions
  • VS Code debugger
  • Reviewing VS Code
  • LAB – Explore VS Code IDE

Git version control

  • Understanding Git version control
  • Git demo
  • GitHub demo
  • LAB – Working with Git
  • LAB – Collaborate using GitHub

Python fundamentals

  • Why Python matters for network automation
  • Understanding Python variables
  • Advanced Python concepts
  • Working with Python variables, lists and dictionaries
  • Introduction to Python and eAPI
  • Getting information from EOS devices
  • Parsing CLI output with Python
  • Parsing JSON with python
  • LAB – Python fundamentals
  • LAB – Understanding structured data
Understanding APIs

Application programmatic interfaces - APIs

  • APIs in network automation
  • The history of HTTP and its role in networking
  • Understanding HTTP messages
  • HTTP authentication

Securing APIs with PKI

  • TLS and SSL overview
  • TLK certificates and trust chains
  • Why use certificates in network automation
  • Creating and installing TLS certificates
  • Client TLS certificates for API authentication

Using REST API clients

  • Introduction to EchoAPI
  • REST API client requests and responses
  • HTTP Auth with REST API client
  • Organizing requests in REST API clients
  • REST API client scripts
  • LAB – Using REST API clients
Ansible fundamentals

Getting started with Ansible

  • Introduction to Ansible
  • Ansible use cases

Building automation with Ansible

  • Understanding Ansible files
  • Working with Ansible variables
  • Ansible variables demo
  • Using Ansible debug
  • Ansible debug demo
  • LAB – Ansible fundamentals
CloudVision fundamentals

CloudVision overview

  • Introduction to CloudVision
  • CloudVision deployment
  • CloudVision and device communication

CloudVision high availability

  • CloudVision cluster redundancy
  • CloudVision dual cluster deployment
  • CloudVision backups

CloudVision portal setup and operations

  • CloudVision multi-node OVA installation demo
  • Upgrading CloudVision demo
  • CloudVision backup and restore demo
  • Getting familiar with CloudVision interface demo
  • LAB – Navigating CloudVision

CloudVision network provisioning

  • CloudVision device management overview
  • Legacy provisioning overview and demo
  • MLAG configuration demo
  • CloudVision snapshots
  • LAB – Configlets
  • LAB - Snapshots

Change control

  • CloudVision change control overview
  • Change control demo
  • LAB – Change control

Automated device onboarding in CloudVision

  • Zero touch provisioning and replacement
  • ZTP demo – deploying vEOS to CloudVision
  • ZTR demo – replacing a device in CloudVision

CloudVision Studios

  • Configuration management with Studios
  • CloudVision tags
  • Inventory and topology Studio overview
  • Inventory and topology Studio demo
  • Interface configuration and Studio demo
  • Date and time Studio overview
  • Date and time Studio demo
  • Postcard telemetry Studio overview
  • Mirroring Studio overview
  • Authentication Studio overview
  • Authentication Studio demo
  • Management connectivity Studio demo
  • LAB – Using Studios
  • LAB – Clean up Studios

Working with static config Studios

  • Static configuration Studio overview
  • Adding devices to CloudVision Studios inventory
  • Using static configuration Studio
  • Migrating legacy configlets to Studios
  • LAB – Static configuration Studio

Software management with CloudVision

  • Software management overview
  • Software image management demo

CloudVision telemetry

  • Modern network telemetry with CloudVision
  • Telemetry use cases in CloudVision
  • Compliance overview

CloudVision monitoring overview

  • CloudVision dashboards
  • CloudVision events
  • CloudVision topology overview
  • Topology icons and settings
  • CloudVision topology tags

AQL and NetSQL

  • Querying NetDB and NetSQL
  • Querying ARP entries using AQL notebook and dashboards
  • Querying BGP sessions using AQL notebook and dashboards
  • Querying device state and software versions using NetSQL
  • LAB – Dashboards and events
  • LAB - Topology
Using Ansible and Jinja

Network automation with Jinja

  • Introduction to Jinja
  • Jinja file layout
  • Jinja variable files
  • Building and organizing data models
  • Building and applying configurations with Ansible and CloudVision

Building and deploying configurations with Jinja

  • Why Jinja – manual configuration challenges
  • Setting up Jinja and building your first template in Ansible
  • Building the Jinja data model and generating underlay contigs
  • Upload and deploy Jinja configs through CloudVision
  • Deploying configs directly with eAPI and Jinja
  • Deploying Jinja templates via CloudVision configlets
  • LAB – Automating configuration with Ansible and Jinja