- [Instructor] We now want to take a look at APIs
in both Cisco DNA Center and vManage.
An API, or an Application Programming Interface,
is a building block that allows applications
to communicate with one another.
APIs in their most basic sense are simply building blocks
of code or software that were created to save time
for developers.
Rather than starting from scratch trying to write code
that will allow two applications to speak
with one another, this allows developers to use
pre-built APIs for this piece.
This saves lots of development time and resources
as opposed to having the need to specifically code
for the communication between the applications.
First let's take a look at Cisco DNA Center.
As we've already determined, DNA Center is the central piece
for Cisco's intent based network automation architecture.
Intent APIs are referred are referred to
as Northbound interfaces.
These are REST APIs.
REST standing for Representational State Transfer.
This is very common in web services and it uses
HTTP requests for data transfer,
namely the GET, PUT, POST, and DELETE requests.
These are used to simplify workflow creation in
DNA Center so that we can easily automate multiple
network actions.
Think of the work it takes to configure a new SSID
on your wireless LAN manually.
You have to assign interface addresses,
SSID settings, security parameters,
VLAN assignment and more.
Intent APIs allow us to do that very very simply
through a graphical interface.
And to perform that on multiple devices at the same time.
When we're logged into the DNA Center dashboard,
a few common areas where we put intent APIs to use
include creating and managing our sites,
retrieving health information about our topology,
managing our devices and users, device onboarding
and provisioning, path trace commands, policy creation,
and much much more.
In short intent APIs are used to enforce the configurations
and settings that we choose in DNA Center.
We also have integration APIs or Westbound interfaces.
These are used to integrate Cisco DNA Center
with other platforms,
specifically third party IT service management solutions.
For example, let's say you have a trouble ticketing system
in place where employees can submit requests for
assistance and support or they can report issues.
Integration APIs allow DNA Center to interact
and exchange information with these external IT systems,
such as in-house ticketing software.
And that's so that network data, events,
and notifications can be pushed from DNA Center
into this system.
That means that you have the capability of allowing
DNA Center to create tickets on its own.
We've already looked at DNA Center's ability to
detect problems early through machine learning
and so if DNA Center detects a device with a security
issue or a problem with its built-in assurance tools
through the integration APIs it has the ability
to automatically generate tickets
with suggested remediation.
So the information here can flow in both directions
between these systems.
We also have multivendor support or Southbound interfaces.
This is accomplished through the Cisco DNA Center
multivendor SDK, the Software Development Kit.
An API can be thought of as a much more simple piece
of software than an SDK
without all of the debugging support
and other features that are found within SDKs.
So an SDK can include multiple APIs.
Cisco's DNA Center multivendor SDK allows users
to manage non-Cisco devices directly from DNA Center.
At the time of this recording, this includes
seeing basic device details, and interface status
and using common communication protocols with that device,
such as SNMP, TELNET, SSH and others.
This is an ongoing development area for Cisco
and I'm certain that as new versions of DNA Center
are released this functionality will just continue
to improve.
And finally we have events and notifications,
the Eastbound interfaces.
These interfaces allow for external systems
to take action against a device when an event
or notification is triggered by DNA Center.
For example, maybe there's a device in the network
that is not running up to date software patches
and DNA Center sends out a notification about that.
A custom application in the network could use
this notification to execute a software upgrade
in order to bring the device back into compliance.
vManage APIs are numerous and they're grouped
into seven main categories called Resource Collections.
We have administrative APIs, for managing users
and groups, and also used for managing the local
vManage server itself.
Certificate Management APIs, of course used for key
and certificate management; Configuration APIs
for creating and editing device configurations;
Device Inventory APIs, used to collect metrics
about devices that are under the control of vManage;
Monitoring APIs used for viewing device statistics
and status, by the way this is static monitoring data
that's only updated every 10 minutes,
but thankfully we have Real-time Monitoring APIs
for seeing up to date traffic and device information
that's gathered by the second.
And we have Troubleshooting APIs,
tools for remediating issues found within the network.
To see a complete list of these APIs
you can check out the Cisco SD WAN documentation
where there is a very thorough command reference
for vManage APIs.
So that's a look at APIs in both Cisco DNA Center
and Cisco vManage.