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

