APIs Exposed on TechWiseTV


[MUSIC PLAYING] ROBB BOYD: It was
only just announced at Cisco Live in Orlando
and I’m excited that we get to cover this here
for you because it is a really big deal. It’s DNA Center Platform. Now that distinction
here flew right past me the first few times I was
hearing it because most of us know that Cisco DNA Center is
the foundational controller and analytic center at the
heart of Cisco’s intent based network. It’s been out for over a year. We’ve featured
multiple shows on it. And chances are high
that you’ve already deployed, tested, or
just at least researched just how many
benefits you could get from this complete
re-imagining of the network. Well, DNA Center is
where you interact with the entire network. You can see with it what has
been really four big categories showing right there in the
interface– design, provision, policy, and then of
course we rolled out assurance right after that. Well now there is
a fifth capability. It’s platform. So DNA Center Platform
opens up everything so that you can do exponentially
more with all of that stuff. So customers,
partners, developers, third parties of
any sort, now can continue to add even more
value to the entire system. And it’s not a new product
or a licensing tier. Its part and parcel of the value
that you get with DNA Center should you choose
to leverage it. But I think you will. So we have Adrian here
from the DevNet team to show us some examples of
how all of this can be used. First up, Saurav from the
DNA Center Platform team joins us to click into
platform and see just how deep the rabbit hole goes. All right, welcome. We’re in the lounge
with Saurav Prasad who is technical marketing engineer
with the DNA Center team. But specifically we’ve been
talking about this Platform which actually would have flown
right past me if I wasn’t– well, I wasn’t paying
attention at first. You guys were saying platform
and I was like, yeah, DNA Center is a platform. You were like, no, Robb, we
do all kinds of new stuff that we’re really proud of. So how do you begin
to explain it? SAURAV PRASAD: So almost a year
back, we launched the network intuitive campaign. And this was at Cisco
Live Las Vegas, where we launched the Cisco DNA Center. Now DNA Center is your
centralized operations console that dramatically simplifies the
management and orchestration– ROBB BOYD: Everything we
do goes through DNA Server. SAURAV PRASAD: Yeah, of
your enterprise network. And that includes your routing,
your switching, your wireless networks, all of that. And then the next step was to
launch DNA Assurance, which now gives you insights or
context back from the network. ROBB BOYD: Right. SAURAV PRASAD: So this is
where something that happened earlier this year at
Cisco Live Barcelona. And what we launched
in Cisco Live Orlando was the DNA Center Platform. And this is where
we are opening up all of the capabilities,
the workflows, and the functionalities, of the
DNA Center to our developers, to our partners,
to our customers, so that they can integrate
their IP processes or their own applications
directly with the network. Which is why the DNA Center. ROBB BOYD: So
first, just to make sure no one is
unclear about this, this is not a separate product
or something we’re upselling on or something like this. This is part and parcel now
of DNA Center with the latest release. And this is a set of
capabilities that have already existed that we’re now
providing access to so that more can be done. Is that a way of putting it? SAURAV PRASAD: Yes. This is part of the
DNA Center product. So people might
have already gone through the design, policy,
provision, and assurance workflows. We have now added a fifth
workflow there for platform. And that is where we expose
our APIs, our integration APIs. So for example, if
you see here, this is my DNA Center landing page. We have the design, policy,
provision, assurance. And if we come further down
now we have the platform. ROBB BOYD: Ah, yeah, that’s new. Wasn’t been there before. OK. SAURAV PRASAD: And now
if I click on that, that gives me all of the
tools that a developer needs to integrate with
the DNA Center. So keep in mind, we already
have those in the DNA Center. But you could do it
via the user interface. So you go on click and
create sites, add policies, provision them, and get
data back from a network and view it in the
assurance screens. ROBB BOYD: Yeah,
that’s a good point. Because DNA Center is not some
big monolithic application. This is microservices running
in containers on Kubernetes. And it’s everything
that we’re actually starting to expose now. So really, you’re giving access
to things that were inherently already there. But you’ve done a
lot of work on them. That’s why they couldn’t
come out immediately. SAURAV PRASAD: Exactly. So if we want to expose all of
that functionality– via APIs, via SDKs, And the reason why
we haven’t released so far was, we wanted to make sure
that these APIs are ready for consumption
by the developers. Some of these APIs
were already there. But we wanted to clean
it up and make sure that it’s available in the
right format for our developers to use. So if I go back here to
the developer toolkit, you’ll see we have APIs. And so these are
the APIs that expose all of the workflows
like software defined access, assurance,
application policies, software image management–
all of these APIs are there. We also have APIs to integrate
with your IT process systems. So something like IT Service
Management, ITSM, or your IPAM, IP Address Manager. These APIs are available. So now I can integrate with some
of these external IT process systems. So this is where we
are able to integrate the network with your
end to end IT process. ROBB BOYD: Excellent. Because in a lot of
situations customers who may be moving to
DNA Center may already have some mature
processes, relationships, and operational things
that they do now. This can work right
along with them. Or if they’re building
in that direction, because that’s just where a
lot of people are going now and developers are
working with network folks and they’re sharing
their knowledge, this becomes a way to
potentially do that. SAURAV PRASAD: Exactly. So just take an
example of assurance. DNA Assurance is able to
identify a lot of issues that’s happening in the network. This could be with devices,
with clients connected to your network, or
applications that are running in the network. But do we really
expect a network admin to be sitting in front of a
DNA Center console 24 hours all day just to see where
is the issue popping up? What you want is,
this issue pops up and then there is a
ticket already opened up with your ITSM system. That’s all automatic. Now, we provide
the APIs for that. And then we have also built
some reference applications that lets you integrate
with some of these systems, like service now for example. But the APIs are open. And our developers, our
partners, can use these APIs and build their own
integrations if they want to. ROBB BOYD: Oh, excellent. OK, because it really
is about access to a depth of information
that we’ve proven is actually more available. The network’s been
talking for a while and it seems like with DNA
Center we’re listening to it a lot better. But as it gives
information, you can also act on that information
external to a DNA Center and make more
intelligent decisions. So you’re really
moving and you’re kind of taking the analytics
and that information and providing more
automation capabilities that don’t necessarily have
to be Cisco based. It’s just that we have some
of the gold information that you want to
sift through and use. SAURAV PRASAD: Exactly. ROBB BOYD: And now we’ve
made that available. SAURAV PRASAD: Absolutely. ROBB BOYD: So you mentioned
intent APIs and integration APIs? SAURAV PRASAD: Yes. So we have two kind of APIs. The APIs for external
applications, so your business applications,
your network applications. And so we are using our intent
API infrastructure for that. So we have two kinds
of APIs that we expose, the network APIs and
the business APIs. Now, we have been talking about
the intent based networking. And that’s all about expressing
your intent, your business intent. So we do it via the UI today. We also want to give
you an API where you are able to express
your business intent. There are a lot of software
developers out there who are experts in Python
or some programming skills. But they are not
necessarily CCIEs. They don’t understand
how the network behaves, or they don’t know the nuances
of doing a wireless deployment. So we cannot expose them to
those individual APIs to do that because they might not
be aware of how to do that. So when I give them
a business API, a business intent API, I let
them express their business intent via the APIs. And then the DNA Center
takes care of the rest. And by that I mean, it might
call five, 10 different APIs under the hood,
which would actually do the actual provisioning
on the network. But the developer doesn’t
need to know that. ROBB BOYD: So a lot
of the work we’ve done is kind of creating these
super APIs which are a composite of other things. And I know we don’t call it
that, but actually that’s a good way to understand it– SAURAV PRASAD: Exactly. ROBB BOYD: –because to
our developer audience, this becomes something. It’s going to do a lot
of things on your behalf so that you can get
what you need faster. You don’t need to understand it. Now I’m curious,
do I have control as– as if I’m a network
person, is there still role based access control to
the APIs and such like this? So that you’re not opening up
your network and just going, oh, I hope they don’t
mess anything up. You still have all
the same controls. SAURAV PRASAD: Yeah, exactly. So before we use
any of the APIs, you have to get a token
from the DNA Center. And those tokens are based on
your role based access control settings. So if me as Saurav, I only
have observer privileges on DNA Center, I’m only
able to do some reads. I cannot do any provisioning. And if I want to
make an API call, that follows the same rules. ROBB BOYD: Oh, that’s nice. SAURAV PRASAD: I can
only make API calls to get information but not do
any provisioning, for example. ROBB BOYD: OK, so
we’ve got APIs. But you’ve also got, what, SDKs? And some other– SAURAV PRASAD: Exactly. Yeah, so we have SDKs which
will allow us to support non-Cisco third party devices. ROBB BOYD: Really? Oh, OK. SAURAV PRASAD: As
you might know, DNA Center today has support for
pretty much every Cisco device for Enterprise Campus and WAN. What we don’t have support
is for the non-Cisco devices. And there are technical
reasons for that. We don’t understand
those devices well enough to write a
device pack for that. So what we’re doing is, we
are bundling that device pack as a Software
Development Kit, an SDK, and we’re giving it out. And our partners, our
channel partners, our system integrators, they
can use these SDKs and build their
own device packs– ROBB BOYD: I bet
that’s useful, yeah. SAURAV PRASAD: –for
non-Cisco devices. And we already have
some partners who have started working on that. And they’ve already showcased
some of this at Cisco Live last month. ROBB BOYD: Excellent. OK, so the APIs, which
is a big bulk of it. But the SDKs as well,
which is interesting. I didn’t realize we
were opening that up. Anything else? SAURAV PRASAD: Yeah. And we also have the events
and notification framework. So for example,
as I said earlier, DNA Assurance is
able to identify a whole bunch of events. And this is not only
Assurance events. They could be some automation
or compliance events as well. So for example, I have
done a provisioning on 500 devices in my network. And say for whatever reason
it fails on some devices. Now do I expect the admin to
come back and keep checking whether it has succeeded? Because some of this
might take 10 minutes, 20 minutes, maybe an hour. So we can send a notification
out to an external webhook. And these are the rest
based webhooks where I just send out this notification. And this is detailed
information about– ROBB BOYD: So you can input
that anywhere you want, a pre-existing system. SAURAV PRASAD: Yes. And then a developer can
take that information and they can then send
an email out of this, send a text message,
whatever they want to do it. But we send out a
generic notification to wherever you
want it to be sent. ROBB BOYD: OK. All right, now you’ve got some
resources within that Platform link on DNA Center for
additional documentation and interacting and making
all this stuff easy. But we also have the
DevNet community. I’m little bit fanboyish so
I put on the shirt for them. Is there anything else we
need to understand, though, about the platform before I dive
into some of the DevNet side of things? SAURAV PRASAD: Sure. So, on the platform portal you
have the developer toolkit. So we talked about
APIs integrations and we also have the
reporting capabilities. And that’s part of the
integration API flow. But if I dig deeper into
the APIs, for example here, and you’ll see we
have all of the APIs there to support
it today documented on the portal itself. So we will have APIs
for site management. So here we have APIs for
plug and play, software image management. Any of your assurance APIs show
up in the Know Your Network section. So we have APIs for
devices, clients, sites, and all of that. And all the other APIs are here. If I go to connectivity for
example, these are APIs, and we will add more to this. For now we have support
for non-Fabric wireless. So this is where you
can create your SSIDs or you can delete SSIDs
from your network. Let’s drill down further
into just one of these APIs. So if I go to the
Create SSID API, you’ll see I have all
the documentation. Anything that a developer
needs is documented here. You have the URL,
what type of method it is– it could be post,
get, delete, put method. We have the header parameters. We have the response codes. We also have the model schemas. So anything that a
developer needs is here. I can click on
the request schema or on the model response schema. They’re all here. So it makes it very easy for
the developer to start using it. And last but not least, we
also have a Try It button. So if they really want to
try out the APIs here itself, they don’t need to write
a single line of Python. ROBB BOYD: So you’re not
playing on the network? SAURAV PRASAD: No. ROBB BOYD: Oh, wow. SAURAV PRASAD: So
they can actually run those API calls from
the DNA Center itself, just to test out, right? I mean, this is–
of course when they are building their
own integration or their own application,
they will do all of that. They’ll write the Python
or whatever other language they use. ROBB BOYD: Yeah, but that gives
you a boost of confidence just to make sure you understand
exactly what does it need as an input? What am I going to
get as an output? Is that what I expected? Or do I have to do
something else before I’m playing with anything? Do you using sample
data from the network? SAURAV PRASAD: No. So actually, this will
work on the network itself. But what I’m saying
is, you don’t need to write a Python
script for that. It’s all running within– ROBB BOYD: Ah, I gotcha. OK, OK. SAURAV PRASAD: So you don’t
have to get a token because now that you’re on the UI
itself, you already authenticated yourself. So you don’t need to get a
token because otherwise you will need to get a token
before you want to run this API ROBB BOYD: You guys have to
do a lot of documentation, don’t you? SAURAV PRASAD: Yes. So all of that is
documented here. And what we have also
done is shown all of that and referenced all
of this into DevNet. So if you go to the DevNet
portal for DNA Center Platform, all of this is there. And I think you’ll be talking
about that in this upcoming section. ROBB BOYD: That’s what
I’m going to do next. Listen, man, thank
you for all the work that your team does on that. Didn’t believe you guys had
been hiding this from us here for the last year as
we rolled out DNA Center. But this is really going to
open it up to a lot of people. All right, I’m going to jump
over for DevNet and see Adrian. Thank you very much, Saurav. SAURAV PRASAD: Thanks, Rob. ROBB BOYD: All right, Adrian. Thank you so much
for waiting for me. I am a big fan of DevNet. I wore the shirt as a favor. It is a shout out because we’ve
had Hank Preston on the show. I love everything you guys do,
because you guys have created a revolution, if you
will, with helping us understand the relationship
between networking technology which we really pride ourselves
in, and just the openness and the capabilities
that we do when we work with developers closely. And you guys are
bridging that divide. So I love DevNet. I like what you guys
have accomplished. But you’re also the key to what
we’re doing with DNA Center Platform, right? ADRIAN ILIESIU: Right. That’s right, Rob. First of all, thanks a lot
for having me over here. It’s great to be here. So before we go into
DNA Center Platform, maybe let’s have a quick
recap of what DevNet is. Maybe there’s some people
out there that are not– ROBB BOYD: No, that’s a
good point, because there’s a lot of resources. You’ve got some of
this stuff up here. So how do we get there? Where do we get started? ADRIAN ILIESIU: Right,
so you would want to go to developer.cisco.com. There is where
everything is, right? So like you’ve said, we’ve
been working for five years now, almost, thinking about it. Wow, it’s just,
time flies right? So we have a bunch
of content here. People should be already
familiar with it. But if they’re not,
there’s learning labs, there’s sandboxes which I’m
sure you’re familiar with. ROBB BOYD: Yeah,
because– well, I went on there to play because I
learned the thing when I first met Susie and I was
getting my head wrapped around what the whole
organization was building towards. And it was building fast. And it was like, I’ve got to
brush up on, what is an API? You know, what is rest? What does that mean? And you guys spent a lot
of time in the beginning, and you’re continuing to,
building these learning tracks. But now you’ve added
videos, I think, from Hank? ADRIAN ILIESIU: Yes. ROBB BOYD: And then the
sandbox, this is really cool. And that blew my mind at
first because you get to play. So you guys allow us
to play with the code and understand it. And that’s also part
of the training. But it’s also part
of, hey, I just wanted to try something out? ADRIAN ILIESIU: Exactly. Yes, so you get
access to sandboxes if you don’t want to order,
necessarily, equipment or set up a lab for yourself. ROBB BOYD: Or you just can’t. ADRIAN ILIESIU: Or you just
can’t, in some cases, right? Then yeah, you can
definitely use our sandboxes. You just need to
be a DevNet member. ROBB BOYD: That’s easy. ADRIAN ILIESIU:
That’s all it takes. It’s all free. So then you get
access to the sandbox. ROBB BOYD: Excellent. But you guys have
continued to build these. ADRIAN ILIESIU: Yes. That’s a great point. There’s actually been
a couple of things that we released in Orlando
this year for Cisco Live 2018. So we have the Code
Exchange, first of all, and then the Ecosystem
Exchange is right there. ROBB BOYD: We’re seeing
things at the end, all right. ADRIAN ILIESIU: Yes. Code Exchange
basically is a platform that we give our
community members, a place for them to start collaborating,
to start submitting their source code
for the applications that they’re working on. ROBB BOYD: So assuming
I knew what I was doing, I thought I built
something cool combining whatever, various things. I do the coding and testing. And I could write it up
and publish it in here and other people could
use it and they don’t have to build from scratch anymore. ADRIAN ILIESIU: Exactly. That’s exactly the
point of Code Exchange. ROBB BOYD: It’s like GitHub? ADRIAN ILIESIU: It’s actually–
that’s a great point, because it’s all
running on GitHub. ROBB BOYD: It is
running on GitHub, OK. ADRIAN ILIESIU: Yes. Well, it’s pointing to
GitHub for all the repos. But it’s one central point. The image we’re trying
to get different GitHub repos so that people can access
them in one central point. ROBB BOYD: Oh, but the nice
place is, you go through here and then you know it’s part
of what’s going on with Cisco. It’s going to apply to the
things you’re trying to do. ADRIAN ILIESIU: Right. ROBB BOYD: So show me
what that looks like. ADRIAN ILIESIU: Yeah, so if– actually, it’s right
here, a shortcut for you. If you go Code Exchange,
just click on it. And you get to see here,
there’s just a lot of projects out already. And this has been
launched, like I said, a bit more than a month ago now. And there’s already
hundreds of them. And we keep adding
more on a weekly basis. ROBB BOYD: So they’re rated
and all the things you would expect. People can comment
on them as well? ADRIAN ILIESIU: Exactly. People– ROBB BOYD: And you
can filter down and find exactly what you’re
looking for or search. ADRIAN ILIESIU: Right. That’s a great point. We have, for DNA Center
Platform specifically, we have a link here for all
the projects pertaining to– ROBB BOYD: To Platform. ADRIAN ILIESIU: –to
Platform, exactly, yeah. So like Saurav was saying,
we have the SDK here if you start working with the
SDK in different languages. And then what I want to go into
is actually host onboarding, which for a network,
it’s right here. Yep. So in this case I’m
just going to show what we’re planning to do this,
with the onboarding piece. Is whenever you get
access to new devices that you’ve added to
DNA Center and you might want to configure
something specific, like a VLAN only
interface, you want to change it or description,
or whatever you want to do. You can build templates, what
we call them in DNA Center. And then through the
API call the templates and apply them automatically
to different devices. ROBB BOYD: So that’s part of the
API access to those templates that Saurav was mentioning. Because there’s a lot of
different API’s on access they’ve built. ADRIAN ILIESIU: Exactly. ROBB BOYD: So you take this
code to get you started, so you’re kind of starting
a step ahead already. ADRIAN ILIESIU: Right. ROBB BOYD: So how do
we take it from there? ADRIAN ILIESIU: Yes. So from here, you
can view it on GitHub like I was mentioning earlier. You have a link here. You can see the repo, small
description, and then how to– how to use it, how to it clone
it, what’s the requirements? For this specific one we
need Python 3.6 and above. And then DNA Center
has to be 1.2 or above, the one that has
been launched in– ROBB BOYD: Platform. ADRIAN ILIESIU: Yes, Platform. And then also the RBAC that
you guys were talking about– ROBB BOYD: For Role
Based Access Control, OK. ADRIAN ILIESIU: You have to have
an account that actually allows to do these type
of specific calls for this specific application. ROBB BOYD: OK. So you clicked on
GitHub, you download, and then, kind of like
a cooking show here, we’re already up and running
because everybody knows how to download and run a file. But what are we
looking at here now? ADRIAN ILIESIU: So here, I have
my Python virtual environment set up, like the requirements. I have Python 3.6
running in here. And then, I mean the
folder with the actual code that I downloaded. So let’s have a look at it. Let’s see what it can do. So to run it I do that. And there is a couple
of options here. So this application, specific
one, can do several things. You can get a device list,
a list of all the devices that are being
managed by DNA Center. ROBB BOYD: Like an
inventory or something? ADRIAN ILIESIU: Yes. And then the interfaces
on specific devices from that list. And then you can also
get a template list. Basically what we’re trying
to do with the templates with DNA Center is that
we’re trying to automate mundane tasks, like you have– ROBB BOYD: Like onboarding. ADRIAN ILIESIU: Like
onboarding, exactly. You have a brand
new device and you want to configure
your VLAN interfaces, or on a specific interface. ROBB BOYD: Because IoT, we’re
doing that all the time. And gosh, we’re doing
it for minor devices we never thought we’d
have to worry about. But yet, we want them
on the network safely in their own VLAN, ideally. ADRIAN ILIESIU:
Correct, exactly. That’s a great example Rob. So, you get a list
of the templates. And in our case, let’s
see what templates we have on this DNA Center
appliance that we have here. So if we do a template
list, what’s happening now, the script is reaching
out to DNA Center Platform through the API and gets the
list of all the templates that are available on
this specific instance. So we see here we
have four of them. Just change time
zones, very simple one. Network device
onboarding is the one we’re actually going to
call in our script here. And we’re going to
configure a specific VLAN on an interface on one of the
switches that are being managed by DNA Center. ROBB BOYD: So it
tells us what we need and what we’re going to get back
so we have a quick overview. And that’s based on DNA Center. That obviously wasn’t
part of the script. This is the script getting
it for us as the next step. ADRIAN ILIESIU: Correct. The script is getting it and is
displaying it in a nice format so it’s nicely and
readable for us. ROBB BOYD: All right. Let’s go into the
onboarding one, then. ADRIAN ILIESIU: Yes. So let’s run the onboarding
one for a specific interface. And I’m connected
here to the switch that we’re going to
apply the change to. And let’s see on interface,
10 gig 1/1/4, let’s say. And we see here is just
basic configuration. There’s no VLAN
configure at this point. And there’s very little
description on the interface. There’s nothing. So now if we go
back to our script and we apply the network
device onboarding template. The target, we have
it right there. It’s the catalyst 9K switch. And the we’re configuring
in this case VLAN 3000. The description is going to be
TechWiseTV, because you know– ROBB BOYD: Why wouldn’t it be? ADRIAN ILIESIU:
–we’re on TechWiseTV. And the interface
that we had a look at, the 10 gigabit ethernet 1/1/4. So if you run the
script, it’s going to reach out to DNA Center,
right through the API. It’s going to push
these three parameters in that specific template,
go reach out to the device, and apply the configuration
to the device. ROBB BOYD: And I
can see how easily, when you talk
about a big network and you talk about
doing that kind of stuff smoothly over time,
obviously the big thing is, don’t manually
have to do all this and potentially introduce
who knows how many errors because this is
actually simple in terms of the number of things
you could be doing. But I like this example. ADRIAN ILIESIU: Yes. ROBB BOYD: Oh, so
you got a response. ADRIAN ILIESIU: Yeah,
so it says in progress but I’m pretty sure
it’s already applied. If we check the interface
now, there we go. So we have the description. We have VLAN 3000, the
one that we configured. And then the switchport
is accessible. ROBB BOYD: Excellent, right? ADRIAN ILIESIU: So this is
just one example of what you can do through APIs,
DNA Center Platform, and the breadth of opportunities
that are being open with API. ROBB BOYD: So
that’s a challenge, picking out exactly what are
we going to focus on here? Because I was going
through things you guys were
doing at Cisco Live from the multi-step process
of setting up temporary SSIDs, or working with partners
with this information to be able to do things that
were complex or time consuming. Now that can be done instantly
in a way where errors are not introduced, which thus makes
the network more stable. And this really opens
things up, in a lot of ways, that we probably can’t
even predict I would assume. Because this really does bring
in a lot of smart people now and all the developers
that we’d like to continue to
play and say, hey, I got a better way do this. Well, now you’ve got a way
to share it, Code Exchange. So developer.cisco.com is
where everybody needs to go? ADRIAN ILIESIU: Yep, yep. ROBB BOYD: Tell you what. I’m going to close this out. Stay right here one
second because I got a few private questions
for you, just a moment. But stay there. Guys, thank you so
much for joining us. Obviously there is no
excuse for not digging into developer.cisco.com. Dig into here because
there’s ways, no matter what your current
situation is, there’s no excuse for not being able
to learn exactly how much this can do for you. And the way we can
now continue to bridge the relationship between
developers who are intelligent and incredibly smart on
one side with network engineers such as many of you on
the other side, there’s so much we can do together. And now we’ve got tools to
be able to do it as well. So go online, get that
education curve going. There’s so much more
information there as well. In fact, the videos
and everything else these guys
are doing complete. But always, thank you for
watching TechWiseTV.com. All of our information
is there on the screen. Appreciate you watching this. We’ll see you on the next one. [MUSIC PLAYING]

Leave a Reply

Your email address will not be published. Required fields are marked *