SlideShare une entreprise Scribd logo
1  sur  53
Télécharger pour lire hors ligne
Beyond Command Line Interface:
Catalyst Switching Programmability
Jeff McLaughlin, Fabrizio Maccioni
August9, 2017
IOS XE 16.x: Industry-Leading Open
Programmable OS
Easy onboarding of
devices using turnkey and
open source tools
Consistent management
of devices through
machine interfaces
Develop, deploy, test new
services on devices
Stream granular data for
real time monitoring and
troubleshooting
Open Standards Based Extensible Consistent
API
Device
Onboarding
Configuration
Automation
Application
Hosting
Telemetry
IOS XE: Automating Network Device Lifecycle
Install
Configure
Optimize
Upgrade
Goal:
 Apply configuration to the
device
Tools:
 Data Models
 Programmable Interfaces
 Python Scripting
Goal:
 Continuously upgrade
network, incrementally
and safely
Tools:
 Patching
 Config/Replace
Goal:
 Get devices into an operational state
Provisioning Automation Tools:
 PXE, ZTP, PnP
 Python Scripting
Goal:
 Add dynamic services,
optimize behavior and
trouble shooting
Tools:
 Operating Data Models
 Telemetry
Turn-key Build
MultipleApproaches: Turn-Key or Build Your Own?
Open and Programmable
Device Provisioning
Device Provisioning Automation
Pre-boot Execution
Environment (PXE) Client
Zero Touch
Provisioning
Cisco Network Plug
and Play
Boot Image
Source
Network Device Device
Programmable
Interfaces
Open Open Open (via APIC-EM)
Ideal for heterogeneous /
multi-vendor network environments
Optimized for Cisco networks
(highly secure and scalable)
updates
16.5.1
New
16.5.1
Boot Server
PXE Booting
Switch
ZTP Server
ZTP Agent
SwitchZTP script
PnP Agent
SwitchPnP Agent
Config Templates Use Case
PnP Templates
hostname $hostname
enable password xxx
!
username sdn password 0 xxx
!
ip http server
ip http secure-server
snmp-server community xxxx RO
!
line con 0
line vty 0 15
login local
transport input ssh telnet
end
variables prefixed by $
Template GUI form:
https://communities.cisco.com/community/developer/dna/blog/2016/10/30/apic-em-13-update-plug-and-play-network-automation-api-part1
New
APIC-EM 1.3
Launch APIC-EM
NETCONF and YANG
Jeff
CLI
SNMP
NETCONF
YANG Models
Streaming Telemetry
Fabrizio
YANG ModelsCLI
Human Oriented Interface Machine Oriented Interface
YANG Data Models
YANG
Model
container ip {
list vrf {
leaf rd
}
}
Data
red_vrf
rd 65001:1 XML
<vrf>red</vrf>
<rd>1:1</rd>
YANG models can be used as a template for generating structured
data in many different formats.
JSON
{“vrf”: “red”
“rd”: “1:1”}
YANGcontainer ip {
list vrf {
description
"Configure an IP VPN Routing/Forwarding
instance";
leaf name {
type string;
}
leaf rd {
description
"Specify Route Distinguisher";
type rd-type;
}
}
}
XML<ip>
<vrf>
<name>vrf_red</name>
<rd>65000:1</rd>
</vrf>
<vrf>
<name>vrf_green</name>
<rd>65000:2</rd>
</vrf>
</ip>
YANG Configuration Model Example*
* Note: YANG model simplified for clarity
ip vrf vrf_red
rd 65001:1
!
ip vrf vrf_green
rd 65001:2
!
CLI
Who Defines YANG Models?
https://github.com/YangModels/yang
https://github.com/openconfig
NETCONF Highlights
• Transactional
• Either all configuration is applied or nothing
• Avoids inconsistent state
• Both at Single Device and Network-wide level
• Error Management
• OK or error code
• Capability Exchange
• Models Download from a Device
ssh -p 830 admin@172.26.249.169 -s netconf
NETCONF Operation Example
<rpc message-id="101" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
<get>
<filter>
<interfaces xmlns="urn:ietf:params:xml:ns:yang:ietf-interfaces">
<interface>
<name>GigabitEthernet1/0/1</name>
</interface>
</interfaces>
</filter>
</get>
</rpc>
Message - RPC
Operation
Payload (Content)
YANG Tools
PYANG Tool
“Tool to validate and navigate YANG Models”
pyang -f tree ietf-interfaces@2014-05-08.yang --tree-depth 4
depth optionschema tree YANG Model
https://github.com/mbj4668/pyang
YangExplorer Demo
(1) Selecta Profile
(2) Browse Models
(3) Define Operations
(4) Create RPC
(5) Run RPC
Python Scripts
YDK
Check Capabilities
https://github.com/CiscoDevNet/yang-explorer
YangExplorer
Streaming Telemetry
Streaming Telemetry
Export enriched, consistent and concise data with context from
network devices for a better user and operator experience
Periodic or
On-Change
Structured Data Scalable Reduced CPU
Load
Streaming Telemetry
SNMP Syslog Netflow/SFlow YANG
Device Data Models
DATA CENTER ENTERPRISE SP
Streaming Telemetry
NETCONF RESTCONF gRPC
Device Features
Interface BGP QoS ACL …
SNMP
YANG Data Model
Open Native Open Native
Physical and Virtual Network Infrastructure
Configuration Operational
Programmable
Interfaces
Collector
Subscription
Periodic or on-change
tcollector
IOS XE Operational Data Models
Asset Management SystemMonitoring Feature Monitoring
openconfig-platform.yang Cisco-IOS-XE-checkpoint-archive-oper.yang
Cisco-IOS-XE-environment-oper.yang
Cisco-IOS-XE-memory-oper.yang
Cisco-IOS-XE-platform-software-oper.yang
Cisco-IOS-XE-process-cpu-oper.yang
Cisco-IOS-XE-process-memory-oper.yang
ietf-interfaces.yang
Cisco-IOS-XE-acl-oper.yang
Cisco-IOS-XE-bfd-oper.yang
Cisco-IOS-XE-bgp-oper.yang
Cisco-IOS-XE-cfm-oper.yang
Cisco-IOS-XE-efp-oper.yang
Cisco-IOS-XE-flow-monitor-oper.yang
Cisco-IOS-XE-ip-sla-oper.yang
Cisco-IOS-XE-lldp-oper.yang
Cisco-IOS-XE-mpls-fwd-oper.yang
Cisco-IOS-XE-mpls-ldp.yang
Cisco-IOS-XE-trustsec-oper.yang
Cisco-IOS-XE-virtual-service-oper.yang
cisco-bridge-domain.yang
cisco-qos-action-oper.yang
common-mpls-static.yang
ietf-diffserv-target.yang
ietf-ospf.yang
ietf-routing.yang
https://github.com/YangModels/yang/tree/master/vendor/cisco/xe/1651
Streaming Telemetry Demo
RPC Subscription Launch Kibana
Python Overview
Python: Why not C, Ruby, Perl, TCL, Go,
etc.?
Easy to Learn
 Interactive shell
 Easy to begin with simple scripts
