SlideShare ist ein Scribd-Unternehmen logo
1 von 14
DevNet @
DevNet @
Building Applications on Cisco Open
SDN Controller
DevNet 1012
Giles Heron – Principal Engineer
© 2014 Cisco and/or its affiliates. All rights reserved.Presentation_ID Cisco Public DevNet @
Agenda
• The Cisco Open SDN
Controller
• “Just for the YANG of it”
• Creating Java apps inside the
Cisco Open SDN Controller
• Creating RESTCONF apps
using the Cisco Open SDN
Controller
• Q&A
© 2014 Cisco and/or its affiliates. All rights reserved.Presentation_ID Cisco Public DevNet @
The Cisco Open SDN Controller
• Based on OpenDaylight Helium
• Packaged as a Virtual Machine
• Key MD-SAL features pre-installed
– OpenFlow, NETCONF/YANG, BGP/PCEP, etc.
• Integrated User Interface
• Supports single-node and 3-node cluster
• In EFT as of last week
• See the /dev/innovate pod here in DevNet
A commercial distribution of the OpenDaylight SDN Controller
© 2014 Cisco and/or its affiliates. All rights reserved.Presentation_ID Cisco Public DevNet @
• Open platform for
network
programmability
• Enables SDN for
networks at any size
and scale
• New “Helium” release
delivers new user
interface and a much
simpler and
customizable
installation process
• Users can add value at
any layer (Apps,
Network Services, SB
Plugins)
OpenDaylight Controller
Cisco Contributions
© 2014 Cisco and/or its affiliates. All rights reserved.Presentation_ID Cisco Public DevNet @
Open SDN Controller 1.0 Release Content
Community Support
Cisco Supported
“HELIUM”
Open SDN Controller
Common Content
Incremental Cisco
ValuePrecluded
OpenDaylight
Content
SDNi
Defense4all
PacketCable
PCMM
VTN Project
OpenContrail
Plugin
SNMP4SDN
AAA
BGPCEP
Controller
DLUX
Group Policy
L2 Switch
LISP Flow
Mapping
Openflow
Plugin
OVSDB
Secure Network
Bootstrap Infra
Service
Function
Chaining
Yang Tools
MD-SAL
AD-SAL
Log Aggregation
Metrics
Aggregation
MonitoringBasic
Clustering
Centralized
Admin
OVA Distribution
Samples
One Click Clustering
© 2014 Cisco and/or its affiliates. All rights reserved.Presentation_ID Cisco Public DevNet @
SupportLearn / Build Validate Sell / Monetize
SDK on DevNet
• Getting Started Guides
• Reference Guides
• Code samples
• Videos
• Etc
Integration Points
• NB Rest APIs
• Network Service JAVA APIs
• OpenFlow 1.0 and 1.3
Interfaces
• NetConf / YANG Interface
• BGPLS Interface
• PCEP Interface
• OVSDB Interface
Community and Pay-As-
You Go Support
Developer Sandbox
Interop Validation Testing
• Application Specific Test Plans
• For Fee Testing
• Successful IVT completion allows
use of Cisco Compatible logo
Solution Partner Program
• Solution Marketplace listing
App Store (future)
• Streamlined sales and
delivery of 3rd party apps
(light-weight version of
Solutions Plus program)
Mandatory Coordinated
Customer Support
3rd Party Developer Enablement (DevNet Plan)
Cisco Open SDN Controller Developer Lifecycle
© 2014 Cisco and/or its affiliates. All rights reserved.Presentation_ID Cisco Public DevNet @
“Just for the YANG of it”
• YANG is a data modeling language
– Documented in RFC6020
– Designed to model NETCONF data (see RFC6241)
• OpenDaylight’s MD-SAL is “Model Driven Service Abstraction Layer”
– “Model” == YANG Model
• OpenDaylight contains over 100 YANG models
– YANG is used as our IDL
• Southbound plugins described by YANG Models
– NETCONF plugin learns models from connected devices at run-time
Everything in MD-SAL is YANG modeled
© 2014 Cisco and/or its affiliates. All rights reserved.Presentation_ID Cisco Public DevNet @
Java apps inside Cisco Open SDN Controller
• The controller creates Java APIs from YANG models at run-time
– YANG model maps to Java classes (class per container, list, typedef etc.)
• Java APIs designed for performance
– DTOs are immutable (write once/read many)
– APIs are asynchronous (no need to spawn a thread to wait for each data item)
• Apps packaged as Karaf features
– .kar files in the controller’s “deploy” directory will auto-install
© 2014 Cisco and/or its affiliates. All rights reserved.Presentation_ID Cisco Public DevNet @
Auto-Populating NCS inventory from BGP-LS Topology
MPLS-TE Network
MD-SAL
BGP-LS
LinkstateTopology
RESTCONF
BGP-LS Topology
Exporter
BGP-LS RIB
NETCONF
NCS Inventory
Creator
BGP-LS
© 2014 Cisco and/or its affiliates. All rights reserved.Presentation_ID Cisco Public DevNet @
Tunnel Programming API using NCS via NETCONF/YANG
MPLS-TE Network
MD-SAL
LSP Config
App
RESTCONF
IOS-XR NED
PostMan Collection
CLI (over ssh)
Tunnel Programming API
NETCONF
© 2014 Cisco and/or its affiliates. All rights reserved.Presentation_ID Cisco Public DevNet @
RESTCONF apps using Cisco Open SDN Controller
• The controller generates RESTCONF APIs from YANG models at run-time
– YANG model structure maps to RESTCONF URLs
– HTTP GET to read data, POST/PUT/DELETE to write, POST to run RPCs
• RESTCONF supports both XML and JSON
– Most devs prefer JSON (native to JavaScript, super-easy from Python etc.)
• Performance is lower than Java APIs due to serialisation, context switches etc.
• Examples:
– /restconf/config/opendaylight-inventory:nodes
– …nodes/node/foo/yang-ext:mount/model:container
– /restconf/operational/network-topology:network-topology
– /restconf/operations/coffee-maker:make-coffee
© 2014 Cisco and/or its affiliates. All rights reserved.Presentation_ID Cisco Public DevNet @
• Copy to be supplied by Cisco.
Complete Your Online Session Evaluation
Thank you.
DevNet @
Join us on DevNet at developer.cisco.com
Follow DevNet on Twitter: @ciscodevnet

