- COURSE
Arista Academy Automation Foundations Track
Price: $3,995.00
Duration: 5 days
Certification:
Exam:
Continuing Education Credits:
Learning Credits:
Arista Automation increases proficiency both conceptually and operationally for the deployment, operation, and management of various Arista EOS based networks using several tools such as CloudVision, Python with EOS API’s and the open-source Arista AVD (Architect, Validate, Deploy). Arista AVD uses Arista best practices to generate configurations for various types of environments and topologies, including Layer 2 Leaf/Spine, Layer 3 Leaf/Spine with EVPN/VXLAN, and MPLS. Candidates will learn how to build data models, deploy configurations through Arista CloudVision, and perform post-deployment validations using the AVD validation tools.
Upcoming Class Dates and Times
All Sunset Learning courses are guaranteed to run
- Please Contact Us to request a class date or speak with someone about scheduling options.
Course Outline and Details
Prerequisites
- Knowledge and/or experience with Ansible, Python and Jinja would be beneficial
- Understanding of Arista Layer 2 and L3 network designs
- Experience with Arista CloudVision is beneficial
Target Audience
- Individuals with mid-to-high level experience as network engineers with prior exposure to Python and Ansible Basics.
Course Objectives
- Learn basics of automation using CloudVision, Ansible and Python
- Automating EOS and CloudVision with Ansible
- Automate through various methods such as Python & EOS API’s, AVD with GitHub, and PyAVD (AVD with Python)
- Integrate Arista's CloudVision to automate and orchestrate network operations
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