Cisco's Open Device Programmability Strategy An Open Discussion
Robert Grasby, Senior Product Manager
DEVNET-1028
© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public
“Southwest Is Sending Its Oldest
Planes to Early Retirement” - Skift, April 2016
“Labor and Training Issues Push Southwest to
Retire Its 737 Classics Next Year”- CrankyFlyer.com, May 2016
“Southwest To Accelerate 737
Classic Subfleet Retirement”- Aviation Daily, April 2016
DEVNET-1028 2
© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public
737 “Classic” 737 600/700/800/900
737MAX
DEVNET-1028 3
© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public
IOS-XE IOS-XR
NX-OS
DEVNET-1028 4
• Cisco Open Device Programmability
• Model Driven Automation
• Industry Standardization
• Cisco Roadmap
• Developer Resources
• Conclusion
Agenda
© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public
Cisco Digital Network ArchitectureOpen, Software-driven, Service-centric
Virtualization | Automation | Analytics | Cloud
DEVNET-1028 7
© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public
Cisco Digital Network Architecture
PrinciplesAutomation
Abstraction & Policy Control
from Core to Edge
Open & Programmable | Standards-Based
Open APIs | Developers Environment
Cloud Service ManagementPolicy | Orchestration
Virtualization
Physical & Virtual Infrastructure | App Hosting
Analytics
Network Data,
Contextual Insights
Insights &
Experiences
Automation
& Assurance
Security &
Compliance
Network-Enabled Applications
Cloud Enabled | Software Delivered
DEVNET-1028 8
© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public
Cisco Open Device Programmability
Physical and Virtual Network Infrastructure
Open Device Programmability
Programmable
Interfaces
Open
Protocols
Configuration
ManagementTraffic
Engineering
Telemetry &
TroubleshootingSimplified
Deployment
DEVNET-1028 9
© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public
NETCONF RESTconf gRPC
Open Device Programmability
Device Features
Interface BGP QoS ACL …
SNMP
YANG Data Model
Open
Models
Native
Models
Open
Models
Native
Models
Physical and Virtual Network Infrastructure
Configuration Operation
Programmable
Interfaces
Cisco ONE Foundation
Shipping now on IOS-XR.
Available on IOS-XE, NX-OS
platforms in July ’16
DEVNET-1028 10
© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public
NETCONF RESTconf gRPC
Interface “Stack”
Device Features
Interface BGP QoS ACL …
SNMP
YANG Data Model
Open
Models
Native
Models
Open
Models
Native
Models
Physical and Virtual Network Infrastructure
Configuration Operation
Programmable
Interfaces
Protocol
DEVNET-1028 11
© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public
Protocols
StandardIETF RFC 6241 IETF draft Open source
Optimized for
Networking ✓ ✓✗
(designed for generic
client/server communications)
Session
Oriented ✓ ✓ ✓
Connection
Oriented ✓ ✗ ✓
Connection
SecuritySSH or SOAP HTTPS HTTPS
RESTconfNETCONF gRPC
DEVNET-1028 12
© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public
NETCONF RESTconf gRPC
Interface “Stack”
Device Features
Interface BGP QoS ACL …
SNMP
YANG Data Model
Open
Models
Native
Models
Open
Models
Native
Models
Physical and Virtual Network Infrastructure
Configuration Operation
Programmable
Interfaces
Data Model
DEVNET-1028 14
© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public
Defining Objects In Network Management
Information Model
• Conceptual abstraction
• Implementation guide
• Protocol neutral
Information vs Data Models (RFC3444)
Data Model
• Lower level abstraction
• Implementation specific details
• Protocol-specific constructs
DEVNET-1028 15
© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public
YANG Data Modeling Language (RFC6020)
• Human readable
• Hierarchical configuration
• Extensible through augmentation
• Formal constraints for configuration validation
• Reusable types and groupings
• Modularity through modules and sub-modules
• Defined versioning rulesYANG Data Model
DEVNET-1028 16
© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public
YANG Data Model Structure
pyang -f tree [email protected]
module: ietf-interfaces
+--rw interfaces
| +--rw interface* [name]
| +--rw name string
| +--rw description? string
| +--rw type identityref
| +--rw enabled? boolean
| +--rw link-up-down-trap-enable? enumeration {if-mib}?
+--ro interfaces-state
+--ro interface* [name]
+--ro name string
+--ro type identityref
+--ro admin-status enumeration {if-mib}?
+--ro oper-status enumeration
+--ro last-change? yang:date-and-time
+--ro if-index int32 {if-mib}?
…
DEVNET-1028 17
© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public
NETCONF RESTconf gRPC
Interface “Stack”
Device Features
Interface BGP QoS ACL …
SNMP
YANG Data Model
Open
Models
Native
Models
Open
Models
Native
Models
Physical and Virtual Network Infrastructure
Configuration Operation
Programmable
Interfaces
Types
DEVNET-1028 18
© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public
• Industry definition
• Compliant with standard (IETF, ITU, OpenConfig, etc) definition
• Vendor specific extensions
Example: ietf-diffserv-policy.yang(IETF Diffserv data model)
• Cisco definition
• Unique to a Cisco operating system
Example: Cisco-IOS-XR-ipv4-bgp-cfg.yang(IOS-XR BGP data model)
YANG Data Model Types
Open
Models
Native
Models
DEVNET-1028 19
© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public
YANG Data Model Terminology and Relationship
Modeling Language YANG
Encoding XML JSON
Schema YANG Data Model
Protocol RESTCONFNETCONF GRPC
SDK
API Python Ruby JAVA C Erlang …
YANG Development Kit APIC-EM Ansible …
DEVNET-1028 20
© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public
Standardization Timeline
RFC 4741
NETCONF (1.0)
Protocol
RFC 6020
YANG (1.0)
Data Modeling
Language
RFC6020bis
YANG (1.1)
Data Modeling
Language
RFC 6241
NETCONF (1.1)
Protocol
December
2006
October
2010Now
June
2011
RESTCONF Protocol
IETF “Last Call”
DEVNET-1028 22
© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public
Open Model Standardization
≈ 38 defined, 200 draft802.1x and 802.1q models≈ 120 defined
MEF 38 and 39 for OAM > 680 defined≈ 45 defined
DEVNET-1028 23
© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public
IETF YANG Model Submissions
By Vendors
54
Huawei 50
Juniper 40
Ericsson 27
Alcatel-Lucent 7
Ciena 11
ZTE 9
Brocade 7
Intel 1
By “YANG” Companies
Yumarkworks 7
Tail-f 8
By Operators
Google 4
Verizon 2
AT&T 5
Telefonica 5
Orange 9
Level 3 3
DEVNET-1028 24
© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public
NETCONF Platform Roadmap
Shipping Q3CY16 Q4CY16* CY17*
IOS-XR ASR 9000
NCS 1000
NCS 5000
IOS-XE IOS-XE 16.3
Catalyst 3650
Catalyst 3850
ASR 1000
ISR 4000
CSR 1000v
ISRv
IOS-XE 16.4
cBR
ASR 900
IOS-XE 3.10
Catalyst 4500
NX-OS E Release
Nexus 3000
Nexus 9000
Release tbd
Nexus 5000
Nexus 7000
* Not committed
DEVNET-1028 26
© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public
YANG Model Coverage by Platform
Open Models Native Models
IOS-XR https://github.com/YangModels/yang/tree/master/vendor/cisco/xr
IOS-XE
@ initial
release
• IETF-Interfaces
• IETF-VRF Infra
• IETF-IPv4/IPv6 Static
Routing
• IETF-OSPF v2/v3
• ITEF-IPv4/IPv6 RIB
• IETF-Policy
• IETF-QoS (shape, bandwidth
and priority)
• Cisco-MPLS static
• Cisco-VxLAN
• BFD
• G8032
• MPLS-TE
• E-OAM
• VPLS
• ISIS
• ACL
• GRE
• CFM
• Interfaces
• BGP
• Static Routing
• MPLS Static
• EVPN
• VLAN
• L2VPN
• OTV
• Inter-AS
• Bridge Domain/EVC
• DMVPN
• RPL
• OSPF
• VRF
• Policy/QoS
• NHRP
• PfR
• EIGRP
• WAAS
• AVC-NBAR
• AVC-ART
• ESON
• Snort
• SourceFire
• ZBFW
• FNF
• RIB
• LISP
• IPSec
• VTP
• Spanning Tree
• AAA
• TACACS
• SNMP
• NTP
• MSDP
• IGMP
• PIM
NX-OS
@ initial
release
• Open Config Interfaces
• Open Config Static Route
• Open Config Route Policy
• Open Config VLAN
• ACL
• QoS
• Segment Routing
• EVPN/VxLAN
• ARP/AM
• IPv6/ICMPv6
• RBAC
• Tunnels
• VRRPv2
• OSPFv2
• Syslog
• NTP
• Route Policy
• HSRP
• URIB
• SNMP
• VxLAN
• L2RIB
• MPLS
• Static Route
DEVNET-1028 27
© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public
“The best way to learn about network programmability is to jump in and get our hands dirty”- Some “Wise Guy”
DEVNET-1028 29
© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public
Details on supported interfaces and protocols
• Learning Labs
• Sandboxes
• Code Samples
• Videos
• Communities
• Support
• And more ….
developer.cisco.com/site/odp/
Cisco DevNet
DEVNET-1028 30
© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public
YANG GitHub Repository
https://github.com/YangModels/yang/tree/master/vendor/cisco
DEVNET-1028 31
© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public
Summary
• Open device programmability is the foundation of a Digital Network Architecture
• Data models are key for configuration management and telemetry (not protocols or encoding)
• YANG is the “open” data modeling language
• Cisco is delivering YANG data models across switching and routing to enable “Open Device Programmability”
DEVNET-1028 33
© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public
Network Programmability Cisco Education OfferingsCourse Description Cisco Certification
Integrating Business Applications with
Network Programmability (NIPBA)
Learn networking concepts, and how to deploy and
troubleshoot programmable network architectures with these
self-paced courses
Cisco Business Application
Engineer Specialist
Certification
Developing with Cisco Network
Programmability (NPDEV)
Learn how to build applications for network environments and
effectively bridge the gap between IT professionals and
software developers.
Cisco Network
Programmability Developer
Specialist Certification
Designing with Cisco Network
Programmability (NPDES)
Learn how to expand your skill set from traditional IT
infrastructure to application integration through programmability.
Cisco Network
Programmability Design
Specialist Certification
Implementing Cisco Network
Programmability (NPENG)
Learn how to implement and troubleshoot open IT infrastructure
technologies.
Cisco Network
Programmability Engineer
Specialist Certification
For more details, please visit: http://learningnetwork.cisco.com
Questions? Visit the Learning@Cisco Booth or contact [email protected]
DEVNET-1028 34
© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public
Complete Your Online Session Evaluation
Don’t forget: Cisco Live sessions will be available for viewing on-demand after the event at CiscoLive.com/Online
• Give us your feedback to be entered into a Daily Survey Drawing. A daily winner will receive a $750 Amazon gift card.
• Complete your session surveys through the Cisco Live mobile app or from the Session Catalog on CiscoLive.com/us.
DEVNET-1028 35
© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public
Continue Your Education
• Demos in the Cisco campus
• Walk-in Self-Paced Labs
• Lunch & Learn
• Meet the Engineer 1:1 meetings
• Related sessions
DEVNET-1028 36
Please join us for the Service Provider Innovation Talk featuring:
Yvette Kanouff | Senior Vice President and General Manager, SP Business
Joe Cozzolino | Senior Vice President, Cisco Services
Thursday, July 14th, 2016
11:30 am - 12:30 pm, In the Oceanside A room
What to expect from this innovation talk
• Insights on market trends and forecasts
• Preview of key technologies and capabilities
• Innovative demonstrations of the latest and greatest products
• Better understanding of how Cisco can help you succeed
Register to attend the session live now or
watch the broadcast on cisco.com