Weitere ähnliche Inhalte

Andere mochten auch

DevNet Express - Spark & Tropo API - Lisbon May 2016
DevNet Express - Spark & Tropo API - Lisbon May 2016DevNet Express - Spark & Tropo API - Lisbon May 2016
DevNet Express - Spark & Tropo API - Lisbon May 2016Cisco DevNet
 
New NeXt for Advanced Developers
New NeXt for Advanced DevelopersNew NeXt for Advanced Developers
New NeXt for Advanced DevelopersCisco DevNet
 
SDN( Software Defined Network) and NFV(Network Function Virtualization) for I...
SDN( Software Defined Network) and NFV(Network Function Virtualization) for I...SDN( Software Defined Network) and NFV(Network Function Virtualization) for I...
SDN( Software Defined Network) and NFV(Network Function Virtualization) for I...Sagar Rai
 
Software-Defined Networking(SDN):A New Approach to Networking
Software-Defined Networking(SDN):A New Approach to NetworkingSoftware-Defined Networking(SDN):A New Approach to Networking
Software-Defined Networking(SDN):A New Approach to NetworkingAnju Ann
 
SDN and NFV integrated OpenStack Cloud - Birds eye view on Security
SDN and NFV integrated OpenStack Cloud - Birds eye view on SecuritySDN and NFV integrated OpenStack Cloud - Birds eye view on Security
SDN and NFV integrated OpenStack Cloud - Birds eye view on SecurityTrinath Somanchi
 