Libraries!
 Extensive libraries, like an “app store” for developers
 Read Excel, output PDF, draw graphs, etc.
And it’s well supported in the networking community!
Getting Python
Mac
Unix/Linux
Python is probably
already installed.
Getting Python
PC/Windows
Download and install
Python 2.7 or 3
Download and install
PIP package manager
1
2
Python 2 vs 3
Python 2.7.10
>>> print "Hello World!”
Hello World!
Python 3.6.0a4
>>> print "Hello World!"
SyntaxError: Missing parentheses
>>> print ("Hello World")
Hello World
Python 2
• Most common version
• Default installation on Linux
• Most libraries
• Losing popularity
Python 3
• Several language enhancements
• Often separate installation
• Not all libraries supported
• Commonly used in books/courses
Python 2 and 3 are not mutually compatible!
PIP Install
Python
PDFrw
OpenPy
XL
NCClient
YDK-Py
$ pip install netaddr
Downloading/unpacking netaddr
Downloading netaddr-0.7.19-py2.py3-none-any.whl
(1.6MB): 1.6MB downloaded
Installing collected packages: netaddr
Successfully installed netaddr
Cleaning up...
<interface>
<GigabitEthernet>
<name>1/0/14</name>
<description>To_Core_Switch</description>
<ip>
<address>
<primary>
<address>15.10.1.1</address>
<mask>255.255.255.0</mask>
</primary>
</address>
</ip>
</GigabitEthernet>
</interface>
gigabitethernet= interface.Gigabitethernet()
gigabitethernet.name = "1/0/14"
gigabitethernet.description = "To_Core_Switch"
gigabitethernet.ip.address.primary.address = "15.10.1.1"
gigabitethernet.ip.address.primary.mask = "255.255.255.0"
ip_add.gigabitethernet.append(gigabitethernet)
NCClient:
YDK:
Git and version control...
Installing git
Install Git using the standard installers on Mac/Windows
Use the usual methods on Linux (apt-get, yum, rpm, etc.)
Highly Recommended: Install GitHub Desktop!
Python on Catalyst
Using Python with IOS XE Devices
scripts executed externally from switch:
• configuration management automation
• telemetry / operational data
• controller use cases including APIC-EM /
Cisco Network PNP
IOS-XE DeviceIOS
Python
SSH/NETCONF
“Off-Box” Python
Linux Server
• scripts executed locally on switch:
• provisioning automation (ZTP)
• automating Embedded Event Manager
• application development
• IOT
IOS-XE Device
IOS
Python
IOS XE “On-Box” Python
IOS XE
16.5.1
Guest Shell
Virtualized Linux Environment On Your Switch
• Secure Linux shell environment
• On-box rapid prototyping
• Application Hosting
• Disabled by default
switch# guestshell enable
Network OS
Guest Shell
Linux Container
API
Linux
applications
IOS XE
16.5.1
Application Hosting
The old days of networking...
Slow processor
Little memory
Monolithic IOS
Hardware dedicated to IOS
(Pictured: Cisco 2501)
Networking today...
Fast x86 processor
SSD expansion
Linux-based OS
Capable of multiple apps
(Pictured: Catalyst 9300)
Types of applications
Performance/Throughput testing
Configuration Management agents
Packet collection/analysis
Python-based apps
Recommended
Types of applications
Video Games (Except Zork)
Digital Currency Mining
Not Recommended
App 1
LXC LXC VM
App 2 App 3
IOx
IOx Orchestration
Multiple apps
IOx Client Fog Director
Local Manager
REST
REST
REST
Cisco Application Framework (CAF)/IOx
Host OS (IOS XE Kernel)
Linux Process Linux Process
Kernel
LXC VM
CLI
External Management Tools
On-Box Management Tools
rootfsContainer
Workflow
VM
Workflow
Disk Img
(Qcow2)
- artifacts.tgz
- package.yaml
- package.mf
Packaging
(IOxClient/Script)
package.tar
Cisco Fog Director: Application Orchestration
IOS XE Devices
Fog Director
App-Hosting Demo
"If a thing is worth doing, it is worth doing badly."
- G.K. Chesterton
How do I learn Python?
Automate the Boring Stuff with Python,Al Sweigart
Great introduction to Python focusedon automation. (Not
specifically network automation.) Covers Python 3.0 only.
Assumes zero knowledge. Read Excel docs, generate PDFs,
etc. Highly recommended.
Real Python. http://realpython.com
Three-part course. Begins with basics assuming no
knowledge. Covers Python 2.7 and 3.0. Parts II and III focus
on web development with Python. Covers flask, Django, jinja2
templates. Many resources on the web site for free.
Cisco DevNet
http://developer.cisco.com
• Learning Labs
• Sandboxes
• API Documentation
• Python, YDK, REST
• And More!
Thank you for watching!

Contenu connexe

Tendances

Device Programmability with Cisco Plug-n-Play Solution
Device Programmability with Cisco Plug-n-Play SolutionDevice Programmability with Cisco Plug-n-Play Solution
Device Programmability with Cisco Plug-n-Play SolutionCisco DevNet
 
Arista: DevOps for Network Engineers
Arista: DevOps for Network EngineersArista: DevOps for Network Engineers
Arista: DevOps for Network EngineersPhilip DiLeo
 
Cisco ACI for the Microsoft Cloud Platform
Cisco ACI for the Microsoft Cloud PlatformCisco ACI for the Microsoft Cloud Platform
Cisco ACI for the Microsoft Cloud PlatformShashi Kiran
 
Présentation cisco aci in action fundamentals - fcouderc - v6
Présentation cisco aci in action   fundamentals - fcouderc - v6Présentation cisco aci in action   fundamentals - fcouderc - v6
Présentation cisco aci in action fundamentals - fcouderc - v6Dig-IT
 
