Automation
Automation
Network Automation
BSCI v3.0—2-1
Automation Overview
© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 2
1
1/8/2024
2
1/8/2024
Thinking Devices
• Many devices now incorporate smart technology to help to govern their
behavior. This can be as simple as a smart appliance lowering its power
consumption during periods of peak demand or as complex as a self-driving
car.
• Whenever a device takes a course of action based on an outside piece of
information, then that device is referred to as a smart device. Many devices
that we interact with now have the word smart in their names. This indicates
that the device has the ability to alter its behavior depending on its
environment.
• In order for devices to “think”, they need to be programmed using network
automation tools.
© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 6
3
1/8/2024
4
1/8/2024
Cisco views IBN as having three essential functions: translation, activation, and
assurance. These functions interact with the underlying physical and virtual infrastructure,
as shown in the figure.
Translation - The translation function enables the
network administrator to express the expected
networking behavior that will best support the
business intent.
Activation - The captured intent then needs to be
interpreted into policies that can be applied across
the network. The activation function installs these
policies into the physical and virtual network
infrastructure using networkwide automation.
Assurance - In order to continuously check that the
expressed intent is honored by the network at any
point in time, the assurance function maintains a
continuous validation-and-verification loop.
10
5
1/8/2024
11
12
6
1/8/2024
13
14
7
1/8/2024
Cisco DNA
Description Benefits
Solution
•Used to troubleshoot and increase IT
•Allows you to identify root causes and provides
productivity.
suggested remediation for faster troubleshooting.
•It applies advanced analytics and machine
•The Cisco DNA Center provides an easy-to-use
Cisco DNA learning to improve performance and issue
single dashboard with insights and drill-down
Assurance resolution, and predict to assure network
capabilities.
performance.
•Machine learning continually improves network
•It provides real-time notification for network
intelligence to predict problems before they occur.
conditions that require attention.
•Used to provide visibility by using the network
•Reduce risk and protect your organization
as a sensor for real-time analysis and
against threats - even in encrypted traffic.
Cisco DNA intelligence.
•Gain 360-degree visibility through real-time
Security •It provides increased granular control to
analytics for deep intelligence across the network.
enforce policy and contain threats across the
•Lower complexity with end-to-end security.
network.
15
16
8
1/8/2024
At the top, menus provide you access to DNA Center’s five main areas. As shown in the
figure, these are:
• Design - Model your entire network, from sites and buildings to devices and links, both physical
and virtual, across campus, branch, WAN, and cloud.
• Policy - Use policies to automate and simplify network management, reducing cost and risk while
speeding rollout of new and enhanced services.
• Provision - Provide new services to users with ease, speed, and security across your enterprise
network, regardless of network size and complexity.
• Assurance - Use proactive monitoring and insights from the network, devices, and applications to
predict problems faster and ensure that policy and configuration changes achieve the business
intent and the user experience you want.
• Platform - Use APIs to integrate with your preferred IT systems to create end-to-end solutions and
add support for multi-vendor devices.
17
Data Formats
© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 18
18
9
1/8/2024
19
20
10
1/8/2024
XML Format
21
22
11
1/8/2024
23
24
12
1/8/2024
25
JSON EXAMPLE
{
For example, a list of IPv4 "addresses": [
addresses might look like the {
following output. The key is "ip": "172.16.0.2",
“addresses”. Each item in the "netmask": "255.255.255.0"
list is a separate object, },
separated by braces { }. The {
"ip": "172.16.0.3",
objects are two key/value
"netmask": "255.255.255.0"
pairs: an IPv4 address (“ip”) },
and a subnet mask (“netmask”) {
separated by a comma. The "ip": "172.16.0.4",
array of objects in the list is "netmask": "255.255.255.0"
also separated by a comma }
following the closing brace for ]
}
each object.
26
13
1/8/2024
27
{
"ietf-interfaces:interface": { • IOS output in JSON is to the left. The same data
"name": "GigabitEthernet2", in YAML format is below. It is easier to read.
"description": "Wide Area Network",
"enabled": true, • Similar to JSON, a YAML object is one or more
"ietf-ip:ipv4": { key value pairs. Key value pairs are separated
"address": [ by a colon without the use of quotation marks. In
{ YAML, a hyphen is used to separate each
"ip": "172.16.0.2",
element in a list.
"netmask": "255.255.255.0"
}, ietf-interfaces:interface:
{ name: GigabitEthernet2
"ip": "172.16.0.3", description: Wide Area Network
"netmask": "255.255.255.0" enabled: true
}, ietf-ip:ipv4:
{ address:
"ip": "172.16.0.4", - ip: 172.16.0.2
"netmask": "255.255.255.0" netmask: 255.255.255.0
} - ip: 172.16.0.3
] netmask: 255.255.255.0
} - ip: 172.16.0.4
} netmask: 255.255.255.0
}
28
14
1/8/2024
XML objects are one or more key/value pairs, with the beginning tag used as
the name of the key: <key>value</key>
29
30
15
1/8/2024
APIs
© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 31
31
• An API is software that allows other applications to access its data or services.
It is a set of rules describing how one application can interact with another, and
the instructions to allow the interaction to occur. The user sends an API request
to a server asking for specific information and receives an API response in
return from the server along with the requested information.
• An API is similar to a waiter in a restaurant, as shown in the following figure.
32
16
1/8/2024
An API Example
To really understand how APIs can
be used to provide data and
services, we will look at two options
for booking airline reservations. The
first option uses the web site of a
specific airline. Using the airline’s
web site, the user enters the
information to make a reservation
request. The web site interacts
directly with the airline’s own
database and provides the user
with information matching the user’s
request.
33
34
17
1/8/2024
35
Data Format XML JSON, XML, YAML, and others XML JSON
36
18
1/8/2024
REST
© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 37
37
38
19
1/8/2024
RESTful Implementation
A RESTful web service is implemented using HTTP. It is a collection of resources with four
defined aspects:
• The base Uniform Resource Identifier (URI) for the web service, such
as http://example.com/resources.
• The data format supported by the web service. This is often JSON, YAML, or
XML but could be any other data format that is a valid hypertext standard.
• The set of operations supported by the web service using HTTP methods.
• The API must be hypertext driven.
RESTful APIs use common HTTP methods including POST, GET, PUT, PATCH and
DELETE. As shown in the following table, these correspond to RESTful operations:
Create, Read, Update, and Delete (or CRUD).
HTTP Method POST GET PUT/PATCH DELETE
RESTful Operation Create Read Update Delete
39
40
20
1/8/2024
41
42
21
1/8/2024
Many RESTful APIs, including public APIs, require a key. The key is used to identify
the source of the request. Here are some reasons why an API provider may require a
key:
• To authenticate the source to make sure they are authorized to use the API.
• To limit the number of people using the API.
• To limit the number of requests per user.
• To better capture and track the data being requested by users.
• To gather information on the people using the API.
Note: The MapQuest API does require a key. Search the internet for the URL to
obtain a MapQuest key. Use the search parameters: developer.mapquest. You can
also search the internet for the current URL that outlines the MapQuest privacy policy.
43
44
22
1/8/2024
45
Configuration Management
Tools
© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 46
46
23
1/8/2024
47
48
24
1/8/2024
Network Automation
We are rapidly moving away from a world where
a network administrator manages a few dozen
network devices, to one where they are
deploying and managing a great number of
complex network devices (both physical and
virtual) with the help of software. This
transformation is quickly spreading to all places
in the network.
There are new and different methods for
network administrators to automatically monitor,
manage, and configure the network. These
include protocols and technologies such as
REST, Ansible, Puppet, Chef, Python, JSON,
XML, and more.
49
50
25
1/8/2024
51
Ansible, Chef, Puppet, and SaltStack all come with API documentation for configuring RESTful API
requests. All of them support JSON and YAML as well as other data formats. The following table
shows a summary of a comparison of major characteristics of Ansible, Puppet, Chef, and SaltStack
configuration management tools.
Characteristic Ansible Chef Puppet SaltStack
What programming
Python + YAML Ruby Ruby Python
language?
Agent-based or
Agentless Agent-based Supports both Supports both
agentless?
How are devices
Any device can be “controller” Chef Master Puppet Master Salt Master
managed?
What is created by
Playbook Cookbook Manifest Pillar
the tool?
52
26
1/8/2024
Question
© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 53
53
Question 1
Which plane is centralized by an SDN controller?
A. data plane
B. management plane
C. control plane
D. services plane
54
27
1/8/2024
Question 2
Where is the interface between the control plane
and data plane within the software-defined
architecture?
A. application layer and the management layer
B. application layer and the infrastructure layer
C. control layer and the application layer
D. control layer and the infrastructure layer
55
Question 3
Which interface enables communication between
a program on the controller and a program on the
networking devices?
A. northbound interface
B. software virtual interface
C. southbound interface
D. tunnel interface
56
28
1/8/2024
Question 4
Which communication interaction takes place
when a southbound API is used?
A. between the SDN controller and PCs on the
network
B. between the SDN controller and switches and
routers on the network
C. between the SDN controller and services and
applications on the network
D. between network applications and switches
and routers on the network
57
Question 5
What is a function of a southbound API?
A. Automate configuration changes between a
server and a switching fabric.
B. Manage flow control between an SDN
controller and a switching fabric.
C. Use orchestration to provision a virtual server
configuration from a web server.
D. Facilitate the information exchange between
an SDN controller and application.
58
29
1/8/2024
59
30