Introduction to Software Defined Networking (SDN)
Introduction to Software Defined Networking (SDN)Introduction to Software Defined Networking (SDN)
Introduction to Software Defined Networking (SDN)rjain51
 
Current and Future Directions of Internet of Things
Current and Future Directions of Internet of ThingsCurrent and Future Directions of Internet of Things
Current and Future Directions of Internet of ThingsDr. Mazlan Abbas
 

Andere mochten auch (9)

DevNet Express - Spark & Tropo API - Lisbon May 2016
DevNet Express - Spark & Tropo API - Lisbon May 2016DevNet Express - Spark & Tropo API - Lisbon May 2016
DevNet Express - Spark & Tropo API - Lisbon May 2016
 
New NeXt for Advanced Developers
New NeXt for Advanced DevelopersNew NeXt for Advanced Developers
New NeXt for Advanced Developers
 
SDN( Software Defined Network) and NFV(Network Function Virtualization) for I...
SDN( Software Defined Network) and NFV(Network Function Virtualization) for I...SDN( Software Defined Network) and NFV(Network Function Virtualization) for I...
SDN( Software Defined Network) and NFV(Network Function Virtualization) for I...
 
SDN Abstractions
SDN AbstractionsSDN Abstractions
SDN Abstractions
 
Software-Defined Networking(SDN):A New Approach to Networking
Software-Defined Networking(SDN):A New Approach to NetworkingSoftware-Defined Networking(SDN):A New Approach to Networking
Software-Defined Networking(SDN):A New Approach to Networking
 
SDN and NFV integrated OpenStack Cloud - Birds eye view on Security
SDN and NFV integrated OpenStack Cloud - Birds eye view on SecuritySDN and NFV integrated OpenStack Cloud - Birds eye view on Security
SDN and NFV integrated OpenStack Cloud - Birds eye view on Security
 
Introduction to SDN and NFV
Introduction to SDN and NFVIntroduction to SDN and NFV
Introduction to SDN and NFV
 
Introduction to Software Defined Networking (SDN)
Introduction to Software Defined Networking (SDN)Introduction to Software Defined Networking (SDN)
Introduction to Software Defined Networking (SDN)
 
Current and Future Directions of Internet of Things
Current and Future Directions of Internet of ThingsCurrent and Future Directions of Internet of Things
Current and Future Directions of Internet of Things
 

Mehr von Cisco DevNet

How to Contribute to Ansible
How to Contribute to AnsibleHow to Contribute to Ansible
How to Contribute to AnsibleCisco DevNet
 
Rome 2017: Building advanced voice assistants and chat bots
Rome 2017: Building advanced voice assistants and chat botsRome 2017: Building advanced voice assistants and chat bots
Rome 2017: Building advanced voice assistants and chat botsCisco DevNet
 
How to Build Advanced Voice Assistants and Chatbots
How to Build Advanced Voice Assistants and ChatbotsHow to Build Advanced Voice Assistants and Chatbots
How to Build Advanced Voice Assistants and ChatbotsCisco DevNet
 
Cisco Spark and Tropo and the Programmable Web
Cisco Spark and Tropo and the Programmable WebCisco Spark and Tropo and the Programmable Web
Cisco Spark and Tropo and the Programmable WebCisco DevNet
 
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
 
Building a WiFi Hotspot with NodeJS: Cisco Meraki - ExCap API
Building a WiFi Hotspot with NodeJS: Cisco Meraki - ExCap APIBuilding a WiFi Hotspot with NodeJS: Cisco Meraki - ExCap API
Building a WiFi Hotspot with NodeJS: Cisco Meraki - ExCap APICisco DevNet
 
Application Visibility and Experience through Flexible Netflow
Application Visibility and Experience through Flexible NetflowApplication Visibility and Experience through Flexible Netflow
Application Visibility and Experience through Flexible NetflowCisco DevNet
 
