
Paths
Mastering Cisco DevNet Application Design and Network Automation Techniques
These courses cover the knowledge you’ll need to begin developing applications using Cisco Core platforms and APIs. The content here will give you the foundation you need in... Read more
What you will learn
- Integrating software development and Cisco DevNet
- Consuming Cisco APIs
- Understanding Application DevOps
- Managing Cisco Networks via Infrastructure as Code
- Enhancing applications using Cisco DevNet
- Managing Cisco Products using advanced API-based methods
- Deploying network configuration management and telemetry solutions
- Automating networks with Ansible
- Automating networks with Python
Pre-requisites
You should be familiar with software development as well as Python programming.
Courses
These courses cover the knowledge you’ll need to begin developing applications using Cisco Core platforms and APIs. The content here will give you the foundation you need in network automation and programmability you’ll need before diving into a specialty area within the network automation world. You’ll also learn how to automate networks using some key examples well known throughout the networking world, Ansible and Python.
Assessing and Enhancing Applications Using Cisco DevNet Techniques
2h 25m
Description
Writing apps is easy. Writing good apps is hard. Writing apps that meet business requirements and follow the right architectural patterns is really hard. In this course, Assessing and Enhancing Applications Using Cisco DevNet Techniques, you will gain the ability to evaluate applications based on a variety of common factors and make design recommendations as a result. First, you will learn how to integrate remote databases into your existing apps. This course specifically demonstrates using MySQL and sqlite on a pre-existing CRM app from another course. Next, you will discover how to add a variety of security enhancements, such as SSL certificates and CSRF protection. Finally, you will explore how to deploy continuous integration (CI) using Travis and continuous deployment (CD) using Kubernetes. When you’re finished with this course, you will have the skills and knowledge to build better apps needed to meet your real-life business requirements.
Table of contents
- Course Overview
- Evaluating the Globomantics CRM Application
- Adding Remote Database and SSL Support
- Updating CI Tests and Integrating Static Code Analysis
- Operating and Troubleshooting a CI Pipeline
- Implementing Basic Web Application Security
- Leveraging Kubernetes for Continuous Deployment
Managing Cisco Products Using Advanced API-based Methods
2h 42m
Description
Even skilled developers have to overcome learning barriers when interacting with new product APIs. In this course, Managing Cisco Products Using Advanced API-based Methods, you will gain the ability to write client-side Python code to perform common operations on a variety of Cisco products. First, you will learn some of the most common HTTP optimizations, such as traversing pages, complying with rate limits, and handling API timeouts/errors. Next, you will dig into a wide variety of Cisco products to perform an equally diverse set of tasks. Some examples include consuming location data from Cisco Meraki, collecting client health from DNA Center, managing Firepower network objects, building an interactive Webex Teams Chat Bot, and many more. Finally, you will explore peripheral topics like HTTP cache optimization and Docker container hosting on Cisco networking products. When you are finished with this course, you will have the skills and knowledge of Cisco API interaction needed to maximize value from the Cisco equipment deployed in your workplace.
Table of contents
- Course Overview
- Introducing API Optimizations and the Cisco Meraki APIs
- Collecting Client Health Details from Cisco DNA Center
- Working with Cisco UCS Manager and Intersight APIs
- Managing Firewall Policies and Chat Bots
- Optimizing Content Delivery and Hosting Location
Deploying Network Configuration Management and Telemetry Solutions
2h 38m
Description
If you run a large network and want to introduce automation, but aren't quite sure what tools or strategies to try, look no further. In this course, Deploying Network Configuration Management and Telemetry Solutions, you will learn foundational knowledge of infrastructure as code with many real-life examples and interactive challenges. First, you will improve your existing YANG/RESTCONF skills by using Python scripts to manage a variety of network features. Next, you will discover the power of RESTCONF combined with Ansible to manage network devices. The course also includes a bit of Puppet to showcase additional alternatives for enabling network automation. Finally, you will explore how to deploy and configure model-driven telemetry using the elastic stack (formerly ELK stack) and dial-in NETCONF connections. When you’re finished with this course, you'll have the skills and knowledge surrounding the tools, processes, and technologies needed to effectively manage large-scale networks using modern programmability techniques.
Table of contents
- Course Overview
- Utilizing RESTCONF to Manage Device Configuration
- Combining RESTCONF and Ansible for Configuration Management
- Managing Cisco NX-OS Using Puppet
- Streaming Model-driven Telemetry Using NETCONF
- Choosing the Right Configuration Management Tool
Automating Networks with Ansible the Right Way
3h 42m
Description
When it comes to automating networks, it's key to utilize Ansible to ensure effective solutions. In this course, Automating Networks with Ansible the Right Way, you will learn foundational knowledge required to manage networks like a professional through programming. First, you will learn about infrastructure as code, both how it works at a technical level and why it matters at a business level. This includes several SSH/CLI-based implementations, which is likely to work on any network device. Next, you will discover a whole new word of modern APIs, such as NETCONF and RESTCONF, and how Ansible can leverage these technologies to simplify network management. Finally, you will explore how to transform your homemade projects into works of art by building quality into your code using a variety of supplementary tools. When you’re finished with this course, you will have the skills and knowledge of Ansible needed to design, implement, operate, and troubleshoot network-based automation solutions in production.
Table of contents
- Course Overview
- Reorienting Ansible for Network Applications
- Building Pretty Good Infrastructure as Code
- Integrating Custom Filters with Ansible
- Constructing Really Good Infrastructure as Code
- Introducing Ansible’s “network-engine” Role
- Leaving the CLI Stone Age: Automating with APIs
- Exploring New Ansible Features
- Writing Production-grade Ansible Playbooks
Automating Networks with Python
3h 49m
Description
Many want to automate their production networks but simply don't know how. In this course, Automating Networks with Python, you will learn foundational knowledge of/gain the ability to overcome this challenge. First, you will learn how to collect information from, and make updates to, network devices using legacy SSH command-line methods. This includes diving into tools like Paramiko, Netmiko, and NAPALM. Next, you will discover how to write custom parsers for more advanced CLI-based automation, to include unit testing with pytest. Finally, you will explore how to use modern APIs and their supporting technologies, including NETCONF, RESTCONF, and YANG. When you’re finished with this course, you will have the skills and knowledge of automated network management needed to design, implement, and maintain professional-grade infrastructure as code solutions for your business.
Table of contents
- Course Overview
- Reorienting Python for Network Applications
- Automating Networks with Paramiko and Netmiko
- Responsibly Parsing Text Using Python
- Abstracting Network Automation Tasks with NAPALM
- Orchestrating Complex Processes with Nornir
- Advancing beyond SSH: Automating with APIs
- Writing Production-grade Python Code