5º MeetUP ARQconf 2016 - IoT: What is it really and how does it work?
5º MeetUP ARQconf 2016 - IoT: What is it really and how does it work?5º MeetUP ARQconf 2016 - IoT: What is it really and how does it work?
5º MeetUP ARQconf 2016 - IoT: What is it really and how does it work?GlobalLogic Latinoamérica
 
Innovations in the Enterprise Routing & Switching Space
Innovations in the Enterprise Routing & Switching SpaceInnovations in the Enterprise Routing & Switching Space
Innovations in the Enterprise Routing & Switching SpaceCisco Canada
 
Cisco CSR1000V, VMware, and RESTful APIs
Cisco CSR1000V, VMware, and RESTful APIsCisco CSR1000V, VMware, and RESTful APIs
Cisco CSR1000V, VMware, and RESTful APIsPrivate
 
Chef arista devops days a'dam 2015
Chef arista devops days a'dam 2015Chef arista devops days a'dam 2015
Chef arista devops days a'dam 2015Edwin Beekman
 
Building the SD-Branch using uCPE
Building the SD-Branch using uCPEBuilding the SD-Branch using uCPE
Building the SD-Branch using uCPEMichelle Holley
 
Cisco application infrastracture controller (apic) billyjones
Cisco application infrastracture controller (apic) billyjonesCisco application infrastracture controller (apic) billyjones
Cisco application infrastracture controller (apic) billyjonesBilly jones Monarquia
 
Network Function Virtualization (NFV) using IOS-XR
Network Function Virtualization (NFV) using IOS-XRNetwork Function Virtualization (NFV) using IOS-XR
Network Function Virtualization (NFV) using IOS-XRCisco Canada
 
A Path to NFV/SDN - Intel. Michael Brennan, INTEL
A Path to NFV/SDN - Intel. Michael Brennan, INTELA Path to NFV/SDN - Intel. Michael Brennan, INTEL
A Path to NFV/SDN - Intel. Michael Brennan, INTELWalton Institute
 
DNA Intelligent WAN Campus Day
DNA Intelligent WAN Campus DayDNA Intelligent WAN Campus Day
DNA Intelligent WAN Campus DayCisco Canada
 
Has video really killed the audio star?
Has video really killed the audio star?Has video really killed the audio star?
Has video really killed the audio star?Cisco Canada
 
Leverage the Network
Leverage the NetworkLeverage the Network
Leverage the NetworkCisco Canada
 
Application Policy Enforcement Using APIC
Application Policy Enforcement Using APIC Application Policy Enforcement Using APIC
Application Policy Enforcement Using APIC Cisco Canada
 

Tendances (20)

Device Programmability with Cisco Plug-n-Play Solution
Device Programmability with Cisco Plug-n-Play SolutionDevice Programmability with Cisco Plug-n-Play Solution
Device Programmability with Cisco Plug-n-Play Solution
 
Arista: DevOps for Network Engineers
Arista: DevOps for Network EngineersArista: DevOps for Network Engineers
Arista: DevOps for Network Engineers
 
Cisco ACI for the Microsoft Cloud Platform
Cisco ACI for the Microsoft Cloud PlatformCisco ACI for the Microsoft Cloud Platform
Cisco ACI for the Microsoft Cloud Platform
 
Présentation cisco aci in action fundamentals - fcouderc - v6
Présentation cisco aci in action   fundamentals - fcouderc - v6Présentation cisco aci in action   fundamentals - fcouderc - v6
Présentation cisco aci in action fundamentals - fcouderc - v6
 
5º MeetUP ARQconf 2016 - IoT: What is it really and how does it work?
5º MeetUP ARQconf 2016 - IoT: What is it really and how does it work?5º MeetUP ARQconf 2016 - IoT: What is it really and how does it work?
5º MeetUP ARQconf 2016 - IoT: What is it really and how does it work?
 
Innovations in the Enterprise Routing & Switching Space
Innovations in the Enterprise Routing & Switching SpaceInnovations in the Enterprise Routing & Switching Space
Innovations in the Enterprise Routing & Switching Space
 
Cisco CSR1000V, VMware, and RESTful APIs
Cisco CSR1000V, VMware, and RESTful APIsCisco CSR1000V, VMware, and RESTful APIs
Cisco CSR1000V, VMware, and RESTful APIs
 
Chef arista devops days a'dam 2015
Chef arista devops days a'dam 2015Chef arista devops days a'dam 2015
Chef arista devops days a'dam 2015
 
Building the SD-Branch using uCPE
Building the SD-Branch using uCPEBuilding the SD-Branch using uCPE
Building the SD-Branch using uCPE
 
Cisco application infrastracture controller (apic) billyjones
Cisco application infrastracture controller (apic) billyjonesCisco application infrastracture controller (apic) billyjones
Cisco application infrastracture controller (apic) billyjones
 
ACI Hands-on Lab
ACI Hands-on LabACI Hands-on Lab
ACI Hands-on Lab
 
Network Function Virtualization (NFV) using IOS-XR
Network Function Virtualization (NFV) using IOS-XRNetwork Function Virtualization (NFV) using IOS-XR
Network Function Virtualization (NFV) using IOS-XR
 
Enea NFV Core Datasheet
Enea NFV Core DatasheetEnea NFV Core Datasheet
Enea NFV Core Datasheet
 
A Path to NFV/SDN - Intel. Michael Brennan, INTEL
A Path to NFV/SDN - Intel. Michael Brennan, INTELA Path to NFV/SDN - Intel. Michael Brennan, INTEL
A Path to NFV/SDN - Intel. Michael Brennan, INTEL
 
Agile Network Agile Management
Agile Network Agile ManagementAgile Network Agile Management
Agile Network Agile Management
 
DNA Intelligent WAN Campus Day
DNA Intelligent WAN Campus DayDNA Intelligent WAN Campus Day
DNA Intelligent WAN Campus Day
 
Has video really killed the audio star?
Has video really killed the audio star?Has video really killed the audio star?
Has video really killed the audio star?
 
Leverage the Network
Leverage the NetworkLeverage the Network
Leverage the Network
 
Application Policy Enforcement Using APIC
Application Policy Enforcement Using APIC Application Policy Enforcement Using APIC
Application Policy Enforcement Using APIC
 