WAN Automation Engine API Deep Dive
WAN Automation Engine API Deep DiveWAN Automation Engine API Deep Dive
WAN Automation Engine API Deep DiveCisco DevNet
 
Cisco's Open Device Programmability Strategy: Open Discussion
Cisco's Open Device Programmability Strategy: Open DiscussionCisco's Open Device Programmability Strategy: Open Discussion
Cisco's Open Device Programmability Strategy: Open DiscussionCisco DevNet
 
Open Device Programmability: Hands-on Intro to RESTCONF (and a bit of NETCONF)
Open Device Programmability: Hands-on Intro to RESTCONF (and a bit of NETCONF)Open Device Programmability: Hands-on Intro to RESTCONF (and a bit of NETCONF)
Open Device Programmability: Hands-on Intro to RESTCONF (and a bit of NETCONF)Cisco DevNet
 
NETCONF & YANG Enablement of Network Devices
NETCONF & YANG Enablement of Network DevicesNETCONF & YANG Enablement of Network Devices
NETCONF & YANG Enablement of Network DevicesCisco DevNet
 
UCS Management APIs A Technical Deep Dive
UCS Management APIs A Technical Deep DiveUCS Management APIs A Technical Deep Dive
UCS Management APIs A Technical Deep DiveCisco DevNet
 
OpenStack Enabling DevOps
OpenStack Enabling DevOpsOpenStack Enabling DevOps
OpenStack Enabling DevOpsCisco DevNet
 
NetDevOps for the Network Dude: How to get started with API's, Ansible and Py...
NetDevOps for the Network Dude: How to get started with API's, Ansible and Py...NetDevOps for the Network Dude: How to get started with API's, Ansible and Py...
NetDevOps for the Network Dude: How to get started with API's, Ansible and Py...Cisco DevNet
 
Getting Started: Developing Tropo Applications
Getting Started: Developing Tropo ApplicationsGetting Started: Developing Tropo Applications
Getting Started: Developing Tropo ApplicationsCisco DevNet
 
Cisco Spark & Tropo API Workshop
Cisco Spark & Tropo API WorkshopCisco Spark & Tropo API Workshop
Cisco Spark & Tropo API WorkshopCisco DevNet
 
Coding 102 REST API Basics Using Spark
Coding 102 REST API Basics Using SparkCoding 102 REST API Basics Using Spark
Coding 102 REST API Basics Using SparkCisco DevNet
 
Cisco APIs: An Interactive Assistant for the Web2Day Developer Conference
Cisco APIs: An Interactive Assistant for the Web2Day Developer ConferenceCisco APIs: An Interactive Assistant for the Web2Day Developer Conference
Cisco APIs: An Interactive Assistant for the Web2Day Developer ConferenceCisco DevNet
 
DevNet @TAG - Spark & Tropo APIs - Milan/Rome May 2016
DevNet @TAG - Spark & Tropo APIs - Milan/Rome May 2016DevNet @TAG - Spark & Tropo APIs - Milan/Rome May 2016
DevNet @TAG - Spark & Tropo APIs - Milan/Rome May 2016Cisco DevNet
 
Choosing PaaS: Cisco and Open Source Options: an overview
Choosing PaaS:  Cisco and Open Source Options: an overviewChoosing PaaS:  Cisco and Open Source Options: an overview
Choosing PaaS: Cisco and Open Source Options: an overviewCisco DevNet
 

Mehr von Cisco DevNet (20)

How to Contribute to Ansible
How to Contribute to AnsibleHow to Contribute to Ansible
How to Contribute to Ansible
 
Rome 2017: Building advanced voice assistants and chat bots
Rome 2017: Building advanced voice assistants and chat botsRome 2017: Building advanced voice assistants and chat bots
Rome 2017: Building advanced voice assistants and chat bots
 
