- [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 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 multi-vendor support, or southbound interfaces.
This is accomplished
through the Cisco DNA Center multi-vendor 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 multi-vendor 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.
Now, 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.