What's new in the integrated architecture hardware
What's new in the integrated architecture hardwareWhat's new in the integrated architecture hardware
What's new in the integrated architecture hardware
 

Similaire à TechWiseTV Workshop: Catalyst Switching Programmability

Running High-Speed Serverless with nuclio
Running High-Speed Serverless with nuclioRunning High-Speed Serverless with nuclio
Running High-Speed Serverless with nuclioiguazio
 
Automation in Network Lifecycle Management - Bay Area Juniper Meetup
Automation in Network Lifecycle Management - Bay Area Juniper MeetupAutomation in Network Lifecycle Management - Bay Area Juniper Meetup
Automation in Network Lifecycle Management - Bay Area Juniper MeetupJorge Bonilla
 
TechWiseTV Open NX-OS Workshop
TechWiseTV  Open NX-OS WorkshopTechWiseTV  Open NX-OS Workshop
TechWiseTV Open NX-OS WorkshopRobb Boyd
 
DEVNET-1166 Open SDN Controller APIs
DEVNET-1166	Open SDN Controller APIsDEVNET-1166	Open SDN Controller APIs
DEVNET-1166 Open SDN Controller APIsCisco DevNet
 
"Wie passen Serverless & Autonomous zusammen?"
"Wie passen Serverless & Autonomous zusammen?""Wie passen Serverless & Autonomous zusammen?"
"Wie passen Serverless & Autonomous zusammen?"Volker Linz
 
Linux sever building
Linux sever buildingLinux sever building
Linux sever buildingEdmond Yu
 
IBM Think Session 8598 Domino and JavaScript Development MasterClass
IBM Think Session 8598 Domino and JavaScript Development MasterClassIBM Think Session 8598 Domino and JavaScript Development MasterClass
IBM Think Session 8598 Domino and JavaScript Development MasterClassPaul Withers
 
086 Microsoft Application Platform 2009 2010
086 Microsoft Application Platform 2009 2010086 Microsoft Application Platform 2009 2010
086 Microsoft Application Platform 2009 2010GeneXus
 
Open Source Monitoring Tools Shootout
Open Source Monitoring Tools ShootoutOpen Source Monitoring Tools Shootout
Open Source Monitoring Tools Shootouttomdc
 
Docker - Demo on PHP Application deployment
Docker - Demo on PHP Application deployment Docker - Demo on PHP Application deployment
Docker - Demo on PHP Application deployment Arun prasath
 
Dynamic Slides using OpenOffice.org Impress and Python
Dynamic Slides using OpenOffice.org Impress and PythonDynamic Slides using OpenOffice.org Impress and Python
Dynamic Slides using OpenOffice.org Impress and PythonCarles Pina Estany
 
Monitoring shootout loadays
Monitoring shootout loadaysMonitoring shootout loadays
Monitoring shootout loadaystomdc
 
Puppet devops wdec
Puppet devops wdecPuppet devops wdec
Puppet devops wdecWojciech Dec
 
Automating Software Development Life Cycle - A DevOps Approach
Automating Software Development Life Cycle - A DevOps ApproachAutomating Software Development Life Cycle - A DevOps Approach
Automating Software Development Life Cycle - A DevOps ApproachAkshaya Mahapatra
 
Cisco Application eXtension Platform (AXP) - James Weathersby, Cisco
Cisco Application eXtension Platform (AXP) - James Weathersby, CiscoCisco Application eXtension Platform (AXP) - James Weathersby, Cisco
Cisco Application eXtension Platform (AXP) - James Weathersby, Ciscomfrancis
 
MSMDC_CLI363
MSMDC_CLI363MSMDC_CLI363
MSMDC_CLI363mokacao
 

Similaire à TechWiseTV Workshop: Catalyst Switching Programmability (20)

Infrastructure Automation
Infrastructure Automation Infrastructure Automation
Infrastructure Automation
 
Running High-Speed Serverless with nuclio
Running High-Speed Serverless with nuclioRunning High-Speed Serverless with nuclio
Running High-Speed Serverless with nuclio
 
Automation in Network Lifecycle Management - Bay Area Juniper Meetup
Automation in Network Lifecycle Management - Bay Area Juniper MeetupAutomation in Network Lifecycle Management - Bay Area Juniper Meetup
Automation in Network Lifecycle Management - Bay Area Juniper Meetup
 
TechWiseTV Open NX-OS Workshop
TechWiseTV  Open NX-OS WorkshopTechWiseTV  Open NX-OS Workshop
TechWiseTV Open NX-OS Workshop
 
DEVNET-1166 Open SDN Controller APIs
DEVNET-1166	Open SDN Controller APIsDEVNET-1166	Open SDN Controller APIs
DEVNET-1166 Open SDN Controller APIs
 
"Wie passen Serverless & Autonomous zusammen?"
"Wie passen Serverless & Autonomous zusammen?""Wie passen Serverless & Autonomous zusammen?"
"Wie passen Serverless & Autonomous zusammen?"
 
Linux sever building
Linux sever buildingLinux sever building
Linux sever building
 
IBM Think Session 8598 Domino and JavaScript Development MasterClass
IBM Think Session 8598 Domino and JavaScript Development MasterClassIBM Think Session 8598 Domino and JavaScript Development MasterClass
IBM Think Session 8598 Domino and JavaScript Development MasterClass
 
086 Microsoft Application Platform 2009 2010
086 Microsoft Application Platform 2009 2010086 Microsoft Application Platform 2009 2010
086 Microsoft Application Platform 2009 2010
 
Open Source Monitoring Tools Shootout
Open Source Monitoring Tools ShootoutOpen Source Monitoring Tools Shootout
Open Source Monitoring Tools Shootout
 
Docker - Demo on PHP Application deployment
Docker - Demo on PHP Application deployment Docker - Demo on PHP Application deployment
Docker - Demo on PHP Application deployment
 
Dynamic Slides using OpenOffice.org Impress and Python
Dynamic Slides using OpenOffice.org Impress and PythonDynamic Slides using OpenOffice.org Impress and Python
Dynamic Slides using OpenOffice.org Impress and Python
 
Monitoring shootout loadays
Monitoring shootout loadaysMonitoring shootout loadays
Monitoring shootout loadays
 
Puppet devops wdec
Puppet devops wdecPuppet devops wdec
Puppet devops wdec
 
Automating Software Development Life Cycle - A DevOps Approach
Automating Software Development Life Cycle - A DevOps ApproachAutomating Software Development Life Cycle - A DevOps Approach
Automating Software Development Life Cycle - A DevOps Approach
 