How to Build Advanced Voice Assistants and Chatbots
How to Build Advanced Voice Assistants and ChatbotsHow to Build Advanced Voice Assistants and Chatbots
How to Build Advanced Voice Assistants and Chatbots
 
Cisco Spark and Tropo and the Programmable Web
Cisco Spark and Tropo and the Programmable WebCisco Spark and Tropo and the Programmable Web
Cisco Spark and Tropo and the Programmable Web
 
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
 
Building a WiFi Hotspot with NodeJS: Cisco Meraki - ExCap API
Building a WiFi Hotspot with NodeJS: Cisco Meraki - ExCap APIBuilding a WiFi Hotspot with NodeJS: Cisco Meraki - ExCap API
Building a WiFi Hotspot with NodeJS: Cisco Meraki - ExCap API
 
Application Visibility and Experience through Flexible Netflow
Application Visibility and Experience through Flexible NetflowApplication Visibility and Experience through Flexible Netflow
Application Visibility and Experience through Flexible Netflow
 
WAN Automation Engine API Deep Dive
WAN Automation Engine API Deep DiveWAN Automation Engine API Deep Dive
WAN Automation Engine API Deep Dive
 
Cisco's Open Device Programmability Strategy: Open Discussion
Cisco's Open Device Programmability Strategy: Open DiscussionCisco's Open Device Programmability Strategy: Open Discussion
Cisco's Open Device Programmability Strategy: Open Discussion
 
Open Device Programmability: Hands-on Intro to RESTCONF (and a bit of NETCONF)
Open Device Programmability: Hands-on Intro to RESTCONF (and a bit of NETCONF)Open Device Programmability: Hands-on Intro to RESTCONF (and a bit of NETCONF)
Open Device Programmability: Hands-on Intro to RESTCONF (and a bit of NETCONF)
 
NETCONF & YANG Enablement of Network Devices
NETCONF & YANG Enablement of Network DevicesNETCONF & YANG Enablement of Network Devices
NETCONF & YANG Enablement of Network Devices
 
UCS Management APIs A Technical Deep Dive
UCS Management APIs A Technical Deep DiveUCS Management APIs A Technical Deep Dive
UCS Management APIs A Technical Deep Dive
 
OpenStack Enabling DevOps
OpenStack Enabling DevOpsOpenStack Enabling DevOps
OpenStack Enabling DevOps
 
NetDevOps for the Network Dude: How to get started with API's, Ansible and Py...
NetDevOps for the Network Dude: How to get started with API's, Ansible and Py...NetDevOps for the Network Dude: How to get started with API's, Ansible and Py...
NetDevOps for the Network Dude: How to get started with API's, Ansible and Py...
 
Getting Started: Developing Tropo Applications
Getting Started: Developing Tropo ApplicationsGetting Started: Developing Tropo Applications
Getting Started: Developing Tropo Applications
 
Cisco Spark & Tropo API Workshop
Cisco Spark & Tropo API WorkshopCisco Spark & Tropo API Workshop
Cisco Spark & Tropo API Workshop
 
Coding 102 REST API Basics Using Spark
Coding 102 REST API Basics Using SparkCoding 102 REST API Basics Using Spark
Coding 102 REST API Basics Using Spark
 
Cisco APIs: An Interactive Assistant for the Web2Day Developer Conference
Cisco APIs: An Interactive Assistant for the Web2Day Developer ConferenceCisco APIs: An Interactive Assistant for the Web2Day Developer Conference
Cisco APIs: An Interactive Assistant for the Web2Day Developer Conference
 
DevNet @TAG - Spark & Tropo APIs - Milan/Rome May 2016
DevNet @TAG - Spark & Tropo APIs - Milan/Rome May 2016DevNet @TAG - Spark & Tropo APIs - Milan/Rome May 2016
DevNet @TAG - Spark & Tropo APIs - Milan/Rome May 2016
 
