1
00:00:01,000 --> 00:00:03,002
- [Instructor] We now want to take a look at APIs

2
00:00:03,002 --> 00:00:06,006
in both Cisco DNA Center and vManage.

3
00:00:06,006 --> 00:00:10,003
An API, or an application programming interface,

4
00:00:10,003 --> 00:00:12,006
is a building block that allows applications

5
00:00:12,006 --> 00:00:14,004
to communicate with one another.

6
00:00:14,004 --> 00:00:16,005
APIs, in their most basic sense,

7
00:00:16,005 --> 00:00:19,007
are simply building blocks of code or software

8
00:00:19,007 --> 00:00:22,007
that were created to save time for developers.

9
00:00:22,007 --> 00:00:25,005
Rather than starting from scratch trying to write code

10
00:00:25,005 --> 00:00:28,008
that will allow two applications to speak with one another,

11
00:00:28,008 --> 00:00:33,004
this allows developers to use pre-built APIs for this piece.

12
00:00:33,004 --> 00:00:36,008
This saves lots of development time and resources

13
00:00:36,008 --> 00:00:39,008
as opposed to having the need to specifically code

14
00:00:39,008 --> 00:00:42,006
for the communication between the applications.

15
00:00:42,006 --> 00:00:45,005
First, let's take a look at Cisco DNA Center.

16
00:00:45,005 --> 00:00:47,000
As we've already determined,

17
00:00:47,000 --> 00:00:48,008
DNA Center is the central piece

18
00:00:48,008 --> 00:00:53,002
for Cisco's intent-based network automation architecture.

19
00:00:53,002 --> 00:00:58,000
Intent APIs are referred to as northbound interfaces.

20
00:00:58,000 --> 00:01:00,003
These are REST APIs.

21
00:01:00,003 --> 00:01:04,001
REST standing for representational state transfer.

22
00:01:04,001 --> 00:01:06,003
This is very common in web services

23
00:01:06,003 --> 00:01:10,003
and it uses HTTP requests for data transfer,

24
00:01:10,003 --> 00:01:15,001
namely the GET, PUT, POST, and DELETE requests.

25
00:01:15,001 --> 00:01:18,008
These are used to simplify workflow creation in DNA Center

26
00:01:18,008 --> 00:01:22,005
so that we can easily automate multiple network actions.

27
00:01:22,005 --> 00:01:25,006
Think of the work it takes to configure a new SSID

28
00:01:25,006 --> 00:01:28,000
on your wireless LAN manually.

29
00:01:28,000 --> 00:01:31,005
You have to assign interface addresses, SSID settings,

30
00:01:31,005 --> 00:01:34,007
security parameters, VLAN assignment, and more.

31
00:01:34,007 --> 00:01:38,008
Intent APIs allow us to do that very, very simply

32
00:01:38,008 --> 00:01:40,006
through a graphical interface

33
00:01:40,006 --> 00:01:44,006
and to perform that on multiple devices at the same time.

34
00:01:44,006 --> 00:01:47,009
When we're logged into the DNA Center dashboard,

35
00:01:47,009 --> 00:01:51,006
a few common areas where we put intent APIs to use

36
00:01:51,006 --> 00:01:54,009
include creating and managing our sites,

37
00:01:54,009 --> 00:01:58,001
retrieving health information about our topology,

38
00:01:58,001 --> 00:02:00,004
managing our devices and users,

39
00:02:00,004 --> 00:02:02,009
device onboarding and provisioning,

40
00:02:02,009 --> 00:02:07,002
path trace commands, policy creation, and much, much more.

41
00:02:07,002 --> 00:02:12,001
In short, intent APIs are used to enforce the configurations

42
00:02:12,001 --> 00:02:15,006
and settings that we choose in DNA Center.

43
00:02:15,006 --> 00:02:20,007
We also have integration APIs, or westbound interfaces.

44
00:02:20,007 --> 00:02:23,005
These are used to integrate Cisco DNA Center

45
00:02:23,005 --> 00:02:25,002
with other platforms,

46
00:02:25,002 --> 00:02:30,000
specifically third-party IT service management solutions.

47
00:02:30,000 --> 00:02:33,000
For example, let's say you have a trouble ticketing system

48
00:02:33,000 --> 00:02:36,000
in place where employees can submit requests

49
00:02:36,000 --> 00:02:39,009
for assistance and support or they can report issues.

50
00:02:39,009 --> 00:02:44,000
Integration APIs allow DNA Center to interact

51
00:02:44,000 --> 00:02:47,009
and exchange information with these external IT systems,

52
00:02:47,009 --> 00:02:50,002
such as in-house ticketing software.

53
00:02:50,002 --> 00:02:53,002
And that's so that network data, events,

54
00:02:53,002 --> 00:02:55,004
and notifications can be pushed

55
00:02:55,004 --> 00:02:58,002
from DNA Center into this system.

56
00:02:58,002 --> 00:03:00,000
That means that you have the capability

57
00:03:00,000 --> 00:03:03,007
of allowing DNA Center to create tickets on its own.

58
00:03:03,007 --> 00:03:05,007
We've already looked at DNA Center's ability

59
00:03:05,007 --> 00:03:09,000
to detect problems early through machine learning.

60
00:03:09,000 --> 00:03:13,003
And so if DNA Center detects a device with a security issue