Cisco Application eXtension Platform (AXP) - James Weathersby, Cisco
Cisco Application eXtension Platform (AXP) - James Weathersby, CiscoCisco Application eXtension Platform (AXP) - James Weathersby, Cisco
Cisco Application eXtension Platform (AXP) - James Weathersby, Cisco
 
Automation Evolution with Junos
Automation Evolution with JunosAutomation Evolution with Junos
Automation Evolution with Junos
 
MSMDC_CLI363
MSMDC_CLI363MSMDC_CLI363
MSMDC_CLI363
 
SDN and metrics from the SDOs
SDN and metrics from the SDOsSDN and metrics from the SDOs
SDN and metrics from the SDOs
 
Powering up on power shell avengercon - 2018
Powering up on power shell   avengercon - 2018Powering up on power shell   avengercon - 2018
Powering up on power shell avengercon - 2018
 

Plus de Robb Boyd

Enterprise-Grade Trust: Collaboration Without Compromise
Enterprise-Grade Trust: Collaboration Without CompromiseEnterprise-Grade Trust: Collaboration Without Compromise
Enterprise-Grade Trust: Collaboration Without CompromiseRobb Boyd
 
TechWiseTV Workshop - Q&A - Cisco Catalyst 9600: Deep Dive and Design Conside...
TechWiseTV Workshop - Q&A - Cisco Catalyst 9600: Deep Dive and Design Conside...TechWiseTV Workshop - Q&A - Cisco Catalyst 9600: Deep Dive and Design Conside...
TechWiseTV Workshop - Q&A - Cisco Catalyst 9600: Deep Dive and Design Conside...Robb Boyd
 
TechWiseTV Workshop: Cisco Catalyst 9600: Deep Dive and Design Considerations
TechWiseTV Workshop: Cisco Catalyst 9600: Deep Dive and Design ConsiderationsTechWiseTV Workshop: Cisco Catalyst 9600: Deep Dive and Design Considerations
TechWiseTV Workshop: Cisco Catalyst 9600: Deep Dive and Design ConsiderationsRobb Boyd
 
TechWiseTV Workshop - Q&A - Cisco Catalyst 9100 Access Points for Wi-Fi 6
TechWiseTV Workshop - Q&A - Cisco Catalyst 9100 Access Points for Wi-Fi 6TechWiseTV Workshop - Q&A - Cisco Catalyst 9100 Access Points for Wi-Fi 6
TechWiseTV Workshop - Q&A - Cisco Catalyst 9100 Access Points for Wi-Fi 6Robb Boyd
 
TechWiseTV Workshop - Q&A - Application Hosting on the Cisco Catalyst 9000 Sw...
TechWiseTV Workshop - Q&A - Application Hosting on the Cisco Catalyst 9000 Sw...TechWiseTV Workshop - Q&A - Application Hosting on the Cisco Catalyst 9000 Sw...
TechWiseTV Workshop - Q&A - Application Hosting on the Cisco Catalyst 9000 Sw...Robb Boyd
 
TechWiseTV Workshop: Cisco Catalyst 9100 Access Points for Wi-Fi 6
TechWiseTV Workshop: Cisco Catalyst 9100 Access Points for Wi-Fi 6TechWiseTV Workshop: Cisco Catalyst 9100 Access Points for Wi-Fi 6
TechWiseTV Workshop: Cisco Catalyst 9100 Access Points for Wi-Fi 6Robb Boyd
 
TechWiseTV Workshop: Application Hosting on Catalyst 9000 Series Switches
TechWiseTV Workshop: Application Hosting on Catalyst 9000 Series SwitchesTechWiseTV Workshop: Application Hosting on Catalyst 9000 Series Switches
TechWiseTV Workshop: Application Hosting on Catalyst 9000 Series SwitchesRobb Boyd
 
TechWiseTV Workshop 314 - Q&A Cisco SD-WAN Security
TechWiseTV Workshop 314 - Q&A Cisco SD-WAN Security TechWiseTV Workshop 314 - Q&A Cisco SD-WAN Security
TechWiseTV Workshop 314 - Q&A Cisco SD-WAN Security Robb Boyd
 
Technical Overview of Cisco Catalyst 9200 Series Switches
Technical Overview of Cisco Catalyst 9200 Series SwitchesTechnical Overview of Cisco Catalyst 9200 Series Switches
Technical Overview of Cisco Catalyst 9200 Series SwitchesRobb Boyd
 
The Enhanced Cisco Container Platform
The Enhanced Cisco Container PlatformThe Enhanced Cisco Container Platform
The Enhanced Cisco Container PlatformRobb Boyd
 
TechWiseTV Workshop: Improving Performance and Agility with Cisco HyperFlex
TechWiseTV Workshop: Improving Performance and Agility with Cisco HyperFlexTechWiseTV Workshop: Improving Performance and Agility with Cisco HyperFlex
TechWiseTV Workshop: Improving Performance and Agility with Cisco HyperFlexRobb Boyd
 
TechWiseTV Workshop: SD-WAN Security
TechWiseTV Workshop: SD-WAN SecurityTechWiseTV Workshop: SD-WAN Security
TechWiseTV Workshop: SD-WAN SecurityRobb Boyd
 
TechWiseTV Workshop: Cisco Catalyst 9800 Series Wireless Controller
TechWiseTV Workshop: Cisco Catalyst 9800 Series Wireless ControllerTechWiseTV Workshop: Cisco Catalyst 9800 Series Wireless Controller
TechWiseTV Workshop: Cisco Catalyst 9800 Series Wireless ControllerRobb Boyd
 
Protect Kubernetes Environments with Cisco Stealthwatch Cloud
Protect Kubernetes Environments with Cisco Stealthwatch CloudProtect Kubernetes Environments with Cisco Stealthwatch Cloud
Protect Kubernetes Environments with Cisco Stealthwatch CloudRobb Boyd
 
Incredible Compute Density: Cisco DNA Center Platform: Digging Deeper with APIs
Incredible Compute Density: Cisco DNA Center Platform: Digging Deeper with APIsIncredible Compute Density: Cisco DNA Center Platform: Digging Deeper with APIs
Incredible Compute Density: Cisco DNA Center Platform: Digging Deeper with APIsRobb Boyd
 