Choosing PaaS: Cisco and Open Source Options: an overview
Choosing PaaS:  Cisco and Open Source Options: an overviewChoosing PaaS:  Cisco and Open Source Options: an overview
Choosing PaaS: Cisco and Open Source Options: an overview
 

Kürzlich hochgeladen

CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Bhuvaneswari Subramani
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 

Kürzlich hochgeladen (20)

CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 

Building Applications on Cisco Open SDN Controller

  • 2. DevNet @ Building Applications on Cisco Open SDN Controller DevNet 1012 Giles Heron – Principal Engineer
  • 3. © 2014 Cisco and/or its affiliates. All rights reserved.Presentation_ID Cisco Public DevNet @ Agenda • The Cisco Open SDN Controller • “Just for the YANG of it” • Creating Java apps inside the Cisco Open SDN Controller • Creating RESTCONF apps using the Cisco Open SDN Controller • Q&A
  • 4. © 2014 Cisco and/or its affiliates. All rights reserved.Presentation_ID Cisco Public DevNet @ The Cisco Open SDN Controller • Based on OpenDaylight Helium • Packaged as a Virtual Machine • Key MD-SAL features pre-installed – OpenFlow, NETCONF/YANG, BGP/PCEP, etc. • Integrated User Interface • Supports single-node and 3-node cluster • In EFT as of last week • See the /dev/innovate pod here in DevNet A commercial distribution of the OpenDaylight SDN Controller
  • 5. © 2014 Cisco and/or its affiliates. All rights reserved.Presentation_ID Cisco Public DevNet @ • Open platform for network programmability • Enables SDN for networks at any size and scale • New “Helium” release delivers new user interface and a much simpler and customizable installation process • Users can add value at any layer (Apps, Network Services, SB Plugins) OpenDaylight Controller Cisco Contributions
  • 6. © 2014 Cisco and/or its affiliates. All rights reserved.Presentation_ID Cisco Public DevNet @ Open SDN Controller 1.0 Release Content Community Support Cisco Supported “HELIUM” Open SDN Controller Common Content Incremental Cisco ValuePrecluded OpenDaylight Content SDNi Defense4all PacketCable PCMM VTN Project OpenContrail Plugin SNMP4SDN AAA BGPCEP Controller DLUX Group Policy L2 Switch LISP Flow Mapping Openflow Plugin OVSDB Secure Network Bootstrap Infra Service Function Chaining Yang Tools MD-SAL AD-SAL Log Aggregation Metrics Aggregation MonitoringBasic Clustering Centralized Admin OVA Distribution Samples One Click Clustering
  • 7. © 2014 Cisco and/or its affiliates. All rights reserved.Presentation_ID Cisco Public DevNet @ SupportLearn / Build Validate Sell / Monetize SDK on DevNet • Getting Started Guides • Reference Guides • Code samples • Videos • Etc Integration Points • NB Rest APIs • Network Service JAVA APIs • OpenFlow 1.0 and 1.3 Interfaces • NetConf / YANG Interface • BGPLS Interface • PCEP Interface • OVSDB Interface Community and Pay-As- You Go Support Developer Sandbox Interop Validation Testing • Application Specific Test Plans • For Fee Testing • Successful IVT completion allows use of Cisco Compatible logo Solution Partner Program • Solution Marketplace listing App Store (future) • Streamlined sales and delivery of 3rd party apps (light-weight version of Solutions Plus program) Mandatory Coordinated Customer Support 3rd Party Developer Enablement (DevNet Plan) Cisco Open SDN Controller Developer Lifecycle
  • 8. © 2014 Cisco and/or its affiliates. All rights reserved.Presentation_ID Cisco Public DevNet @ “Just for the YANG of it” • YANG is a data modeling language – Documented in RFC6020 – Designed to model NETCONF data (see RFC6241) • OpenDaylight’s MD-SAL is “Model Driven Service Abstraction Layer” – “Model” == YANG Model • OpenDaylight contains over 100 YANG models – YANG is used as our IDL • Southbound plugins described by YANG Models – NETCONF plugin learns models from connected devices at run-time Everything in MD-SAL is YANG modeled
  • 9. © 2014 Cisco and/or its affiliates. All rights reserved.Presentation_ID Cisco Public DevNet @ Java apps inside Cisco Open SDN Controller • The controller creates Java APIs from YANG models at run-time – YANG model maps to Java classes (class per container, list, typedef etc.) • Java APIs designed for performance – DTOs are immutable (write once/read many) – APIs are asynchronous (no need to spawn a thread to wait for each data item) • Apps packaged as Karaf features – .kar files in the controller’s “deploy” directory will auto-install
  • 10. © 2014 Cisco and/or its affiliates. All rights reserved.Presentation_ID Cisco Public DevNet @ Auto-Populating NCS inventory from BGP-LS Topology MPLS-TE Network MD-SAL BGP-LS LinkstateTopology RESTCONF BGP-LS Topology Exporter BGP-LS RIB NETCONF NCS Inventory Creator BGP-LS
  • 11. © 2014 Cisco and/or its affiliates. All rights reserved.Presentation_ID Cisco Public DevNet @ Tunnel Programming API using NCS via NETCONF/YANG MPLS-TE Network MD-SAL LSP Config App RESTCONF IOS-XR NED PostMan Collection CLI (over ssh) Tunnel Programming API NETCONF
  • 12. © 2014 Cisco and/or its affiliates. All rights reserved.Presentation_ID Cisco Public DevNet @ RESTCONF apps using Cisco Open SDN Controller • The controller generates RESTCONF APIs from YANG models at run-time – YANG model structure maps to RESTCONF URLs – HTTP GET to read data, POST/PUT/DELETE to write, POST to run RPCs • RESTCONF supports both XML and JSON – Most devs prefer JSON (native to JavaScript, super-easy from Python etc.) • Performance is lower than Java APIs due to serialisation, context switches etc. • Examples: – /restconf/config/opendaylight-inventory:nodes – …nodes/node/foo/yang-ext:mount/model:container – /restconf/operational/network-topology:network-topology – /restconf/operations/coffee-maker:make-coffee
  • 13. © 2014 Cisco and/or its affiliates. All rights reserved.Presentation_ID Cisco Public DevNet @ • Copy to be supplied by Cisco. Complete Your Online Session Evaluation
  • 14. Thank you. DevNet @ Join us on DevNet at developer.cisco.com Follow DevNet on Twitter: @ciscodevnet