61
00:03:13,003 --> 00:03:17,001
or a problem with its built in assurance tools,

62
00:03:17,001 --> 00:03:19,005
through the integration APIs,

63
00:03:19,005 --> 00:03:23,001
it has the ability to automatically generate tickets

64
00:03:23,001 --> 00:03:24,007
with suggested remediation.

65
00:03:24,007 --> 00:03:28,002
So the information here can flow in both directions

66
00:03:28,002 --> 00:03:29,009
between these systems.

67
00:03:29,009 --> 00:03:34,006
We also have multi-vendor support, or southbound interfaces.

68
00:03:34,006 --> 00:03:36,002
This is accomplished

69
00:03:36,002 --> 00:03:40,003
through the Cisco DNA Center multi-vendor SDK,

70
00:03:40,003 --> 00:03:42,004
the software development kit.

71
00:03:42,004 --> 00:03:45,003
An API can be thought of as a much more simple piece

72
00:03:45,003 --> 00:03:49,008
of software than an SDK without all of the debugging support

73
00:03:49,008 --> 00:03:52,007
and other features that are found within SDKs.

74
00:03:52,007 --> 00:03:56,005
So an SDK can include multiple APIs.

75
00:03:56,005 --> 00:04:01,001
Cisco's DNA Center multi-vendor SDK allows users

76
00:04:01,001 --> 00:04:06,000
to manage non Cisco devices directly from DNA Center.

77
00:04:06,000 --> 00:04:07,006
At the time of this recording,

78
00:04:07,006 --> 00:04:10,005
this includes seeing basic device details

79
00:04:10,005 --> 00:04:12,000
and interface status

80
00:04:12,000 --> 00:04:15,007
and using common communication protocols with that device,

81
00:04:15,007 --> 00:04:20,001
such as SNMP, Telnet, SSH, and others.

82
00:04:20,001 --> 00:04:23,003
Now, this is an ongoing development area for Cisco

83
00:04:23,003 --> 00:04:25,005
and I'm certain that as new versions

84
00:04:25,005 --> 00:04:27,001
of DNA Center are released,

85
00:04:27,001 --> 00:04:30,000
this functionality will just continue to improve.

86
00:04:30,000 --> 00:04:33,005
And finally, we have events and notifications,

87
00:04:33,005 --> 00:04:35,007
the eastbound interfaces.

88
00:04:35,007 --> 00:04:38,007
These interfaces allow for external systems

89
00:04:38,007 --> 00:04:41,002
to take action against a device

90
00:04:41,002 --> 00:04:45,002
when an event or notification is triggered by DNA Center.

91
00:04:45,002 --> 00:04:47,007
For example, maybe there's a device in the network

92
00:04:47,007 --> 00:04:50,003
that is not running up-to-date software patches

93
00:04:50,003 --> 00:04:53,006
and DNA Center sends out a notification about that.

94
00:04:53,006 --> 00:04:56,000
A custom application in the network

95
00:04:56,000 --> 00:05:00,000
could use this notification to execute a software upgrade

96
00:05:00,000 --> 00:05:03,006
in order to bring the device back into compliance.

97
00:05:03,006 --> 00:05:05,003
vManage APIs are numerous,

98
00:05:05,003 --> 00:05:08,004
and they're grouped into seven main categories

99
00:05:08,004 --> 00:05:10,004
called resource collections.

100
00:05:10,004 --> 00:05:15,001
We have administrative APIs for managing users and groups,

101
00:05:15,001 --> 00:05:19,007
and also used for managing the local vManage server itself.

102
00:05:19,007 --> 00:05:22,005
Certificate management APIs, of course,

103
00:05:22,005 --> 00:05:25,004
used for key and certificate management.

104
00:05:25,004 --> 00:05:28,000
Configuration APIs for creating

105
00:05:28,000 --> 00:05:30,005
and editing device configurations.

106
00:05:30,005 --> 00:05:35,005
Device inventory APIs used to collect metrics about devices

107
00:05:35,005 --> 00:05:38,003
that are under the control of vManage.

108
00:05:38,003 --> 00:05:40,007
Monitoring APIs used for viewing

109
00:05:40,007 --> 00:05:43,000
device statistics and status.

110
00:05:43,000 --> 00:05:45,003
By the way, this is static monitoring data

111
00:05:45,003 --> 00:05:47,008
that's only updated every 10 minutes,

112
00:05:47,008 --> 00:05:51,002
but thankfully, we have real-time monitoring APIs

113
00:05:51,002 --> 00:05:54,005
for seeing up-to-date traffic and device information

114
00:05:54,005 --> 00:05:56,003
that's gathered by the second.

115
00:05:56,003 --> 00:05:59,000
And we have troubleshooting APIs,

116
00:05:59,000 --> 00:06:02,007
tools for remediating issues found within the network.

117
00:06:02,007 --> 00:06:05,001
To see a complete list of these APIs,

118
00:06:05,001 --> 00:06:08,007
you can check out the Cisco SD-WAN documentation

119
00:06:08,007 --> 00:06:11,005
where there is a very thorough command reference

120
00:06:11,005 --> 00:06:13,007
for vManage APIs.

121
00:06:13,007 --> 00:06:15,000
So that's a look at APIs

122
00:06:15,000 --> 00:06:21,000
in both Cisco DNA Center and Cisco vManage.


