

NetDevOps Live! is a weekly webinar series from DevNet where anything related to network automation, programmability, and NetDevOps is on the table and fair game for discussion.
Webinars run live at 11am Eastern on Tuesday's every week during the season and are edited and make available in video on-demand shortly after the live event.
Join the discussion in the NetDevOps Live! Webex Teams Room
Jump to...
Season 3 | Season 2 | Season 1For many, Ansible was their introduction to network automation and it continues to be a go-to choice for engineers and organizations around the world. Hank will be joined by Andrius Benokraitis and Sean Cavanaugh from Ansible to learn what is new and exciting, and what we have to look forward to!
Code Exchange Challenge
Build an Ansible playbook or role that tackles your most common configuration challenge.
Example: Configure standard host port configurations for printers, access points, workstations, servers, etc
Submit your code (or explore examples) on Code Exchange
What's new with Ansible Network Automation
Talk Desciption
For many, Ansible was their introduction to network automation and it continues to be a go-to choice for engineers and organizations around the world. Hank will be joined by Andrius Benokraitis and Sean Cavanaugh from Ansible to learn what is new and exciting, and what we have to look forward to!
Links and Resources
Slides and Code
Documentation and DevNet Pages
Learning Labs
-
Introduction to Ansible
Introduction to Ansbile and ACI
Introduction to Ansible for IOS XE Network Automation
Cisco SD-WAN with Ansible
DevNet Sandboxes
So you've worked out how to git clone, add, and push. That's awesome, but there's more to network automation workflows than that. Enter GitLab, a popular tool for software developers looking to bring sanity to their collaboration and code pipelines. Join Hank and Brad Downey from GitLab to learn how you can supercharge your projects with Issues, Wikis, CICD pipelines, Artifacts, and of course Code!
Code Exchange Challenge
Find an interesting project on Code Exchange and try it out. Bonus points, send feedback to the owner!
Example: Start by exploring the Python Networking Category !
Submit your code (or explore examples) on Code Exchange
Power Your NetDevOps Workflows with GitLab
Talk Desciption
So you've worked out how to git clone, add, and push. That's awesome, but there's more to network automation workflows than that. Enter GitLab, a popular tool for software developers looking to bring sanity to their collaboration and code pipelines. Join Hank and Brad Downey from GitLab to learn how you can supercharge your projects with Issues, Wikis, CICD pipelines, Artifacts, and of course Code!
Links and Resources
Slides and Code
Documentation and DevNet Pages
-
GitLab User Documentation
GitLab Free Trial
Creating your own Private Group on GitLab
How Infrastructure Teams use GitLab and Terraform for GitOps
Let's git started together!
GitOps Series - The Infrastructure
Working 9 to 5 as a NetDevOps Engineer (Cisco Live session with Hank)
Learning Labs
DevNet Sandboxes
What is the last thought every engineer has before pushing that configuration change? "Gee, I sure hope this works 🤞..." With Batfish you can stop relying on HOPE and push changes with confidence because Batfish KNOWS. In this episode, Hank is joined by Samir Parikh from Intentionet, the team behind the open source project that uses MATH to model network policy configurations, and lets engineers insure that the desired intent is met before deploy time.
Code Exchange Challenge
Let’s go Fishing! Write a network validation test using Batfish.
Example: Verify that Access Control Lists are implementing the policy you actually want!
Submit your code (or explore examples) on Code Exchange
Fishing for Network Health with Batfish
Talk Desciption
What is the last thought every engineer has before pushing that configuration change? "Gee, I sure hope this works 🤞..." With Batfish you can stop relying on HOPE and push changes with confidence because Batfish KNOWS. In this episode, Hank is joined by Samir Parikh from Intentionet, the team behind the open source project that uses MATH to model network policy configurations, and lets engineers insure that the desired intent is met before deploy time.
Links and Resources
Slides and Code
Documentation and DevNet Pages
-
Batfish Homepage
Batfish Documentation on Read the Docs
Video on Batfish
Join Batfish Slack
Learn about Batfish Enterprise on AWS
Learning Labs
DevNet Sandboxes
I've no doubt you've heard of their tools, and likely you've heard the name HashiCorp. But did you know that the company behind Terraform, Vagrant, Consul, Vault, and so many other foundations of cloud native development can also help NetDevOps teams modernize their tooling? In this episode, Hank brings previous NetDevOps Live! presenter Kevin Corbin to share what he's been up to since joining HashiCorp's network automation team!
Code Exchange Challenge
Use Terraform with the DevNet ACI Always On Sandbox to Configure a Tenant and Application Profile
Example: You know, everyone knows it, but can you "Infrastructure as Code" the much loved Web/App/Data 3 Tier Architecture?
Submit your code (or explore examples) on Code Exchange
HashiCorp Brings a Cloud Operating Model to Network Engineers
Talk Desciption
I've no doubt you've heard of their tools, and likely you've heard the name HashiCorp. But did you know that the company behind Terraform, Vagrant, Consul, Vault, and so many other foundations of cloud native development can also help NetDevOps teams modernize their tooling? In this episode, Hank brings previous NetDevOps Live! presenter Kevin Corbin to share what he's been up to since joining HashiCorp's network automation team!
Links and Resources
Slides and Code
Documentation and DevNet Pages
-
Terraform Documentation
Vault Documentation
Consul Documentation
Nomad Documentation
Vagrant Documentation
Learning Labs
DevNet Sandboxes
Postman has been a supporting character in so many network automation lessons and presentations, but today it's the star of the show. Network engineers world-wide are leveraging REST APIs to communicate with devices, controllers, management systems, and other applications. Postman can be your cockpit for exploring, storing, sharing, and manipultating these APIs. Join Hank and Kevin Swiber from Postman to learn how to supercharge your REST API skillz!
Code Exchange Challenge
Pick your favorite Cisco REST API and build and share a Postman Collection that authenticates, GETs, POSTs, and DELETEs!
Example: Go for DNA Center, ACI, vManage! So many options
Submit your code (or explore examples) on Code Exchange
Give your Network a REST with Postman
Talk Desciption
Postman has been a supporting character in so many network automation lessons and presentations, but today it's the star of the show. Network engineers world-wide are leveraging REST APIs to communicate with devices, controllers, management systems, and other applications. Postman can be your cockpit for exploring, storing, sharing, and manipultating these APIs. Join Hank and Kevin Swiber from Postman to learn how to supercharge your REST API skillz!
Links and Resources
Slides and Code
Documentation and DevNet Pages
-
New DevNet Postman Collection Makes Using APIs Easier
Postman Community
ChaiJS Testing Library integrated with the Postman Sandbox used for tests
Mozilla HTTP Tutorial
Learning Labs
-
Network Programmability Basics Programming Fundamentals (Video)
DevNet Learning Lab: Programming Fundamentals
Postman Learning Center
Learning JavaScript and Node.js with NodeSchool
DevNet Sandboxes
Who would have thought IP Address Management would be one of the hottest topics in network automation? If anyone did, it was Jermey Stretch. You'll have to pardon Hank if he's a bit star struck on this one, because not only is Jermey leading the team behind NetBox, he's also the creater of the networking cheatsheets that have helped many of us learn networking fundamentals. Whether you've been using NetBox for years, or never heard of it before, you'll want to join this episode to learn why Source of Truth MUST be a key to your network automation strategy.
Code Exchange Challenge
Use NetBox as a Source of Truth in an automation project. Use it to drive configuration, or verify it. Your call!
Example: Check to see if interface descriptions configured on a switch match what’s listed in NetBox
Submit your code (or explore examples) on Code Exchange
The Truth! Your Network WILL Handle the Truth with NetBox
Talk Desciption
Who would have thought IP Address Management would be one of the hottest topics in network automation? If anyone did, it was Jermey Stretch. You'll have to pardon Hank if he's a bit star struck on this one, because not only is Jermey leading the team behind NetBox, he's also the creater of the networking cheatsheets that have helped many of us learn networking fundamentals. Whether you've been using NetBox for years, or never heard of it before, you'll want to join this episode to learn why Source of Truth MUST be a key to your network automation strategy.
Links and Resources
Slides and Code
Documentation and DevNet Pages
-
NetBox Source Code
NetBox Documentation
Discuss NetBox on Slack with Network to Code
Some Projects by the NetBox Community
Community Sourced Device Type Library
Learning Labs
DevNet Sandboxes
Sure.. you've figured out how to up your game in network configuration, but what are you doing to modernize your network monitoring and logging? I bet you're still stuck in the stone age, stock piling syslog like a dragon hordes gold, hoping you never need look through it to find that particular gem of good information. Join Hank on his quest through the Mines of Local7 guided by the Wise Wizard of ELK, George Kobar!
Code Exchange Challenge
Event driven something! Monitor syslog for some key message and take an action based on it.
Example: Every time the configuration changes on a device send yourself a chat message!
Submit your code (or explore examples) on Code Exchange
Logging and Back Again - A Network Engineers Journey with ELK
Talk Desciption
Sure.. you've figured out how to up your game in network configuration, but what are you doing to modernize your network monitoring and logging? I bet you're still stuck in the stone age, stock piling syslog like a dragon hordes gold, hoping you never need look through it to find that particular gem of good information. Join Hank on his quest through the Mines of Local7 guided by the Wise Wizard of ELK, George Kobar!
Links and Resources
Slides and Code
Documentation and DevNet Pages
-
Elastic Homepage
Deploy Elasticsearch Docker
Deploy Kibana with Docker
Demo Configuration Files (work in progress)
Elastic YouTube Channel
Learning Labs
DevNet Sandboxes
Most network engineers didn't start as developers, we kinda just learned as we went, hacking together something that "worked". In this session you'll learn simple coding skills and techniques that you can use today to make your code something you'll be proud to share and show off.
Code Exchange Challenge
Leverage one or more of the suggestions shown in an active network automation project of yours and submit to Code Exchange!
Example: Move your functions into modules (ie other files) and import them into main script for better modularity.
Submit your code (or explore examples) on Code Exchange
Python Skills and Techniques for Network Engineers, Part 1
Talk Desciption
You're writing Python code to solve your network configuration and operational challenges. You've mastered libraries like Netmiko, ncclient, and requests. You can manipulate XML, JSON and YAML like a pro. You've saved yoruself and your organization hours with your work, but you're still a bit embarrased by your code... Dont' worry, you are not alone.
Most network engineers didn't start as developers, we kinda just learned as we went, hacking together something that "worked". In this session you'll learn simple coding skills and techniques that you can use today to make your code something you'll be proud to share and show off.
Links and Resources
Slides and Code
Documentation and DevNet Pages
Learning Labs
-
Development Environment Setup
Coding Fundamentals
Model Driven Programmability (YANG/NETCONF/RESTCONF)
DevNet Sandboxes
Network automation, like any new skill should be taken slow. Crawl before you walk, then finally start running. In this talk we'll consider what types of challenges and problems are good candidates for early automation projects.
Code Exchange Challenge
Hold a whiteboard session for your team. Pick one task that involves only reading information, and test it using Genie CLI, Ansible, or the tool of your choice.
Example: Back up configs from your IOS XE devices to a local file using Ansible.
Submit your code (or explore examples) on Code Exchange
Picking your First Network Automation Project
Talk Desciption
You're convinced, network automation is not only the future, it's YOUR future. You've taken some labs, read some stuff, even watched some videos and are ready to tackle your first project, but what should it be?
Network automation, like any new skill should be taken slow. Crawl before you walk, then finally start running. In this talk we'll consider what types of challenges and problems are good candidates for early automation projects.
Links and Resources
Slides and Code
Documentation and DevNet Pages
Learning Labs
DevNet Sandboxes
There is more to network automation than pushing out configuration snippets. Network automation skills can help solve day to day operational challenges too.
Code Exchange Challenge
Try using click to build command line applications for your Python scripts
Example: Use echo for printing text, build standard options which will take a string as input
Submit your code (or explore examples) on Code Exchange
Solving Operational Challenges with Network Automation
Talk Desciption
There is more to network automation than pushing out configuration snippets. Network automation skills can help solve day to day operational challenges too. Gathering usage details and statistics from every device in your network. Verifing that some key configuraiton bit is correct across the network. Helping make troubleshooting easier, faster, and more consistent.
In this talk we'll explore these ideas and more, as well as provide a handful of code examples you can use and build from yourself!
Links and Resources
Slides and Code
Documentation and DevNet Pages
Learning Labs
DevNet Sandboxes
So you're automating your network, that's great. But are you finding yourself writing the same code over and over? Imagine a single OSPF template for any type of area, be it normal or stubby. Learn how to make the dream a reality with tools like TextFSM and Jinja!
Code Exchange Challenge
Take a common configuration task and create a reusable CLI template. Bonus: Use TextFSM to validate the change!
Example: Configuring SNMP community strings or interface configuration.
Submit your code (or explore examples) on Code Exchange
Embrace the DRY Principal with Network Configuration Templates
Talk Desciption
So you're automating your network, that's great. But are you finding yourself writing the same code over and over? Or building the same config snippets every other week? Wouldn’t it be great if you could create powerful, re-usable templates that you could use over?
Imagine a single OSPF template for any type of area, be it normal or stubby. Or a template that configured baseline TACACS, NTP, DNS, and logging no matter the region?
Learn how to make the dream a reality with tools like TextFSM and Jinja!
Links and Resources
Slides and Code
Documentation and DevNet Pages
-
Python for Network Automation on DevNet
Jinja2 Documentation
TextFSM Documentation
Network toCode TextFSM Templates
Netmiko and TextFSM Blog by Kirk Byers
RegExr - An online tool to learn, build, and test Regular Expressions
Learning Labs
DevNet Sandboxes
As NetDevOps Engineers we are using our laptops in new and different ways. In this session we'll take a look at 10 of my favorite tips that you can take advantage of yourself.
Code Exchange Challenge
Put together some bash scripts and/or a Makefile for one of your network automation projects to help setup the environment.
Example: Add "make dev" and "make clean" capabilities to your project.
Submit your code (or explore examples) on Code Exchange
Laptop Tips and Tricks for the NetDevOps Engineer
Talk Desciption
As NetDevOps Engineers we are using our laptops in new and different ways. While not becoming full on "application developers", we are starting to bridge the gap some. In my own journey, I have picked up many tips, tricks, and ways of working that have dramatically increased my productivity as I work each and every day.
In this session we'll take a look at 10 of my favorite tips that you can take advantage of yourself.
* While most tips will work regardless of operating system, some maybe specific to Windows, MacOS or Linux
Links and Resources
Slides and Code
Documentation and DevNet Pages
Learning Labs
DevNet Sandboxes
Wouldn't it be great if you could configure the network as a single wholistic item, rather than adding that VLAN to 500 individual switches? With Network Services, you can do just that, and NSO provides an excellent platform for designing and developing these services with ease.
Code Exchange Challenge
Build a simple service using the VLAN sample code as an example.
Example: Create a service to manage NTP or SNMP settings on IOS and NX-OS devices.
Submit your code (or explore examples) on Code Exchange
Designing and Developing Network Services with NSO
Talk Desciption
Have you ever noticed that we think of "the network", but we configure "devices"? Wouldn't it be great if you could configure the network as a single wholistic item, rather than adding that VLAN to 500 individual switches?
With Network Services, you can do just that, and NSO provides an excellent platform for designing and developing these services with ease. In this talk you'll see just how to get started today with resources avaiable for FREE on DevNet!
Links and Resources
Slides and Code
Documentation and DevNet Pages
Learning Labs
DevNet Sandboxes
In this session we will see how you can peel back the covers on Ansible and explore Roles and even look at the underlying Python code to see how you can make it more better.
Code Exchange Challenge
Take what you’ve seen today and apply to an active project. Then submit it to Code Exchange!
Example: Create an Ansible Module for a playbook task that currently uses the shell or command modules. OR Create an Ansible Role for a task or set of tasks common to several playbooks.
Submit your code (or explore examples) on Code Exchange
Better Ansible Network Automation with Roles and Custom Modules
Talk Desciption
Ansible is an amazing open source tool for getting started with network configuraiton management. Have you ever noticed how big an complicated your playbooks can get for even basic network configurations? Or have you found something you wanted or needed to do that wasn't included in a module? Or, gasp, a module that didn't quite work as expected?
In this session we will see how you can peel back the covers on Ansible and explore Roles and even look at the underlying Python code to see how you can make it more better.
Links and Resources
Slides and Code
Documentation and DevNet Pages
Learning Labs
DevNet Sandboxes
Do you get a cold sweat whenever your boss asks "Is there something wrong with the network?" Wouldn't it be great if you could know for sure if it was?
Code Exchange Challenge
Write your own Network Verifications
Example: Reachability Tests, HSRP Status, BGP/OSPF States, Interface Counts/Counters, Checks for critical routes
Submit your code (or explore examples) on Code Exchange
Is Your Network Working? Guess No More with Python Testing Powered by pyATS
Talk Desciption
Do you get a cold sweat whenever your boss asks "Is there something wrong with the network?" Wouldn't it be great if you could know for sure if it was? As a NetDevOps Engineer writing network test cases will be an important skill, and thankfully Python offers great libraries and frameworks for designing robust test cases for just about anything, including the network.
This session will start with a look at generic test options like PyTest and UnitTest, and then dive into pyATS, the FREE Python test system designed specifically for the network.
Links and Resources
Slides and Code
Documentation and DevNet Pages
Learning Labs
DevNet Sandboxes
Cisco DNA Center Platform - a platform for what? Well network applications of course. What kind of applications might you build? Who is building them? Where can I get them? Can I build my own?
Code Exchange Challenge
Use the SDK (when it comes out) to access information you need.
Example: Build a host finding chat bot!
Submit your code (or explore examples) on Code Exchange
Building Apps with Cisco DNA Center Platform
Talk Desciption
Cisco DNA Center Platform - a platform for what? Well network applications of course. What kind of applications might you build? Who is building them? Where can I get them? Can I build my own?
We'll answer these questions and more in this session, and at the end you'll be ready to power up your own Cisco DNA Center wiht added functionality delivered by apps!
Links and Resources
Slides and Code
Documentation and DevNet Pages
Learning Labs
DevNet Sandboxes
Is automation safe? Like all questions in IT, the answer is it depends. This session will look at strategies you can implement TODAY to make sure your NetDevOps work is done safely.
Code Exchange Challenge
Submit a network automation project to Code Exchange that uses either Environment Variables or a “Vault” model for storing secrets.
Example: Create an src_env.template file that users can use to create a src_env for a lab device. Then read in that data using the os library in your script.
Submit your code (or explore examples) on Code Exchange
Automate Safely, NetDevOps Security Strategies
Talk Desciption
Is automation safe? Like all questions in IT, the answer is it depends. It depends on how you handle your secrets (not the kind you passed in middle school). It depends on how you authenticate your APIs. It depends on who you let talk to your API. It depends on many things.
This session will look at strategies you can implement TODAY to make sure your NetDevOps work is done safely.
Links and Resources
Slides and Code
Documentation and DevNet Pages
-
NETCONF Access Control Model on IOS XE Docs
pyATS/Genie ENV Documentation
Ansible Lookup ENV Documentation
Ansible Vault Documentation
HashiCorp Vault Documentation
Learning Labs
DevNet Sandboxes
So you want to be a NetDevOps Engineer, what does it take to make it? While no one knows the future, what we can do is ask important questions. Join this session for an open and candid discussion with members of the NetDevOps community.
Panelists:
Claudia de Luna
,
Jathan McCollum
,
Jeremy Schulman
Code Exchange Challenge
Just start! Build a bit of interesting code and submit it to Code Exchange to share!
Example: What is your "Hello World" for networking?
Submit your code (or explore examples) on Code Exchange
Becoming a NetDevOps Engineer - A Discussion with the Community
Talk Desciption
So you want to be a NetDevOps Engineer, what does it take to make it? While no one knows the future, what we can do is ask important questions. Questions like what technologies to study -and not study. Or how to lead the transition in your team? Or what job roles in the future will look like? Or even who is getting hired today?
Join this session for an open and candid discussion with members of the NetDevOps community.
Links and Resources
Slides and Code
Documentation and DevNet Pages
Learning Labs
DevNet Sandboxes
One of the most interesting aspects of Software Defined Networking is that ANYONE can build network features. In this talk we'll explore some of the options availalbe on Cisco platforms and see an example of how easy it is to get started yourself.
Code Exchange Challenge
Build a custom show command highlighting details that matter to you!
Example: Create a new version of “show interfaces” that displays the specific details you look for when troubleshooting.
Submit your code (or explore examples) on Code Exchange
Stop Waiting for that Network Feature, Build it Yourself
Talk Desciption
One of the most interesting aspects of Software Defined Networking is that ANYONE can build network features. No longer do you need to wait for a vendor to deliver that capabilitiy you need or want. Networks today offer APIs, application hosting at the edge or on controllers, and many other ways where anyone can build innovation into the network.
In this talk we'll explore some of the options availalbe on Cisco platforms and see an example of how easy it is to get started yourself.
Links and Resources
Slides and Code
Documentation and DevNet Pages
Learning Labs
DevNet Sandboxes
While everyone loves a good mystery, a mysterious network is NEVER a good thing. In this session we'll shine a bright light on the "pipes" that connect containers together.
Code Exchange Challenge
'Containerize' your favorite network automation script for easier portability!
Example: Include a Dockerfile in the repo that describes and installs all necessary Python dependencies.
Submit your code (or explore examples) on Code Exchange
Linux Bridges, IP Tables, and CNI Plug-Ins - A Container Networking Deepdive
Talk Desciption
Containers are everywhere these days. Containers in the cloud, containers in the data center, containers on your laptop. I think there are even containers in containers… but how do they talk to each other? And by talk, we of course mean over the network.
While everyone loves a good mystery, a mysterious network is NEVER a good thing. In this session we'll shine a bright light on the "pipes" that connect all the whales together. Bust out your overalls and explore with us.
Links and Resources
Slides and Code
Documentation and DevNet Pages
-
Docker Networking Documentation
Container Networking Interface (CNI) on GitHub
Cisco ACI CNI Plug-In for Kubernetes Episode
Learning Labs
DevNet Sandboxes
Through the session you'll learn how to leverage the tried and true interfaces of CLI and SNMP to manage your network before we jump up to newer options like NETCONF, RESTCONF and REST APIs. We'll even explore full configuration management solutions and discuss when and how they should fit into your overall automation strategy.
Code Exchange Challenge
Use one or more of the libraries discussed to write a Python script to automate one common networking task.
Example: Compile the MAC and ARP tables from all devices on the network.
Submit your code (or explore examples) on Code Exchange
Useful Python Libraries for Network Engineers
Talk Desciption
Python has quickly become THE language for network automation and programmability due to its combined simplicity and power. Add to that the robust assortment of tools, libraries and modules related to networking available to 'import' and I doubt another language will take over the title anytime soon. In this session we'll explore some of the most useful libraries for network engineers and developers looking to interact with the network from a configuration and operational perspective. Plenty of code will be shown, and all examples will be available to take away and leverage in your own environments.
Through the session you'll learn how to leverage the tried and true interfaces of CLI and SNMP to manage your network before we jump up to newer options like NETCONF, RESTCONF and REST APIs. We'll even explore full configuration management solutions and discuss when and how they should fit into your overall automation strategy.
Links and Resources
Slides and Code
Documentation and DevNet Pages
Learning Labs
-
Development Environment Setup
Coding Fundamentals
Model Driven Programmability (YANG/NETCONF/RESTCONF)
DevNet Sandboxes
Traditionally the Networking Configuration pipeline is anything but automated or 'continuous'. It is a complex maze of forks, bends, off shoots, dead ends, and paths that require special timing, keys, and phases of the moon. In this session learn how available tools can be leveraged to begin building a NetDevOps CICD Pipeline today!
Code Exchange Challenge
Create a sample VIRL topology file and submit to Code Exchange for others to check out.
Example: A Multi-Site DMVPN Network Topology.
Submit your code (or explore examples) on Code Exchange
It's Not a Dream, NetDevOps CICD Pipelines Can Develop, Test, and Deploy Network Configurations Today
Talk Desciption
Continuous Development, or CICD, is all the rage in the software development space because of its ability to allow rapid development, testing and deployment of new applications and features. Traditionally the Networking Configuration pipeline is anything but automated or 'continuous'. It is a complex maze of forks, bends, off shoots, dead ends, and paths that require special timing, keys, and phases of the moon. The current network configuration pipeline needs to go, and be completely replaced in NetDevOps. Proposed network changes will be picked up by build servers which manage the progression from 'Development' to 'Test' and into 'Production'. There is much needed to make this dream a reality, but we can get started today. In this session learn how available tools can be leveraged to begin building a NetDevOps CICD Pipeline today!
Links and Resources
Slides and Code
Documentation and DevNet Pages
-
NetDevOps on DevNet
pyATS on DevNet
Cisco NSO on DevNet
Cisco VIRL Homepage
virlutils on Code Exchange
Learning Labs
-
Jumpstart Your NetDevOps Journey Learning Track
Introduction to NetDevOps CICD Pipelines Module
Introduction to Ansible on IOS XE
DevNet Sandboxes
In this session, we'll explore NETCONF, the widely available IETF standard for NETwork CONFiguration, and the YANG models that are providing consistent representations of concepts like "Interfaces" and "Access Control Lists."
Code Exchange Challenge
Use NETCONF to configure basic routing using your favorite protocol.
Example: Hint: Configure the device with CLI the first time, and use
m.get_config('running')to retrieve the NETCONF configuration to build a template.
Submit your code (or explore examples) on Code Exchange
Deep Dive into Model Driven Programmability with NETCONF and YANG
Talk Desciption
If you've discovered netmiko and learned how to send and receive CLI commands from your network devices with Python, you're likely wondering "is this the best we have for network programmability?" Thankfully, the future of network automation is not a land of crafting CLI templates and parsing the unstructured clear text output with regular expressions.
In this session, we'll explore NETCONF, the widely available IETF standard for NETwork CONFiguration, and the YANG models that are providing consistent representations of concepts like "Interfaces" and "Access Control Lists." You can think of NETCONF and YANG as the next generation of SNMP and MIBs, and they were built to make network configuration through network orchestration systems and custom scripts an achievable reality for every engineer and organization.
We'll look at how to use these tools to retrieve and edit configurations, explore the operational status of a network device, and how they can be used to provide consistent control and interfacing to multiple network platforms.
Links and Resources
Slides and Code
Documentation and DevNet Pages
Learning Labs
DevNet Sandboxes
In this session we will explore how the same tools system admins are using to manage servers, cloud and applications can be leveraged in the network to foster a DevOps culture across silos in the organization.
Code Exchange Challenge
Create an Ansible Playbook that ensures some network feature is configured as intended.
Example: SNMP, NTP, TACACS, VLANs, Routing
Submit your code (or explore examples) on Code Exchange
DevOps style configuration management for the network with Open Source
Talk Desciption
Configuration management is not just about backing up configs into source control. Many enterprises are leveraging Open Source tools like Ansible, Salt, Chef or Puppet to manage the configurations across their servers and application systems, and looking to extend the use into the network. The goal is to interact with network devices via abstraction and automated framework and avoid the pitfalls of "Finger Defined Networking."
Scripts are a great first step to automation, but they require maintenance and strong programming skills. Configuration Management tools like Ansible are powerful automation and orchestration frameworks maintained by the Open Source community. With them you provide the configuration "intent" in a simple and consistent fashion, and the details of implementation are handled by the tooling. In this session we will explore how the same tools system admins are using to manage servers, cloud and applications can be leveraged in the network to foster a DevOps culture across silos in the organization.
Links and Resources
Slides and Code
Documentation and DevNet Pages
Learning Labs
-
Development Environment Setup
Introduction to Ansible
Introduction to Ansible for IOS XE Configuration Management
DevNet Sandboxes
Ever wish you could quickly see what changed between "today's config" and "yesterday's?" Or have you ever wondered "Who made that change that broke the network?" What about wanting to explore and test some new protocol configuration in a "safe" place without impacting your production configs and templates? By using git and treating the "Network as Code," you can easily answer these questions.
Code Exchange Challenge
Open Issues, and Send PRs to sample repository to add some piece of configuration, or fix some error.
Example: Find a repository you’re interested in, open a feature issue, work on the feature and submit a PR
Submit your code (or explore examples) on Code Exchange
What's the big deal about Source Control? Why your network configurations should be in "git"
Talk Desciption
You keep hearing "Network as Code" and "GitHub" are the future of network configurations, but not exactly sure what the big deal is? Interested in the practical benefits of leveraging distributed version control (aka "git") for storing and managing your network configurations? Not even sure what "git" is? By the end of this talk you'll "git it."
After breaking down why software developers use version control, we'll run through the basic workflow of using git to propose and track changes. Then we'll see how this wonderful Open Source tool will make your life as a network engineer 128bits worth of better!
Ever wish you could quickly see what changed between "today's config" and "yesterday's?" Or have you ever wondered "Who made that change that broke the network?" What about wanting to explore and test some new protocol configuration in a "safe" place without impacting your production configs and templates? By using git and treating the "Network as Code," you can easily answer these questions.
Links and Resources
Slides and Code
Documentation and DevNet Pages
Learning Labs
DevNet Sandboxes
In this discussion and demo focused session, you'll see how easy it is to bring NSO into an existing network, one that might just look like yours today.
Code Exchange Challenge
Build your own network policies using NSO and netsim.
Example: Add NTP server configuration policy.
Submit your code (or explore examples) on Code Exchange
Introduction to Network Services Orchestrator - the single API and CLI for your network
Talk Desciption
Networks are designed to be distributed systems and we typically configure and operate them as such. Each element has an interface and configuration, and any change must be applied to each individually. But what if there was another way? What if you could interact with your entire network through a single CLI, or even better, a single API? Well, that's exactly what Cisco Network Service Orchestrator (NSO) provides. And to make it even better, NSO can be quickly integrated into existing networks, made up of multiple network platforms, from multiple vendors, including older platforms that lack a "modern interface." This means NSO can provide immediate value to the network you're running today, not just the networks you're building for the future.
In this discussion and demo focused session, you'll see how easy it is to bring NSO into an existing network, one that might just look like yours today. Within just a few minutes, our network will have a complete and comprehensive REST and NETCONF API without any hardware or software updates. And we'll immediately begin using this new programmable orchestration interface to manage ongoing configuration needs, and address any unplanned "cowboy engineering" that might take place.
Links and Resources
Slides and Code
Documentation and DevNet Pages
Learning Labs
DevNet Sandboxes
The ACI CNI Plugin for Kubernetes brings the power of Application Centric Infrastructure to the Docker-container driven infrastructure of Kubernetes. In this session, you'll have a chance to see all of this in action through a guided exploration of an ACI integrated Kubernetes cluster.
Code Exchange Challenge
Deploy a sample application to Kubernetes/ACI with Deployment Isolation. Provide application definition for Kubernetes and ACI.
Example: Find sample applications at https://github.com/kubernetes/examples
Submit your code (or explore examples) on Code Exchange
Exploring the ACI networking plugin for Kubernetes
Talk Desciption
Enterprises all over are embracing Kubernetes as the foundation for their cloud-native, microservice applications. As such, the topic network security for containerized infrastructure comes to mind. The ACI CNI Plugin for Kubernetes brings the power of Application Centric Infrastructure (granular segmentation, robust operational visibility, and unsurpassed network performance) to the Docker-container driven infrastructure of Kubernetes.
In this session, you'll have a chance to see all of this in action through a guided exploration of an ACI integrated Kubernetes cluster. We'll start by looking at how a typical application looks after being deployed to Kubernetes. See each individual container and pod show up within the ACI operational dashboards. Look at how the load balancing and traffic routing is handled within the network by ACI, just like any other application environment. With that understood, we'll enhance the policies applied to the application by segmenting applications by name spaces for better isolation between running applications. But we won't stop there, before we're done we'll have built contracts to explicitly control the flow of traffic between the tiers of the application to ensure business and security policies are applied to containerized applications running within Kubernetes.
Links and Resources
Slides and Code
Documentation and DevNet Pages
-
Deploying Kubernetes in the Enterprise with Cisco ACI - BRKACI-2505
Cisco ACI and Kubernetes Integration Guide
Cisco ACI and OpenShift Integration Guide
Learning Labs
DevNet Sandboxes
pyATS is a free network testing framework from Cisco with Open Source roots. Start by profiling your network to learn what protocols are running, and their current state. Then easily compare state after changes!
Code Exchange Challenge
Write your own Network Verifications
Example: Reachability Tests, HSRP Status, BGP/OSPF States, Interface Counts/Counters, Checks for critical routes
Submit your code (or explore examples) on Code Exchange
Profile, test and verify your network is running smoothly with pyATS
Talk Desciption
For years we have tested networks the same way, with ping. "Can you ping it?" "It's pingable?" "Uh oh... I lost a ping?" All statements you've undoubtedly heard, and said yourself. The problem is, 'ping' doesn't actually tell you much about the state of your network. Ping doesn't tell you if your routing protocols are working as expected. Ping doesn't tell you if you are seeing interfaces flapping. Ping doesn't tell you if you have a memory leak that will cause an outage in the near (or distant) future. Ping is a terrible network test tool...but we have a better one now.
pyATS, or Python Automation Test Systems, is a free network testing framework from Cisco with Open Source roots. With pyATS, you can actually test your network and answer questions like the ones ping failed miserably at. Start by profiling your network to learn what protocols are running, and their current state. With the profile, you now have a baseline of platform state that you can track overtime and monitor for deviations that hint at an underlying problem. Build test cases to run following changes to ensure the network is working before you get the call from the application team. Tests can be as simple as verify count '3' 'ospf neighbors' on device 'core1' . Join this session to learn all about pyATS, and how you can get started today!
Links and Resources
Slides and Code
Documentation and DevNet Pages
Learning Labs
DevNet Sandboxes
In this talk, we'll discuss some of the benefits of direct Python configuration management strategies and then explore the very mature and widely used tool, NAPALM, as well as the new and up-and-coming option Nornir.
Code Exchange Challenge
Create python scripts using Napalm and Nornir.
Example: Create interfaces, routing, NTP configurations or ACL’s, validate your configurations!
Submit your code (or explore examples) on Code Exchange
Managing network configurations with Python automation frameworks NAPALM and Nornir
Talk Desciption
While many engineers and enterprises are looking at tools like Ansible or Puppet to manage network configurations, others find working directly with Python and having access to the full possibilities that it provides a more powerful and flexible solution. In these cases, network automation frameworks like NAPALM and Nornir are excellent tools and choices to explore and use.
In this talk, we'll discuss some of the benefits of direct Python configuration management strategies and then explore the very mature and widely used tool, NAPALM, as well as the new and up-and-coming option Nornir. We'll look at how with very simple and straightforward Python code, you can quickly build powerful solutions to ensure the exact configuration are deployed and operating in your network.
Links and Resources
Slides and Code
Documentation and DevNet Pages
Learning Labs
DevNet Sandboxes
In this talk we will take a look at the northbound REST API that is available for DNA Center Platform. You will learn how to leverage the API Console to explore the APIs.
Code Exchange Challenge
Build a Python script that leverages one of the DNA Center APIs.
Example: Report back on the health of a client.
Submit your code (or explore examples) on Code Exchange
Exploring the Cisco DNA Center platform Northbound API
Talk Desciption
With Cisco DNA Center, enterprises are implementing Intent Based Networking, and driving smarter and more adaptive networks. By defining the application, identify, and security policies within Cisco DNA Center, your network can ensure the intended configurations are applied. And through DNA Assurance, you can check-in on the health of your clients and applications. And with DNA Center Platform, developers have access to APIs to build applications and integrations to meet unique demands and add value.
In this talk we will take a look at the northbound REST API that is available for Cisco DNA Center Platform. You will learn how to leverage the API Console to explore the APIs. Use cases from real customers and partners will be discussed, and code demonstrated that has been developed to tackle them.
Links and Resources
Slides and Code
Documentation and DevNet Pages
Learning Labs
DevNet Sandboxes
In this talk we'll explore Streaming Telemetry, sometimes called Model Driven Telemetry, and why it has become so popular with operations teams today.
Code Exchange Challenge
Try the Streaming Telemetry Sandbox
Example: Using the learning labs and other guides as reference. Create your own collectors for databases you use in your environment.
Submit your code (or explore examples) on Code Exchange
Streaming telemetry: The value of 'realtime' analytics for the network
Talk Desciption
Is your network running hot? Would you know if it was? How quickly would you want to know? We've long leveraged SNMP for tracking the health of our network, but the most often used "pull" model from SNMP results in inefficiencies in transport, and delays and missed information. There are newer strategies for network analytics and monitoring built for the real-time nature and needs for application and platform monitoring that can be leveraged within network platforms today.
In this talk we'll explore Streaming Telemetry, sometimes called Model Driven Telemetry, and why it has become so popular with operations teams today. You'll learn how protocols like gRPC and NETCONF fit into the topic, and where open source platforms like ELK and Grafana fit in. And we'll explore how you can enable this new technology on Cisco platforms and start experimenting with it today.
Links and Resources
Slides and Code
Documentation and DevNet Pages
Learning Labs
DevNet Sandboxes
Have you ever noticed how Google, Facebook, or Amazon seem to "know" what you want before you do? Let's explore how companies use ML/AI within products available today to make things smarter and more intuitive.
Machine Learning and Artificial Intelligence and their role in networking
Talk Desciption
Have you ever noticed how Google, Facebook, or Amazon seem to "know" what you want before you do? Or how NASA is able to process the millions of images of the sky, looking for planets? What about something like your camera knowing where the faces are in your pictures? These are just a few examples of how machine learning and artificial intelligence (ML/AI) is being applied by companies and developers today. But what is the relevance to the network?
In this talk we'll explore how companies like Cisco are using these technologies within products available today to make the network smarter and more intuitive. We'll explore how solutions like Enhanced Threat Analytics (ETA) and Tetration work. What types of problems might network engineers be able to solve on their own with ML/AI? Where can you go to start learning today? Join to find out!