ENSA Module 14 Network Automation — Transcript
Full transcript
- 0:03[Music]
- 0:18hi
- 0:19hello there welcome to network
- 0:21automation
- 0:24have you ever set up your home network
- 0:27or a small network
- 0:30imagine doing those tasks for tens of
- 0:33thousands of enterprises
- 0:35and thousands of routers switches and
- 0:37access points
- 0:40did you know that there is a software
- 0:42that automates those tasks for an
- 0:44enterprise network
- 0:46in fact there is a software that can
- 0:48automate
- 0:49the design of an enterprise network
- 0:52it can automate all of the monitoring
- 0:55operations and maintenance for your
- 0:57network
- 0:58interested let's get started
- 1:03so let's start with an automation
- 1:05overview
- 1:10we now see automation everywhere from
- 1:13self-serve checkout at stores and
- 1:16automatic building environmental
- 1:18controls
- 1:19to autonomous cars and planes so how
- 1:22many automated systems
- 1:24do you encounter in a single day
- 1:27there is an increase in automation
- 1:31so automation is any process that is
- 1:34self-driven
- 1:35that reduces and potentially eliminates
- 1:38the need for human intervention so
- 1:41automation was once confined
- 1:43to the manufacturing industry highly
- 1:46repetitive tasks
- 1:48such as automobile assembly
- 1:52so we're turned over to machines and the
- 1:55modern
- 1:56assembly line was born so machines
- 2:00excel at the
- 2:03repeating same tasks without fatigue
- 2:06and without the errors that human are
- 2:09prone to make
- 2:10in such jobs so these are some of the
- 2:14benefits
- 2:14of automation okay
- 2:18so machines can work 24 hours a day
- 2:20without breaks
- 2:22which results in a greater output
- 2:26machines provide a more uniform product
- 2:30automation allows the collection of vast
- 2:32amounts of data
- 2:34that can be quickly analyzed to provide
- 2:37information
- 2:38which can help guide an event or a
- 2:41process
- 2:43so robots are used in dangerous
- 2:45conditions such as mining
- 2:47firefighting and cleaning up industrial
- 2:50accidents
- 2:52this reduces the risk to humans
- 2:56and the last one is under certain
- 2:58circumstances
- 2:59smart devices can alter their behavior
- 3:02to reduce energy usage
- 3:05make a medical diagnosis and improve
- 3:08automobile driving safety
- 3:17next would be thinking devices have you
- 3:20heard about it
- 3:21well can devices think
- 3:24can they learn from their environment
- 3:27in this context there are many
- 3:30definitions
- 3:31of the word think one possible
- 3:35definition is the ability to connect
- 3:37a series of related pieces of
- 3:38information together
- 3:41and then use them to alter the course of
- 3:44action
- 3:46so many devices now incorporate smart
- 3:48technology
- 3:49to help them govern the behavior
- 3:53this can be as simple as smart appliance
- 3:56lowering its power consumption
- 3:58during periods of peak demand or as
- 4:01complex as
- 4:02self-driving car so whenever a device
- 4:06takes a course of action based on an
- 4:08outside piece of information
- 4:11then that device can refer to as a smart
- 4:14device
- 4:16many devices that we interact with now
- 4:19have the word smart in their names okay
- 4:22so this indicates that the device has
- 4:24the ability to alter its behavior
- 4:27depending on the environment so in order
- 4:30for these devices to think
- 4:32they need to be programmed using network
- 4:34automation tools
- 4:47okay so the concepts of
- 4:50data formats okay so smart devices
- 4:54are in fact tiny computers
- 4:58so for smart device such as an actuator
- 5:02to react to changing conditions it must
- 5:04be able to receive an interpret
- 5:06information
- 5:07sent to it by another smart devices such
- 5:10as
- 5:11sensor these two smart devices
- 5:14must share a common language which is
- 5:17called the data format
- 5:19shared data formats are also used by
- 5:22other devices in the network
- 5:25so the data format concept when sharing
- 5:28data with people
- 5:30the possibilities of how to display that
- 5:32information
- 5:33are almost endless for example
- 5:36think of how a restaurant might format
- 5:39their menu
- 5:42it could be in text only a bulleted list
- 5:46a photos with captions or just a photos
- 5:50right so these are all different ways
- 5:53in which a restaurant can format the
- 5:56data
- 5:57that makes up their menu so a
- 5:59well-designed form
- 6:01is dictated by what makes the
- 6:04information the easiest
- 6:05for the intended audience to understand
- 6:08this same principle applies to shared
- 6:11data
- 6:11between computers a computer must put
- 6:15the data
- 6:16into a format that another computer can
- 6:19understand
- 6:20so data formats are simply a way to
- 6:22store and exchange data
- 6:24in a structured format one such format
- 6:28is called hypertext markup language
- 6:31or the html right
- 6:35so html is a standard markup language
- 6:38for describing the structure of web
- 6:40pages as shown here in the figure
- 6:42so basically if you are given this html
- 6:45tags
- 6:46okay so the output of this html tag
- 6:49is given on the right side okay
- 6:52so if you will observe we have here the
- 6:54code and this is the output in the forms
- 6:58all right
- 7:02okay so there are some common data
- 7:05formats
- 7:05that are used in many applications
- 7:08including network automation and
- 7:10programmability
- 7:11so this includes this
- 7:14languages javascript object notation
- 7:18are popularly known as the json
- 7:21extensible markup language
- 7:22or xml and you've got the yaml
- 7:27which ain't a markup language right yaml
- 7:31in markup language right
- 7:34so the data format that is selected will
- 7:37depend on the format that is used by the
- 7:39application
- 7:40tool or script that you are using
- 7:45so many systems will be able to support
- 7:47more than one data format
- 7:49which allows the user to choose their
- 7:52preferred one
- 7:58let's talk about data format rules now
- 8:01so data format
- 8:02have rules and structures similar to
- 8:04that we have
- 8:05with programming and written languages
- 8:08so each data format will have a specific
- 8:11characteristics
- 8:12okay so first there is a syntax
- 8:16which includes the types of brackets
- 8:18used such as
- 8:20the symbol here okay open and close
- 8:22bracket
- 8:23you've got parentheses and you've got
- 8:25braces
- 8:27so the use of white space or indention
- 8:30codes commas and more is part of a
- 8:33syntax
- 8:36next how objects are represented such as
- 8:39characters
- 8:40strings lists and arrays
- 8:44how key or value appears are represented
- 8:47the key is usually on the left side and
- 8:50it identifies or describes the data
- 8:53the data on the right side is the data
- 8:56itself
- 8:57and can be a character string number
- 9:01list or another type of data
- 9:05so search the internet for open notify
- 9:09iss location now to find a website
- 9:12that tracks the current location of the
- 9:14international space
- 9:16station at this website
- 9:19you see how data formats are used and
- 9:22some of the
- 9:23similar or similarities between them
- 9:27so this website includes a link for a
- 9:29simple application programming interface
- 9:31or api
- 9:33call to a server which returns the
- 9:35current latitude and longitude
- 9:37of the space station along with the unix
- 9:40timestamp
- 9:42so the following example shows the
- 9:44information returned by the server
- 9:46using a javascript object notation
- 9:50or json the information is displayed in
- 9:53a raw format
- 9:54this can make it difficult to understand
- 9:56the structure of the data
- 10:00all right so next is you search the
- 10:04internet
- 10:05to find the json view a browser
- 10:08extension or any extension that will
- 10:10allow you to view
- 10:11json in more readable format
- 10:14so data objects are displayed in key or
- 10:16value of pairs
- 10:18the following output shows the same
- 10:20output using json view
- 10:23so the key value appears which
- 10:26are much easier to interpret in the
- 10:28example below
- 10:30you can see the latitude and its value
- 10:32at 25.99990
- 10:35okay so note that json view may remove
- 10:38the quotation marks
- 10:40from the kiko quotation marks are
- 10:42required
- 10:43when coding json key or value pairs
- 10:47shown here json format okay
- 10:52so to see this same formatted as xaml
- 10:55and yaml
- 10:56search the internet for json conversion
- 10:58tool
- 11:00so at this point it is not important to
- 11:03understand the details of each data
- 11:05format
- 11:06but notice how its data format make use
- 11:09of syntax
- 11:11and how the qr value pairs are
- 11:14represented
- 11:16right so we have here three different
- 11:20formats
- 11:21which gives the same output
- 11:28okay so how about the json data format
- 11:32so json is a human readable data format
- 11:35used by application for storing
- 11:37transferring and reading data
- 11:40json is a very popular format used by
- 11:43web services and apis
- 11:45to provide public data this is because
- 11:48it is
- 11:49easy to parse and can be used with most
- 11:52modern programming languages
- 11:54including python
- 11:59okay so the following output shows an
- 12:01example
- 12:02of the partial ios output from the show
- 12:05interface
- 12:06giga ethernet 0 0 0 command on
- 12:10a router okay
- 12:13now this same information can be
- 12:16represented in json format
- 12:18so notice that each object each
- 12:21key value pair is different piece of
- 12:24data about interface including each name
- 12:26a description and whether the interface
- 12:30is enabled
- 12:37okay so next is the json syntax rules
- 12:40so there are some of the characteristics
- 12:42of json
- 12:43okay so it is hierarchical structure and
- 12:47contains nested values
- 12:50it uses a braces to hold objects and
- 12:53square brackets
- 12:54to hold an array and its
- 12:57data is written as key or value pairs
- 13:02so in json the data known as an object
- 13:06is one or more key value appears in
- 13:09closing braces
- 13:10the syntax for json objects includes
- 13:13keys
- 13:14must be strings within a double
- 13:16quotation marks
- 13:17okay so values must be a valid json data
- 13:21format
- 13:22like a string type number type
- 13:25array boolean null
- 13:29or another object keys and values are
- 13:33separated by a column
- 13:35so multiple key or value pairs within an
- 13:38object are separated by commas
- 13:40so white space is not significant
- 13:46okay so at times a key may contain
- 13:50more than one value this is known as an
- 13:52array
- 13:53okay so an array in json is an
- 13:57ordered list of values characteristics
- 14:00of an array in json includes
- 14:02the key followed by a colon and a list
- 14:05of values enclosed in square brackets
- 14:08so the array is an ordered list of
- 14:10values
- 14:12the array can contain multiple values
- 14:15including a string
- 14:17number boolean object or another array
- 14:20inside the array
- 14:22so each value in the array is separated
- 14:25by
- 14:26a comma so for example
- 14:31a list of ip addresses might look like
- 14:34the following output
- 14:36so the key is address so each
- 14:40item in the list is separated by
- 14:44abrasives or curly braces
- 14:47right so the array of the objects in the
- 14:50list is also separated by a comma
- 14:53following the enclosing or the closing
- 14:54bracket for each of the
- 14:57okay so you've got the ip here
- 15:01comma and then followed by the nut mask
- 15:04or the network mask
- 15:09okay so next is yaml
- 15:12okay so yaml or yaml is another type of
- 15:16human readable data format
- 15:17used by applications for storing
- 15:19transferring
- 15:20and reading data some of the
- 15:22characteristics of yaml
- 15:24includes the following so it is like
- 15:28json and is considered a super set of
- 15:30json
- 15:32it has a minimalist format making it
- 15:34easy
- 15:35to both read and write
- 15:38it uses intention to define each
- 15:41structure
- 15:42without the use of brackets and commas
- 15:46okay so for example look at this json
- 15:50output
- 15:50for a gigabit ethernet 2 interface
- 15:54okay so this one is a json 4 gigabit
- 15:58ethernet 2 okay
- 16:01now the same output in the ml format
- 16:04is easier to read similar to json so a
- 16:08yaml object
- 16:09is one or more key value pairs
- 16:13so each value pairs are separated by a
- 16:16column
- 16:16without the use of a quotation mark so
- 16:19in yaml
- 16:20a hypen is used to separate each element
- 16:23in the list
- 16:25so this is shown in our decision for the
- 16:28three
- 16:28ipv4 addresses in the following output
- 16:32okay so you've got the yaml for gigabit
- 16:36ethernet 2 on this representation here
- 16:41okay so they have the same output but
- 16:43different data representation
- 16:46so one is in json and the other one is
- 16:51in yaml
- 16:56okay so how about the xml or the saml
- 16:58data format
- 17:00xaml is one type of human readable data
- 17:03format
- 17:03used to store transfer
- 17:07read data by applications some of the
- 17:10characteristics of
- 17:12xaml includes the following so it is
- 17:15like an html
- 17:17okay so which is the standardized markup
- 17:20language for creating web pages
- 17:22and web applications it is
- 17:26self-descriptive
- 17:27okay so it encloses data within a
- 17:30related set of tags
- 17:33and unlike html xaml uses no predefined
- 17:37tags or document structure
- 17:39so xaml objects are one or more key
- 17:42value pairs
- 17:44with the beginning tag used as the name
- 17:48of the key okay so key value
- 17:51and then the ending tag key
- 17:59so the following output shows the same
- 18:01data for gigabit ethernet 2
- 18:03formatted as a sample data structure
- 18:06this is the same
- 18:06output presented earlier so notice how
- 18:10the data are enclosed
- 18:11within the object tags in this example
- 18:14okay so each key value pair
- 18:18is on a separate line and some lines are
- 18:21indented okay
- 18:24so this is not required but it's done
- 18:27for readability
- 18:29the list uses a repeated instances
- 18:32of tag okay you've got the starting tag
- 18:36and the ending tag
- 18:37for each element in the list the
- 18:40elements within this
- 18:41repeated instances represent one or more
- 18:44key value pairs
- 18:47so try to evaluate and compare
- 18:50the saml output for gigabit ethernet
- 18:542.
- 18:57all right
- 19:01okay so the next section is the apis
- 19:04so maybe you often heard the word api so
- 19:07what is this for
- 19:09okay so let's talk about the api concept
- 19:13data formats shared between smart
- 19:15devices
- 19:16often use an application programming
- 19:19interface or api
- 19:21so as you will learn in this topic an
- 19:24api is a software
- 19:25that allows other applications to access
- 19:27its data
- 19:29or services so api
- 19:32is found almost everywhere okay
- 19:35so amazon web services or aws
- 19:38facebook and home automation devices
- 19:41such as thermostats
- 19:43refrigerators and wireless lighting
- 19:46systems
- 19:47all use and apis they are also used in
- 19:51building programmable network automation
- 19:54so an api is a software that allows
- 19:58other applications to access its data or
- 20:00services
- 20:01it is a set of rules describing how one
- 20:04application
- 20:06can interact with another and the intra
- 20:09the instructions to allow the
- 20:11interaction to occur
- 20:14the user sends an api requests to the
- 20:16server
- 20:17asking for specific information and
- 20:20receives an api response
- 20:22in return from the server along with the
- 20:25requested information
- 20:27okay so an api is similar to a waiter in
- 20:30a restaurant
- 20:31as shown in the following diagram here a
- 20:34customer in a restaurant
- 20:36would like to have some food delivered
- 20:38on the table
- 20:40okay so therefore the customer will be
- 20:42doing a request
- 20:44right so the food is in the kitchen
- 20:47where it is cooked and prepared so the
- 20:50waiter
- 20:51is the messenger similar to an api
- 20:55so the waiter or the api in this example
- 20:58or in this diagram
- 20:59is the person who takes the customer's
- 21:01order or request
- 21:03and tells the kitchen what to do
- 21:06right so i start off the mediator gave
- 21:09it to the user and the application now
- 21:11in this example between the customer and
- 21:14the kitchen are food service or the
- 21:16kitchen or food a chef
- 21:18right next
- 21:22so when the food is ready the waiter
- 21:25will
- 21:26then deliver the food that is not the
- 21:28response
- 21:29back to the customer okay so
- 21:32previously you saw an api request the
- 21:35server
- 21:36which returned the current latitude and
- 21:38longitude of the international space
- 21:41station
- 21:42so this was an api that open notifies
- 21:45provides to access data from our browser
- 21:48at the national aeronautics and space
- 21:51administration or nasa
- 21:58okay so to really understand how apis
- 22:00can be used to provide data and services
- 22:03we will look on the two options
- 22:07for booking airline reservations right
- 22:10so the first option uses the website
- 22:14for specific airline
- 22:17okay now using the airline's website
- 22:21the user enters the information to make
- 22:24a reservation requests
- 22:26the website interacts with the
- 22:30user directly with the airline's owns
- 22:33database
- 22:34and provides the user with information
- 22:36matching the user's
- 22:38request okay
- 22:44now instead of using an individual
- 22:46airline website
- 22:47which has a direct access to its own
- 22:50information
- 22:51there is a second option users can use a
- 22:54travel site
- 22:55to access the same information not only
- 22:58from the specific airline
- 23:00but a variety of airlines in this case
- 23:03the user enters in similar reservation
- 23:06information
- 23:08the travel service website interacts
- 23:10with the various airline databases using
- 23:12apis
- 23:14provided by each airline now the travel
- 23:18service
- 23:18uses each airline api to request
- 23:22information from the specific airline
- 23:24and then
- 23:25it displays the information from all the
- 23:28airlines
- 23:29on its web page as shown in the diagram
- 23:32here
- 23:33okay so we have several airlines
- 23:35connected to this
- 23:37travel service okay so the api
- 23:41acts as a kind of messenger between the
- 23:43requesting application
- 23:45and the application of the server that
- 23:47provides data
- 23:48or service the message from the
- 23:51requesting application to the server
- 23:54where the data resides is known as
- 23:57an api call all right
- 24:00so this is an api calls here
- 24:07okay so an important consideration when
- 24:10considering or when developing an api
- 24:13is the distinction between open internal
- 24:17and partner apis okay
- 24:20so when you say open apis or public apis
- 24:24these apis are publicly available
- 24:27and can be used with no restrictions
- 24:31the international space station api is
- 24:34an example of a public api
- 24:37because this apis are public many api
- 24:40providers such as google maps
- 24:42okay so require the user to get free key
- 24:46or token prior to using the api
- 24:49so this is to help control
- 24:53the number of apis requests they receive
- 24:55and process
- 24:57so search the internet for a list of
- 24:59public apis
- 25:01okay so the next one is internal or
- 25:05private apis
- 25:06so these are apis that are used by an
- 25:09organization or company to access data
- 25:12and services for internal use only so an
- 25:15example
- 25:15of an internal api is the following or
- 25:18is allowing authorized
- 25:19salesperson access to internal sales
- 25:22data on their mobile devices
- 25:26and the last one is partner apis so
- 25:29these are apis that are used between a
- 25:31company
- 25:32and its business partners or contractors
- 25:35to facilitate business
- 25:36between them the business partners
- 25:41must have a license or other form of
- 25:44permission
- 25:45to use the api so a travel service using
- 25:48an airlines api is
- 25:50an example of a partners api
- 25:53all right
- 25:57okay so there are several types of web
- 26:00service apis
- 26:02okay so a web service api is a service
- 26:05that is available over the internet
- 26:08using the worldwide web
- 26:11so there are four types of web service
- 26:13api so these are the
- 26:14simple object access protocol or soap
- 26:17okay
- 26:18soap is a messaging protocol
- 26:22for exchanging saml structure
- 26:24information
- 26:25most often over the http
- 26:28or smtp okay so
- 26:31also you've got the rest all right or
- 26:34the representational state
- 26:36transfer next is the saml rpc
- 26:40or the extensible markup language remote
- 26:42procedure call
- 26:43and the javascript object notation or
- 26:46the json
- 26:47rpc or the remote procedure call
- 26:51okay so
- 26:54soap is designed by microsoft in 1998
- 26:58so soap apis are considered slow
- 27:01to parse complex and rigid
- 27:04so this leads to the development of a
- 27:07simpler rest api framework
- 27:10which does not require a saml so rest
- 27:13uses http ls verbose
- 27:18and is easier to use than soap
- 27:22so rest offers or refers to a style
- 27:25of software architecture and has become
- 27:29popular due to its performance
- 27:32scalability
- 27:33simplicity and reliability
- 27:36so rest is the most widely used web
- 27:39service api
- 27:41accounting for over 80 percent of all
- 27:44the api types
- 27:45used so rest will be further discussed
- 27:48in this module
- 27:50so rpc or the remote procedure calls is
- 27:53when one system requests
- 27:54that another system executes some code
- 27:57and returns the information
- 27:59so this is done without having to
- 28:01understand the details of the network
- 28:04so this works much like rest api
- 28:07but there are differences dealing with
- 28:09formatting and flexibility
- 28:12so the xaml rpc is a protocol developed
- 28:14prior to soap
- 28:16the later evolved into what become
- 28:19a soap json rpc is
- 28:23very simple protocol and similar to xaml
- 28:25rpc
- 28:28right
- 28:32okay so let's discuss details on rest
- 28:36okay so you've got pressed and restful
- 28:40api so web browsers uses
- 28:44http or https to request
- 28:47using the get okay a web page
- 28:50if successfully requested http status
- 28:53code 200
- 28:55web servers responds to get requests
- 28:58with an html coded web page so simply
- 29:02stated
- 29:02a rest api is an api that works on top
- 29:07of the http protocol
- 29:10it defines a set of functions developers
- 29:13can use to perform requests and receive
- 29:16responses
- 29:17via http protocol such as get or post
- 29:20okay now conforming to the constraints
- 29:23of the rest architecture
- 29:25it is generally referred to as being
- 29:27restful
- 29:28an api can be considered press full if
- 29:31it has the following features
- 29:33okay so there is a client server
- 29:36the client handles the front end and the
- 29:39server
- 29:40handles the backend either can be
- 29:42replaced independently
- 29:45of the other next it should be stateless
- 29:49no client data is stored on the server
- 29:51between requests
- 29:53the session state is stored on the
- 29:55client
- 29:56right and it should be cachable so
- 29:59clients can cache
- 30:01responses to improve performance
- 30:06okay so web browsers use https
- 30:10okay to request or get data
- 30:14from a web page as shown in this diagram
- 30:16here
- 30:17okay so rest is an architectural style
- 30:21for designing web service application
- 30:24okay so it refers the style of web
- 30:27architecture that has many underlying
- 30:30characteristics
- 30:31and governs the behavior of the clients
- 30:34and servers
- 30:35so simply stated a rest api is an api
- 30:39that works on top of the http protocol
- 30:42right so it defines a set of functions
- 30:45developers can use to perform requests
- 30:48and receive responses via
- 30:50http right such as get and post protocol
- 30:54similar to that of html
- 30:56or which is being used also in html
- 31:02now conforming to the constraints of the
- 31:04rest architecture
- 31:05is generally referred to as being
- 31:07restful an api can be considered
- 31:10restful if it has the following features
- 31:12as stated earlier
- 31:18now let's talk about the restful
- 31:20implementation
- 31:21so a restful web service is implemented
- 31:24using http
- 31:26it is a collection of resources with
- 31:28four defined aspects
- 31:30so the base uniform research identifier
- 31:34or uri
- 31:35for the web service such as http
- 31:37example.com
- 31:39resources the data format supported by
- 31:42the web service
- 31:43this is often a json yaml or
- 31:46saml but could be any other data format
- 31:50that is valid hypertech standard
- 31:53the setup operation supported by the web
- 31:55service using http
- 31:57methods and the api must be
- 32:01hypertext driven so restful apis use
- 32:05common http methods
- 32:07including post get put patch and
- 32:10delete as shown in the following table
- 32:14this corresponds to restful operations
- 32:17create
- 32:17read update and delete or crude
- 32:21okay so again this is the http
- 32:23comparison
- 32:25with the restful operation
- 32:31now in the figure the http request asks
- 32:34for json format data
- 32:37so if the request is successfully
- 32:38constructed according to the api
- 32:40documentation
- 32:41the server will respond with json data
- 32:44this json data can be used by a client's
- 32:48web application to display the data for
- 32:50example
- 32:51a smartphone mapping app shows the
- 32:53location of the san jose california
- 32:56okay so that would be shown
- 33:03okay so how about the uri urn and
- 33:07url okay so web resources
- 33:11and web services such as restful apis
- 33:14are defined using the uri okay
- 33:17a uri is a string of characters
- 33:20that identify specific network resource
- 33:24okay so it has two
- 33:27specializations right so first
- 33:30is the urn
- 33:35urn or the uniform resource name
- 33:38identifies only the namespace
- 33:40of the resource web page document
- 33:43image etc without a reference to the
- 33:46protocol
- 33:48the next one is the uniform resource
- 33:50locator or the url
- 33:52it defines the network location of a
- 33:55specific resource
- 33:56on the network so http or https urls
- 34:01are typically used with web browsers
- 34:05other protocols such as ftp sftp
- 34:09ssh and others can use a url
- 34:13a url using sftp might look like
- 34:18this format okay so sftp
- 34:21you've got columns sftp
- 34:25that example.com
- 34:29all right
- 34:33next these are the parts of the uri as
- 34:36shown in the figure
- 34:38you've got the protocol scheme https or
- 34:41other protocols such as ftp
- 34:43sftp mail 2 and nntp
- 34:48you've got the host name which is
- 34:51the example.com here all right
- 34:55you've got the path and the file name
- 34:57which includes the author
- 34:59okay slash author slash book.html
- 35:05and you've got the fragments hashtag
- 35:08page155
- 35:10okay so these are the parts of the uri
- 35:18now in a restful web service a request
- 35:21made
- 35:22to a resource uri will elicit a response
- 35:26the response will be a payload typically
- 35:29formatted in json
- 35:31but could be html xml
- 35:34or some other format now the figure here
- 35:37shows the uri okay
- 35:40for the map quest directions api
- 35:43so the api request is for directions
- 35:46from san jose california
- 35:48to montreal in california
- 35:52so this is how it looked like that from
- 35:55san jose california
- 35:58and to montre california
- 36:07now these are the different parts of the
- 36:09api request
- 36:11okay so you've got the api server
- 36:15this is the url for the server that
- 36:17answers
- 36:18rest requests in this example it is the
- 36:21map quest
- 36:22api server
- 36:26next is the resources resources
- 36:29specifies the api that is being
- 36:31requested
- 36:32in this example it is the mapquest
- 36:34directions api
- 36:37you also have query specifies the data
- 36:40format information the client is
- 36:42requesting
- 36:43from the api service so queries can
- 36:46include
- 36:47format right so this is usually json
- 36:51but can be yaml or summer so in this
- 36:54example
- 36:55json is requested you also have
- 36:58key the key is for authorization
- 37:01if required mapquest requires a key
- 37:05for their directions api in the above
- 37:08uri
- 37:09you would need to replace the key with
- 37:12the valid key to submit a valid request
- 37:15okay and then the last one is the
- 37:18parameters
- 37:19parameters are used to send information
- 37:21pertaining to the
- 37:22request in this example the query
- 37:25parameters include information about the
- 37:27directions
- 37:30so that the api needs so it knows the
- 37:32direction
- 37:33to return that is from san jose ca
- 37:38okay that is from san jose ca
- 37:42and to montre ca
- 37:48right
- 37:50now many restful apis including public
- 37:53apis requires a key
- 37:55the key is used to identify the source
- 37:57of the request
- 37:59so here are some of the reasons why an
- 38:01api provider
- 38:02may require a key okay so first
- 38:06to authenticate the source to make sure
- 38:08they are authorized to use the api
- 38:11second is to limit the number of people
- 38:14using the api
- 38:16next to limit the number of requests per
- 38:19user
- 38:20and to better capture and track data
- 38:22using the requested by
- 38:24requested by the browser or users okay
- 38:27and to gather information
- 38:30on the people using the api so
- 38:34note that if you wish to use the
- 38:36mapquest api
- 38:37the api does not require a key search
- 38:40the internet for the url
- 38:42to obtain the map quest key so use the
- 38:45search parameters developer.mapquest
- 38:50you can also search the internet for the
- 38:52current url
- 38:53that outlines the mapquest privacy
- 38:58policy
- 39:01okay so how about restful api
- 39:04applications
- 39:05so many websites and applications use
- 39:08api
- 39:09to access information and provide
- 39:10service to their customers
- 39:13for example when using a travel service
- 39:15website
- 39:17the travel service uses the api of
- 39:19various airlines
- 39:21to provide the user with airline hotel
- 39:24and other information okay
- 39:27so some restful api requests
- 39:31can be made by typing in the url
- 39:34from within the web browser so the map
- 39:37quest
- 39:38directions api is an example of this
- 39:41so a restful api request can also be
- 39:44made
- 39:45it in other ways right so we have
- 39:47several ways of
- 39:49doing it
- 39:55okay so developers website
- 39:59developers often maintain websites
- 40:03that include information about the api
- 40:06parameter information
- 40:07and usage examples okay so
- 40:10this sites may also allow the user to
- 40:13perform the api request
- 40:15within the developer web page or by
- 40:18answering in the parameters
- 40:22and other information so the following
- 40:24figure here
- 40:25shows an example of the mapquest
- 40:27directions
- 40:28api webpage okay
- 40:31so it's a mapquest developer site
- 40:37next is the postman okay so postman is
- 40:40an application for testing and using the
- 40:42rest apis
- 40:44it is available as browser app or
- 40:46standalone install
- 40:48so it contains everything required for
- 40:52constructing and sending rest api
- 40:54requests
- 40:55including entering query parameters and
- 40:57keys
- 40:58postman allows you to connect or to
- 41:01collect
- 41:01and save frequently used api calls in
- 41:04history
- 41:06or as query parameters and keys
- 41:09so postman allows you to collect and
- 41:12save frequently used api calls in
- 41:14history
- 41:15okay or ask collections postman
- 41:19is an excellent tool for learning how to
- 41:22construct api requests
- 41:24and for analyzing the data that is
- 41:26returned from the api
- 41:28so the following figure here shows an
- 41:30example of using the mapquest api with
- 41:33postman
- 41:38okay next is the programming language
- 41:40python
- 41:42so apis can also be used within a python
- 41:45program
- 41:46so this allows for possible automation
- 41:49customization
- 41:51and app integration of the api so the
- 41:54following figure here shows an example
- 41:56of part of python program
- 41:57used to submit a request to the mapquest
- 42:00api
- 42:05right
- 42:09and the last one is the network
- 42:11operating systems
- 42:12so using protocols such as netconf
- 42:15or net configuration and restconf
- 42:19okay rest configuration the network
- 42:22operating systems
- 42:24are beginning to provide an alternative
- 42:26method for configuration
- 42:28monitoring and management for example
- 42:33the following output might be the
- 42:35opening response
- 42:36from a router after the user has
- 42:39established a net conf
- 42:40session at the command line however
- 42:44working on or working at the command
- 42:48line
- 42:48is not automating the network instead
- 42:51a network administrator can use python
- 42:54scripts
- 42:55or other automation tools like the cisco
- 42:57dna center
- 42:58to program up to programmatically
- 43:02interact with the router
- 43:10okay so next would be the configuration
- 43:13management tools
- 43:16so as mentioned in the introduction of
- 43:18this module
- 43:19setting up a network can be very time
- 43:21consuming configuration management tools
- 43:24can help you to automate the
- 43:25configuration of routers
- 43:27switches firewalls and many other
- 43:30aspects
- 43:30of your network so the traditional
- 43:33network configuration
- 43:35network devices such as router switches
- 43:37and firewalls
- 43:38have traditionally between configured
- 43:41or been configured by a network
- 43:43administrator using cli
- 43:45that's what we do at the lab right so
- 43:49whenever there is a change of
- 43:52a feature or a new feature okay
- 43:55so the necessary configuration commands
- 43:57must be manually entered
- 43:59on all the appropriate devices so in
- 44:02many cases
- 44:03this is not only time consuming but
- 44:06can also be prone to errors so this
- 44:10becomes a major
- 44:11issue on a larger networks with
- 44:14more complex configurations right
- 44:18so traditionally we are using cli to
- 44:20configure these devices
- 44:22okay
- 44:25next the simple network management
- 44:28protocol or snmp
- 44:29this was developed to allow
- 44:31administrators to manage nodes
- 44:33such as servers workstations router
- 44:35switches and security appliances
- 44:37on an ip network so using a network
- 44:40management station or nms
- 44:42okay as shown in the following figure
- 44:44here
- 44:45right so snmp enables network
- 44:49administrator
- 44:50to monitor and manage network
- 44:51performance find and solve network
- 44:54problems
- 44:55and perform queries for statistics
- 44:58so snmp works reasonably well for device
- 45:01monitoring however
- 45:03it is not typically used for
- 45:04configuration due to security concerns
- 45:07and difficulty in implementation
- 45:09although snmp is widely available
- 45:12it cannot serve as an automation tool
- 45:15for today's network
- 45:17so you can also use apis to automate the
- 45:19development
- 45:21and deployment and management of network
- 45:24resources
- 45:25so instead of the network administrators
- 45:27manually configuring ports access lists
- 45:29quality of service or qos and load
- 45:31balancing policies
- 45:33they can use tools to automate
- 45:35configurations
- 45:36so these tools look into a network apis
- 45:40to automate the routine network
- 45:42provisioning tasks
- 45:44enabling the administrator to select and
- 45:46deploy network services they need
- 45:50so this can significantly reduce many
- 45:53repetitive
- 45:54and mutant tasks to free up time
- 45:57for network administrators to work on
- 46:00more important things
- 46:05okay so with network automation
- 46:09we are rapidly moving away from the
- 46:11world where network administrators or
- 46:14systems administrator manages a few
- 46:16dozen network devices
- 46:19to one where they are deploying and
- 46:22managing hundreds or thousands or even
- 46:24tens of thousands of complex network
- 46:26devices both
- 46:28physical and virtual with the help of
- 46:30software
- 46:31this transformation is quickly spreading
- 46:34from its beginning
- 46:36in the data center okay to all the
- 46:39places in the network
- 46:41so there are new and different methods
- 46:44for network operators to automatically
- 46:47monitor
- 46:48manage and configure the network
- 46:52so as shown in the figure okay so this
- 46:55includes
- 46:56product calls and technologies such as
- 46:58rest ansible
- 46:59puppet chef python json
- 47:03saml and more
- 47:10so configuration management tools like
- 47:12the restful api
- 47:14requests to automate tasks and can scale
- 47:17across
- 47:18thousands of devices so configuration
- 47:20management tools
- 47:21maintain the characteristics of a system
- 47:24or
- 47:25network for consistency there are some
- 47:28characteristics
- 47:29of the network that administrators
- 47:31benefit from automating
- 47:33so these are the software and version
- 47:35control
- 47:37device attributes such as names
- 47:38addressing and security
- 47:41you've got protocol configurations and
- 47:43the acl
- 47:45configurations so configuration
- 47:47management tools typically include
- 47:49automation and orchestration
- 47:52so automation is where a tool
- 47:53automatically performs a task
- 47:55on a system this might be
- 47:58configuring an interface or deploying a
- 48:02vlan
- 48:03so orchestration is the process of how
- 48:06all these
- 48:06automated activities need to happen
- 48:10such as the order in which
- 48:13they must be done what must be completed
- 48:17before another task has begun okay
- 48:20so orchestration is the arranging
- 48:24of the automated tasks that results
- 48:27in a coordinate process or workflow
- 48:30okay so you have that two important uh
- 48:33term here
- 48:34right you've got orchestration and
- 48:37automation okay
- 48:41so as mentioned earlier so there are
- 48:43several tools available to make the
- 48:45configuration management easier
- 48:47so you've got this ansible puppet labs
- 48:51chef and the salt stock okay
- 48:54so the goal of these tools is to reduce
- 48:57the complexity
- 48:58and time involved in configuring and
- 49:01maintaining a large-scale network
- 49:02infrastructure
- 49:04with hundreds or even thousands of
- 49:06devices
- 49:08okay so these same tools can benefit
- 49:10smaller networks as well
- 49:16now comparing ansible chef paper consult
- 49:19stock
- 49:21okay so ansible chef puppet and soul
- 49:24stock all come with api documentations
- 49:27for configuring restful apis requests
- 49:30so all of them can support json and yaml
- 49:34as well as other data formats so the
- 49:37following table shows a summary
- 49:39of the comparison of major
- 49:40characteristics of ansible
- 49:42paper chef and solsta configuration
- 49:45management tool
- 49:46okay so characteristics so what
- 49:50programming language
- 49:52so ansible salt stock are both
- 49:55bolt on python okay whereas puppet and
- 49:59chef
- 49:59are built on ruby okay
- 50:04so similar to python ruby is an open
- 50:07source programming language
- 50:08that is cross-platform however ruby is
- 50:12typically considered
- 50:13a more difficult language to learn than
- 50:15python
- 50:16okay next is the agent based
- 50:20or agentless so configuration management
- 50:24is either agent-based or agent-less
- 50:28so agent-based configuration management
- 50:30is pull-based
- 50:31meaning the agent on the managed
- 50:35device periodically connects to the
- 50:37master
- 50:39for each configuration information so
- 50:42changes are done on the master and
- 50:45pulled down
- 50:46and executed by the device so agentless
- 50:49configuration management is
- 50:51push based a configuration script is run
- 50:54on the master the master connects to the
- 50:58device and executes the tasks
- 51:00in the script so of the four
- 51:03configuration tools in the table
- 51:05only ansible is agentless
- 51:10all right next
- 51:14how are devices managed so this
- 51:17lies with a device called master input
- 51:20chef and solves that however because
- 51:24ansible is agentless any computer can be
- 51:27a controller
- 51:29alright and the last one is what is
- 51:32created by
- 51:34the tool so network administrators use
- 51:37configuration management tools
- 51:39to create a set of instructions to be
- 51:41executed
- 51:42so each tool has its own name
- 51:46for this instruction so playbook
- 51:48cookbook
- 51:49manifest and pillar so common to each of
- 51:52this
- 51:53is the specification of policy or
- 51:56configuration that is to be
- 51:58applied to devices so each
- 52:01device might have its own policy
- 52:04for example all linux servers might
- 52:08get the same basic configuration and
- 52:11security policy
- 52:17okay now let's talk about the ibm the
- 52:21cisco dna center
- 52:23so you have learned okay of the many
- 52:26tools and software that can help
- 52:28you automate your network the intent
- 52:31based networking or ibn
- 52:34and the cisco digital network
- 52:35architecture or dna center
- 52:37can help you bring it all together to
- 52:40create an automated network
- 52:43okay so ibn or
- 52:46intent based networking is the emerging
- 52:49industry model
- 52:51for the next generation of networking so
- 52:54ibn
- 52:54builds a software defined networking or
- 52:57sdn
- 52:58transforming a hardware-centric and
- 53:00manual approach to designing
- 53:02and operating networks to one that is
- 53:05software-centric
- 53:06and fully automated so business
- 53:09objectives
- 53:10for the network are expressed as intent
- 53:14all right so ibn captures business
- 53:16intent
- 53:17and uses analytics okay machine learning
- 53:22and automation to align the network
- 53:23continuously and dynamically
- 53:26as business needs change so ibn captures
- 53:30and translates
- 53:31business intent into network policies
- 53:35that can automate and apply consistently
- 53:37across the network
- 53:43okay so cisco views ibn
- 53:46as having three essential functions
- 53:49you've got translation
- 53:50okay activation and assurance
- 53:53so this function interact with the
- 53:55underlying physical and virtual
- 53:57infrastructure as shown in the figure
- 54:00okay so translation
- 54:03when say translation the translation
- 54:06function enables the network
- 54:08administrator to express the expected
- 54:10networking behavior
- 54:12that will best support the business
- 54:14intent
- 54:17so next is activation activation the
- 54:20captured intent that needs to be
- 54:22interpreted
- 54:22into policies that can be applied across
- 54:26the network
- 54:27the activation function installs these
- 54:29policies into a physical and virtual
- 54:31network infrastructure
- 54:33using the network-wide automation
- 54:37next is assurance in order to
- 54:39continuously check
- 54:41that the express intent is honored by
- 54:44the network at any point
- 54:46in time so the assurance function
- 54:48maintains a continuous validation and
- 54:51verification
- 54:52loop
- 54:55okay so how about network infrastructure
- 54:58as a fabric
- 55:00okay so from the perspective of the ibn
- 55:05the physical and virtual network
- 55:06infrastructure is a fabric
- 55:09fabric is a term used to describe an
- 55:12overlay
- 55:13that represents the logical topology
- 55:14used to virtually connect
- 55:16the devices as shown in the figure here
- 55:20okay so the red broken lines
- 55:24represents an overlay control plane okay
- 55:28so the overlay limits the number of
- 55:30devices the network administrator must
- 55:32program it also provides services
- 55:35and alternative forwarding methods
- 55:39not controlled by the underlying
- 55:40physical devices for example
- 55:43the overlay is where the encapsulation
- 55:45protocols like ip
- 55:47okay or ipsec okay and control
- 55:50and provisioning of wireless access
- 55:52points cap wap occur
- 55:55so using an ipn solution the network
- 55:58administrator can specify
- 56:00true policies exactly what happens in
- 56:02the overlay control plane
- 56:04so notice that how the switches are
- 56:07physically connected
- 56:08is not a concern of the overlay
- 56:12okay
- 56:15now the underlying network is the
- 56:17physical topology that includes all the
- 56:19hardware required to meet the business
- 56:21objectives
- 56:22the underlay reveals additional devices
- 56:25and specifies how these devices are
- 56:28connected
- 56:29so as shown in the figure okay
- 56:33so end points such as servers in the
- 56:35figure
- 56:36access the network through a layer 2
- 56:38devices
- 56:40the underlay control plane is
- 56:41responsible for simple forwarding tasks
- 56:44okay so when you say underlay network
- 56:47that is still the traditional networks
- 56:49that we have
- 56:51all right
- 56:56next is the cisco digital network
- 56:57architecture
- 56:59or the cisco dna now cisco implemented
- 57:02the ibn fabric using the cisco dna
- 57:05okay the business intent is securely
- 57:08deployed
- 57:08into a network infrastructure or they
- 57:11call it the fabric
- 57:12the cisco dna then continuously gathers
- 57:15data
- 57:16from a multitude of sources devices and
- 57:19applications
- 57:20to provide a rich content of information
- 57:23this information can be or can then be
- 57:26analyzed
- 57:27to make sure that the network is
- 57:29performing securely
- 57:30at each optimal level and in accordance
- 57:33with the business intent
- 57:35or objective and network policies
- 57:41okay now the cisco dna is a system that
- 57:44is constantly learning
- 57:46adapting to support the business intent
- 57:48on the business needs
- 57:50now the table lists some of the cisco
- 57:52data products and solutions
- 57:55okay so this sd access and sd1
- 58:01is a topic on fabric technologies on
- 58:04ccnp
- 58:06right and it's very promising
- 58:09okay so you also have this
- 58:13cisco dna assurance and cisco dna
- 58:15security
- 58:16now these solutions are not mutually
- 58:18exclusive for example
- 58:20all four solutions could be deployed by
- 58:22an organization
- 58:25many of the solutions are implemented
- 58:27using the cisco dna center
- 58:29which provides a software dashboard for
- 58:31managing
- 58:32an enterprise network
- 58:36okay so the cisco dna center is a
- 58:39foundational controller
- 58:41and analytics platform at the heart of
- 58:43the cisco dna
- 58:45it supports the expression of intent
- 58:48for multiple use cases including basic
- 58:51automation capabilities
- 58:53fabric provisioning and public based
- 58:56segmentation
- 58:58in the enterprise network so cisco dna
- 59:01center
- 59:01is a network management and command
- 59:03center for provisioning
- 59:05and configuring network devices it is a
- 59:08hardware
- 59:09and software platform providing a single
- 59:11pane of glass
- 59:12or single interface that focuses on
- 59:15assurance
- 59:16analytics and automation the dna center
- 59:19interface
- 59:20launch page gives you an overall health
- 59:23okay or the summary and network snap
- 59:26snapshot as shown in the figure so from
- 59:29here
- 59:30the network administrator can quickly
- 59:32drill down into areas of
- 59:34interests
- 59:37okay so at the top menus provides you
- 59:40access to dna centers
- 59:41five main areas as shown in the figure
- 59:44so these are the design
- 59:46policy provision assurance and platform
- 59:50so design model your entire network so
- 59:53from sites and buildings to devices and
- 59:55links
- 59:56both physical and virtual across campus
- 59:59branch
- 1:00:00one and cloud for policy use
- 1:00:03policies to automate and simplify
- 1:00:04network management
- 1:00:06reducing cost and risks while speeding
- 1:00:08rollout
- 1:00:10on new and enhanced services
- 1:00:13provisioning
- 1:00:14is providing service to users with ease
- 1:00:16speed
- 1:00:17and security across the enterprise
- 1:00:19network regardless of the network size
- 1:00:21and complexity
- 1:00:23assurance pertains to use of proactive
- 1:00:26monitoring and insights from the network
- 1:00:28devices and applications to predict
- 1:00:30problems
- 1:00:32faster and ensure that the policy and
- 1:00:34configuration changes
- 1:00:36achieve the business intent and the user
- 1:00:39experience you want
- 1:00:41and the last one is the platform use
- 1:00:43apis to integrate
- 1:00:45with your preferred id systems to create
- 1:00:47end-to-end solutions
- 1:00:49and add support for multi-vendor
- 1:00:51services
- 1:00:53alright so we come to an end of this
- 1:00:56video lecture and we have presented
- 1:00:59a brand new networking all right
- 1:01:02so in the future everything will be in
- 1:01:05the software defined networking
- 1:01:07okay and we will be using this fabric
- 1:01:09technologies
- 1:01:11okay and intelligently controlling
- 1:01:14and configuring or monitoring the
- 1:01:17network infrastructure
- 1:01:19okay so that ends up this video
- 1:01:22presentation
- 1:01:24have a great day thank you for watching
About this transcript
This page contains the full transcript of ENSA Module 14 Network Automation by Santelmo, generated from the public captions YouTube serves with the video. The transcript has 7,028 words across 1,416 segments, with the original timestamps preserved so you can click any line to jump to that moment in the embedded player.
What you can do with it
Use the transcript to take notes, quote the speaker, build a study guide, generate a summary with ChatGPT or Claude via the YouTube Summary tool, or export it as a timed subtitle file with YouTube to SRT. You can also re-open it in the transcriber to translate the transcript into 100+ languages.
Free YouTube transcript tool
YouTube2Text is a free YouTube transcript generator — no signup, no daily limit. Paste any YouTube link and get the full transcript instantly, with timestamps, click-to-jump, translation to 100+ languages, AI prompts for ChatGPT, Claude, and Gemini, and exports to TXT, SRT, VTT, or Markdown.