Infrastructure Solutions for Deploying AI/ML/DL Workloads at Scale
Infrastructure Solutions for Deploying AI/ML/DL Workloads at ScaleInfrastructure Solutions for Deploying AI/ML/DL Workloads at Scale
Infrastructure Solutions for Deploying AI/ML/DL Workloads at ScaleRobb Boyd
 
TechWiseTV Workshop Q&A: Cisco UCS C4200
TechWiseTV Workshop Q&A: Cisco UCS C4200TechWiseTV Workshop Q&A: Cisco UCS C4200
TechWiseTV Workshop Q&A: Cisco UCS C4200Robb Boyd
 
TechWiseTV Workshop: Cisco UCS C4200
TechWiseTV Workshop: Cisco UCS C4200TechWiseTV Workshop: Cisco UCS C4200
TechWiseTV Workshop: Cisco UCS C4200Robb Boyd
 
TechWiseTV Workshop: ASR 9000
TechWiseTV Workshop: ASR 9000 TechWiseTV Workshop: ASR 9000
TechWiseTV Workshop: ASR 9000 Robb Boyd
 
TechWiseTV Workshop: Q&A Cisco Hybrid Cloud Platform for Google Cloud
TechWiseTV Workshop: Q&A Cisco Hybrid Cloud Platform for Google CloudTechWiseTV Workshop: Q&A Cisco Hybrid Cloud Platform for Google Cloud
TechWiseTV Workshop: Q&A Cisco Hybrid Cloud Platform for Google CloudRobb Boyd
 

Plus de Robb Boyd (20)

Enterprise-Grade Trust: Collaboration Without Compromise
Enterprise-Grade Trust: Collaboration Without CompromiseEnterprise-Grade Trust: Collaboration Without Compromise
Enterprise-Grade Trust: Collaboration Without Compromise
 
TechWiseTV Workshop - Q&A - Cisco Catalyst 9600: Deep Dive and Design Conside...
TechWiseTV Workshop - Q&A - Cisco Catalyst 9600: Deep Dive and Design Conside...TechWiseTV Workshop - Q&A - Cisco Catalyst 9600: Deep Dive and Design Conside...
TechWiseTV Workshop - Q&A - Cisco Catalyst 9600: Deep Dive and Design Conside...
 
TechWiseTV Workshop: Cisco Catalyst 9600: Deep Dive and Design Considerations
TechWiseTV Workshop: Cisco Catalyst 9600: Deep Dive and Design ConsiderationsTechWiseTV Workshop: Cisco Catalyst 9600: Deep Dive and Design Considerations
TechWiseTV Workshop: Cisco Catalyst 9600: Deep Dive and Design Considerations
 
TechWiseTV Workshop - Q&A - Cisco Catalyst 9100 Access Points for Wi-Fi 6
TechWiseTV Workshop - Q&A - Cisco Catalyst 9100 Access Points for Wi-Fi 6TechWiseTV Workshop - Q&A - Cisco Catalyst 9100 Access Points for Wi-Fi 6
TechWiseTV Workshop - Q&A - Cisco Catalyst 9100 Access Points for Wi-Fi 6
 
TechWiseTV Workshop - Q&A - Application Hosting on the Cisco Catalyst 9000 Sw...
TechWiseTV Workshop - Q&A - Application Hosting on the Cisco Catalyst 9000 Sw...TechWiseTV Workshop - Q&A - Application Hosting on the Cisco Catalyst 9000 Sw...
TechWiseTV Workshop - Q&A - Application Hosting on the Cisco Catalyst 9000 Sw...
 
TechWiseTV Workshop: Cisco Catalyst 9100 Access Points for Wi-Fi 6
TechWiseTV Workshop: Cisco Catalyst 9100 Access Points for Wi-Fi 6TechWiseTV Workshop: Cisco Catalyst 9100 Access Points for Wi-Fi 6
TechWiseTV Workshop: Cisco Catalyst 9100 Access Points for Wi-Fi 6
 
TechWiseTV Workshop: Application Hosting on Catalyst 9000 Series Switches
TechWiseTV Workshop: Application Hosting on Catalyst 9000 Series SwitchesTechWiseTV Workshop: Application Hosting on Catalyst 9000 Series Switches
TechWiseTV Workshop: Application Hosting on Catalyst 9000 Series Switches
 
TechWiseTV Workshop 314 - Q&A Cisco SD-WAN Security
TechWiseTV Workshop 314 - Q&A Cisco SD-WAN Security TechWiseTV Workshop 314 - Q&A Cisco SD-WAN Security
TechWiseTV Workshop 314 - Q&A Cisco SD-WAN Security
 
Technical Overview of Cisco Catalyst 9200 Series Switches
Technical Overview of Cisco Catalyst 9200 Series SwitchesTechnical Overview of Cisco Catalyst 9200 Series Switches
Technical Overview of Cisco Catalyst 9200 Series Switches
 
The Enhanced Cisco Container Platform
The Enhanced Cisco Container PlatformThe Enhanced Cisco Container Platform
The Enhanced Cisco Container Platform
 
TechWiseTV Workshop: Improving Performance and Agility with Cisco HyperFlex
TechWiseTV Workshop: Improving Performance and Agility with Cisco HyperFlexTechWiseTV Workshop: Improving Performance and Agility with Cisco HyperFlex
TechWiseTV Workshop: Improving Performance and Agility with Cisco HyperFlex
 
TechWiseTV Workshop: SD-WAN Security
TechWiseTV Workshop: SD-WAN SecurityTechWiseTV Workshop: SD-WAN Security
TechWiseTV Workshop: SD-WAN Security
 
TechWiseTV Workshop: Cisco Catalyst 9800 Series Wireless Controller
TechWiseTV Workshop: Cisco Catalyst 9800 Series Wireless ControllerTechWiseTV Workshop: Cisco Catalyst 9800 Series Wireless Controller
TechWiseTV Workshop: Cisco Catalyst 9800 Series Wireless Controller
 
Protect Kubernetes Environments with Cisco Stealthwatch Cloud
Protect Kubernetes Environments with Cisco Stealthwatch CloudProtect Kubernetes Environments with Cisco Stealthwatch Cloud
Protect Kubernetes Environments with Cisco Stealthwatch Cloud
 
Incredible Compute Density: Cisco DNA Center Platform: Digging Deeper with APIs
Incredible Compute Density: Cisco DNA Center Platform: Digging Deeper with APIsIncredible Compute Density: Cisco DNA Center Platform: Digging Deeper with APIs
Incredible Compute Density: Cisco DNA Center Platform: Digging Deeper with APIs
 
