CDL Section 7 - Employing Programmability on Cisco Platforms Flashcards
There are 4 main types of Network Programmability options today:
- programmable APIs - the control and data planes are still in the same box, the same as in a traditional approach; EX) API on a DC switch
- pure SDN - control plane has been separated to a controller and only the data plane is on the device; most popular method here is NETCONF
- Hybrid SDN - control plane is still needed on the network devices so that it can independently run some network protocols, like routing. There is also a controller.
- overlay network - existing devices are kept intact and that a virtual network using overlays is created; EX) is VXLAN in an SDA environment, or SDWAN
REVIEW:
→ Network Automation - the process of automating the configuring, managing, testing, deploying, and operating of physical and virtual devices within a network.
Main use cases for network automation are:
○ Device provisioning ○ Device SW management ○ Compliance checks ○ Reporting ○ Troubleshooting ○ Data collection on network devices ○ Telemetry on network behavior
What types of APIs does the IOS-XE programmable interface support?
NETCONF, RESTCONF, gRPC
Does IOS-XE streaming telemetry use a push or pull method for data?
Push
It allows pushing data off the device to an external collector at a much higher frequency more efficiently, and “data-on-change” streaming – DNAC
What are the 3 operational approaches in a production environment to programmatically integrate or configure a network device?
- via a controller (DNAC); has north and southbound interfaces
- via config management tools (DevOps)
- Directly on the device
In what language is the configuration of NETCONF modeled in?
YANG
It used to be just CLI over NETCONF
What is Guest Shell? (running on an IOS-XE based switch for example)
What does the Guest Shell allow?
A Guest Shell container is a built-in Linux Container (LXC) running on Cisco IOS XE systems with Python version 2 preinstalled.
IOS XE Software running on a Cisco Catalyst 9000 switch reserves dedicated memory and CPU resources for Guest Shell.
Guest Shell, a specialized container that is prebuilt and installed within the system, allows customers and third-party application developers to add custom functionality directly on the device in a secure, isolated environment.
REVIEW: NXOS Device-Level APIs
- NX-API CLI - makes CLI available outside of the switch (versus on-box). Sends commands to the device wrapped in HTTP/S but gets structured XML/JSON data back
- NX-API REST - provides access to objects stored in the Management Information Tree (MIT), which maintains the objects on a switch (configuration, operational status, statistics, faults, etc. are all objects)
* The MIT is the single source of truth for the configuration and operational status of NX-OS features and elements
- NX-SDK - a simple & powerful tool for providing off-box, 3rd party custom app development to be placed/run on Nexus switches
- Guest Shell - built-in Linux Container (LXC) running on Nexus devices.
- Bash (Bourne Again Shell) - allows you to access the underlying Linux system on the device and manage the system that way.