Hinweis der Redaktion

  1. Background info on ODL
  2. So now we add auto-population of the NCS devices inventory. To do that we run BGP-LS on ODL to learn all the IGP nodes and then write an app inside ODL (“NCS Inventory Creator”) which reads the linkstate topology and creates each node in NCS using the binding-aware API generated from tailf-ncs-devices.yang. As noted above we wrote something similar in I2SS (but using the ODL node inventory and using the NCS Java APIs) Potentially we could even interface Niklas’s “Pathman” to this as his LSP setup code is quite isolated inside the Pathman app.
  3. We will also create the “LSP Config app”. This exposes a tunnel programming API (most likely we’d create topology-tunnel-config and topology-tunnel-config-programming – similar to their PCEP equivalents). The app will create tunnels using the binding aware Java API to the NCS device-layer YANG models for IOS-XR (from the IOS XR NED – tailf-ned-cisco-ios-xr.yang). PathMan uses the topology API (http://localhost:8181/restconf/operational/network-topology:network-topology/topology/example-linkstate-topology) to learn the topology and then the tunnel programming API to create tunnels. It’d mean slight modifications to PathMan so it can use the slightly different API. As noted above we’d also still be able to show Postman accessing the RESTCONF to NETCONF stuff. The NCS IOS-XR NED uses CLI over ssh to configure the XR node at the head end of the LSP. IOS-XR uses RSVP-TE to signal the LSP (or SR to impose a label stack)