Infrastructure Solutions for Deploying AI/ML/DL Workloads at Scale
Infrastructure Solutions for Deploying AI/ML/DL Workloads at ScaleInfrastructure Solutions for Deploying AI/ML/DL Workloads at Scale
Infrastructure Solutions for Deploying AI/ML/DL Workloads at Scale
 
TechWiseTV Workshop Q&A: Cisco UCS C4200
TechWiseTV Workshop Q&A: Cisco UCS C4200TechWiseTV Workshop Q&A: Cisco UCS C4200
TechWiseTV Workshop Q&A: Cisco UCS C4200
 
TechWiseTV Workshop: Cisco UCS C4200
TechWiseTV Workshop: Cisco UCS C4200TechWiseTV Workshop: Cisco UCS C4200
TechWiseTV Workshop: Cisco UCS C4200
 
TechWiseTV Workshop: ASR 9000
TechWiseTV Workshop: ASR 9000 TechWiseTV Workshop: ASR 9000
TechWiseTV Workshop: ASR 9000
 
TechWiseTV Workshop: Q&A Cisco Hybrid Cloud Platform for Google Cloud
TechWiseTV Workshop: Q&A Cisco Hybrid Cloud Platform for Google CloudTechWiseTV Workshop: Q&A Cisco Hybrid Cloud Platform for Google Cloud
TechWiseTV Workshop: Q&A Cisco Hybrid Cloud Platform for Google Cloud
 

Dernier

WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 

Dernier (20)

E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 

