getting started with sd-wan programmability

16
Getting Started with SD-WAN Programmability TME, Cisco @saisuchandan Sai Suchandan

Upload: others

Post on 30-Dec-2021

12 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Getting Started with SD-WAN Programmability

Getting Started with SD-WAN Programmability

TME, Cisco

@saisuchandan

Sai Suchandan

Page 2: Getting Started with SD-WAN Programmability

Sai SuchandanTechnical Marketing Engineer, Cisco

Sai is working as a Technical Marketing Engineer for Cisco SD-WAN solution with focus around Network Automation and Programmability. Sai is excited by the disruptive power of Network programmability, DevOps tools, Containers, K8s.

Page 3: Getting Started with SD-WAN Programmability

Agenda

• WW(What & Why) of vManage APIs• Python Viptela SDK• Demo

Page 4: Getting Started with SD-WAN Programmability

WW(What & Why) of vManage APIs

Page 5: Getting Started with SD-WAN Programmability

vManage REST APIs

• vManage uses REST architecture which is stateless, client–server, cacheable communications protocol.

• vManage exposes REST APIs and webhooks to integrate with 3rd party Applications

• vManage uses NetConf for configuring and managing edge devices

vEdgeXE-SDWAN

(cEdge)

vManage

3rd Party Applications

vManage REST APIs & Webhooks

NetConf

Page 6: Getting Started with SD-WAN Programmability

vManage – Using REST APIs

• API documentation is built-in @ https://<vmanage-ip:port>/apidocs• Test API calls can be tried out from swagger UI

Page 7: Getting Started with SD-WAN Programmability

Options for Working with vManage APIs

• curl

Linux command line application

• Postman

API testing application and framework

• Requests

Python library for scripting

• Python Viptela SDK

• OpenAPI/Swagger

Page 8: Getting Started with SD-WAN Programmability

Python Viptela SDK

Page 9: Getting Started with SD-WAN Programmability

Python Viptela SDK

• It is a DevNet Community project • Makes it easy to use vManage APIs via Python, CLI, Ansible• Installation from PyPI : pip3 install viptela

Page 10: Getting Started with SD-WAN Programmability

Python Viptela SDK Structure

• API – Interacts with vManage APIs• Data – Methods that convert/transform the data from the API response

e.g. Convert Object IDs to Object names• Apps – Function specific methods

e.g. Export/Import templates to/from file• CLI – Click based CLI wrapper to interact with SDK• Utilities – Utilities

e.g. Convert list to dictionary

Page 11: Getting Started with SD-WAN Programmability

Python Viptela SDK Use Cases

• Attach Templates to devices• Backup/Restore Templates, Policies, Device Variables• CLI based wrapper for Real Time Monitoring APIs• Update Application Aware Routing Policies• DevOps, CI/CD

Page 12: Getting Started with SD-WAN Programmability

Demo Time!

Page 13: Getting Started with SD-WAN Programmability

Explore More!

• https://developer.cisco.com/sdwan/• https://developer.cisco.com/docs/sdwan/• https://developer.cisco.com/learning/modules/sd-wan• https://cs.co/sevt-sdwan-apis-lab• https://github.com/suchandanreddy/sdwan-umbrella-policy/• https://github.com/suchandanreddy/sdwan-webhooks• https://github.com/suchandanreddy/sdwan-integration-with-influxdb-

grafana• https://github.com/suchandanreddy/sdwan-apis

Page 14: Getting Started with SD-WAN Programmability

Code Exchange

Find SDK at: https://cs.co/python-viptela

Page 15: Getting Started with SD-WAN Programmability

DevNet Tools & Resources

• SD-WAN DevNet Learning Labs• SD-WAN DevNet Sandboxes

Page 16: Getting Started with SD-WAN Programmability