TechWiseTV Workshop: Catalyst Switching Programmability

  • 1. Beyond Command Line Interface: Catalyst Switching Programmability Jeff McLaughlin, Fabrizio Maccioni August9, 2017
  • 2.
  • 3. IOS XE 16.x: Industry-Leading Open Programmable OS Easy onboarding of devices using turnkey and open source tools Consistent management of devices through machine interfaces Develop, deploy, test new services on devices Stream granular data for real time monitoring and troubleshooting Open Standards Based Extensible Consistent API Device Onboarding Configuration Automation Application Hosting Telemetry
  • 4. IOS XE: Automating Network Device Lifecycle Install Configure Optimize Upgrade Goal:  Apply configuration to the device Tools:  Data Models  Programmable Interfaces  Python Scripting Goal:  Continuously upgrade network, incrementally and safely Tools:  Patching  Config/Replace Goal:  Get devices into an operational state Provisioning Automation Tools:  PXE, ZTP, PnP  Python Scripting Goal:  Add dynamic services, optimize behavior and trouble shooting Tools:  Operating Data Models  Telemetry
  • 5. Turn-key Build MultipleApproaches: Turn-Key or Build Your Own? Open and Programmable
  • 7. Device Provisioning Automation Pre-boot Execution Environment (PXE) Client Zero Touch Provisioning Cisco Network Plug and Play Boot Image Source Network Device Device Programmable Interfaces Open Open Open (via APIC-EM) Ideal for heterogeneous / multi-vendor network environments Optimized for Cisco networks (highly secure and scalable) updates 16.5.1 New 16.5.1 Boot Server PXE Booting Switch ZTP Server ZTP Agent SwitchZTP script PnP Agent SwitchPnP Agent
  • 8. Config Templates Use Case PnP Templates hostname $hostname enable password xxx ! username sdn password 0 xxx ! ip http server ip http secure-server snmp-server community xxxx RO ! line con 0 line vty 0 15 login local transport input ssh telnet end variables prefixed by $ Template GUI form: https://communities.cisco.com/community/developer/dna/blog/2016/10/30/apic-em-13-update-plug-and-play-network-automation-api-part1 New APIC-EM 1.3 Launch APIC-EM
  • 10. Jeff
  • 12. YANG ModelsCLI Human Oriented Interface Machine Oriented Interface
  • 13. YANG Data Models YANG Model container ip { list vrf { leaf rd } } Data red_vrf rd 65001:1 XML <vrf>red</vrf> <rd>1:1</rd> YANG models can be used as a template for generating structured data in many different formats. JSON {“vrf”: “red” “rd”: “1:1”}
  • 14. YANGcontainer ip { list vrf { description "Configure an IP VPN Routing/Forwarding instance"; leaf name { type string; } leaf rd { description "Specify Route Distinguisher"; type rd-type; } } } XML<ip> <vrf> <name>vrf_red</name> <rd>65000:1</rd> </vrf> <vrf> <name>vrf_green</name> <rd>65000:2</rd> </vrf> </ip> YANG Configuration Model Example* * Note: YANG model simplified for clarity ip vrf vrf_red rd 65001:1 ! ip vrf vrf_green rd 65001:2 ! CLI
  • 15. Who Defines YANG Models? https://github.com/YangModels/yang https://github.com/openconfig
  • 16. NETCONF Highlights • Transactional • Either all configuration is applied or nothing • Avoids inconsistent state • Both at Single Device and Network-wide level • Error Management • OK or error code • Capability Exchange • Models Download from a Device ssh -p 830 admin@172.26.249.169 -s netconf
  • 17. NETCONF Operation Example <rpc message-id="101" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"> <get> <filter> <interfaces xmlns="urn:ietf:params:xml:ns:yang:ietf-interfaces"> <interface> <name>GigabitEthernet1/0/1</name> </interface> </interfaces> </filter> </get> </rpc> Message - RPC Operation Payload (Content)
  • 19. PYANG Tool “Tool to validate and navigate YANG Models” pyang -f tree ietf-interfaces@2014-05-08.yang --tree-depth 4 depth optionschema tree YANG Model https://github.com/mbj4668/pyang
  • 20. YangExplorer Demo (1) Selecta Profile (2) Browse Models (3) Define Operations (4) Create RPC (5) Run RPC Python Scripts YDK Check Capabilities https://github.com/CiscoDevNet/yang-explorer YangExplorer
  • 22. Streaming Telemetry Export enriched, consistent and concise data with context from network devices for a better user and operator experience Periodic or On-Change Structured Data Scalable Reduced CPU Load
  • 23. Streaming Telemetry SNMP Syslog Netflow/SFlow YANG Device Data Models DATA CENTER ENTERPRISE SP
  • 24. Streaming Telemetry NETCONF RESTCONF gRPC Device Features Interface BGP QoS ACL … SNMP YANG Data Model Open Native Open Native Physical and Virtual Network Infrastructure Configuration Operational Programmable Interfaces Collector Subscription Periodic or on-change tcollector
  • 25. IOS XE Operational Data Models Asset Management SystemMonitoring Feature Monitoring openconfig-platform.yang Cisco-IOS-XE-checkpoint-archive-oper.yang Cisco-IOS-XE-environment-oper.yang Cisco-IOS-XE-memory-oper.yang Cisco-IOS-XE-platform-software-oper.yang Cisco-IOS-XE-process-cpu-oper.yang Cisco-IOS-XE-process-memory-oper.yang ietf-interfaces.yang Cisco-IOS-XE-acl-oper.yang Cisco-IOS-XE-bfd-oper.yang Cisco-IOS-XE-bgp-oper.yang Cisco-IOS-XE-cfm-oper.yang Cisco-IOS-XE-efp-oper.yang Cisco-IOS-XE-flow-monitor-oper.yang Cisco-IOS-XE-ip-sla-oper.yang Cisco-IOS-XE-lldp-oper.yang Cisco-IOS-XE-mpls-fwd-oper.yang Cisco-IOS-XE-mpls-ldp.yang Cisco-IOS-XE-trustsec-oper.yang Cisco-IOS-XE-virtual-service-oper.yang cisco-bridge-domain.yang cisco-qos-action-oper.yang common-mpls-static.yang ietf-diffserv-target.yang ietf-ospf.yang ietf-routing.yang https://github.com/YangModels/yang/tree/master/vendor/cisco/xe/1651
  • 26. Streaming Telemetry Demo RPC Subscription Launch Kibana
  • 28. Python: Why not C, Ruby, Perl, TCL, Go, etc.? Easy to Learn  Interactive shell  Easy to begin with simple scripts Libraries!  Extensive libraries, like an “app store” for developers  Read Excel, output PDF, draw graphs, etc. And it’s well supported in the networking community!
  • 29. Getting Python Mac Unix/Linux Python is probably already installed.
  • 30. Getting Python PC/Windows Download and install Python 2.7 or 3 Download and install PIP package manager 1 2
  • 31. Python 2 vs 3 Python 2.7.10 >>> print "Hello World!” Hello World! Python 3.6.0a4 >>> print "Hello World!" SyntaxError: Missing parentheses >>> print ("Hello World") Hello World Python 2 • Most common version • Default installation on Linux • Most libraries • Losing popularity Python 3 • Several language enhancements • Often separate installation • Not all libraries supported • Commonly used in books/courses Python 2 and 3 are not mutually compatible!
  • 32. PIP Install Python PDFrw OpenPy XL NCClient YDK-Py $ pip install netaddr Downloading/unpacking netaddr Downloading netaddr-0.7.19-py2.py3-none-any.whl (1.6MB): 1.6MB downloaded Installing collected packages: netaddr Successfully installed netaddr Cleaning up...
  • 33. <interface> <GigabitEthernet> <name>1/0/14</name> <description>To_Core_Switch</description> <ip> <address> <primary> <address>15.10.1.1</address> <mask>255.255.255.0</mask> </primary> </address> </ip> </GigabitEthernet> </interface> gigabitethernet= interface.Gigabitethernet() gigabitethernet.name = "1/0/14" gigabitethernet.description = "To_Core_Switch" gigabitethernet.ip.address.primary.address = "15.10.1.1" gigabitethernet.ip.address.primary.mask = "255.255.255.0" ip_add.gigabitethernet.append(gigabitethernet) NCClient: YDK:
  • 34. Git and version control...
  • 35. Installing git Install Git using the standard installers on Mac/Windows Use the usual methods on Linux (apt-get, yum, rpm, etc.) Highly Recommended: Install GitHub Desktop!
  • 37. Using Python with IOS XE Devices scripts executed externally from switch: • configuration management automation • telemetry / operational data • controller use cases including APIC-EM / Cisco Network PNP IOS-XE DeviceIOS Python SSH/NETCONF “Off-Box” Python Linux Server • scripts executed locally on switch: • provisioning automation (ZTP) • automating Embedded Event Manager • application development • IOT IOS-XE Device IOS Python IOS XE “On-Box” Python IOS XE 16.5.1
  • 38. Guest Shell Virtualized Linux Environment On Your Switch • Secure Linux shell environment • On-box rapid prototyping • Application Hosting • Disabled by default switch# guestshell enable Network OS Guest Shell Linux Container API Linux applications IOS XE 16.5.1
  • 40. The old days of networking... Slow processor Little memory Monolithic IOS Hardware dedicated to IOS (Pictured: Cisco 2501)
  • 41. Networking today... Fast x86 processor SSD expansion Linux-based OS Capable of multiple apps (Pictured: Catalyst 9300)
  • 42.
  • 43. Types of applications Performance/Throughput testing Configuration Management agents Packet collection/analysis Python-based apps Recommended
  • 44. Types of applications Video Games (Except Zork) Digital Currency Mining Not Recommended
  • 45. App 1 LXC LXC VM App 2 App 3 IOx IOx Orchestration Multiple apps
  • 46. IOx Client Fog Director Local Manager REST REST REST Cisco Application Framework (CAF)/IOx Host OS (IOS XE Kernel) Linux Process Linux Process Kernel LXC VM CLI External Management Tools On-Box Management Tools
  • 47. rootfsContainer Workflow VM Workflow Disk Img (Qcow2) - artifacts.tgz - package.yaml - package.mf Packaging (IOxClient/Script) package.tar
  • 48. Cisco Fog Director: Application Orchestration IOS XE Devices Fog Director
  • 50. "If a thing is worth doing, it is worth doing badly." - G.K. Chesterton
  • 51. How do I learn Python? Automate the Boring Stuff with Python,Al Sweigart Great introduction to Python focusedon automation. (Not specifically network automation.) Covers Python 3.0 only. Assumes zero knowledge. Read Excel docs, generate PDFs, etc. Highly recommended. Real Python. http://realpython.com Three-part course. Begins with basics assuming no knowledge. Covers Python 2.7 and 3.0. Parts II and III focus on web development with Python. Covers flask, Django, jinja2 templates. Many resources on the web site for free.
  • 52. Cisco DevNet http://developer.cisco.com • Learning Labs • Sandboxes • API Documentation • Python, YDK, REST • And More!
  • 53. Thank you for watching!