Please enable JavaScript.
Coggle requires JavaScript to display documents.
Module 14: NetWork Automation - Coggle Diagram
Module 14: NetWork Automation
14.1 Automation Overview
14.1.3 Thinking Devices
Can devices think? Can they learn from their environment? In this context, there are many definitions of the word “think”. One possible definition is the ability to connect a series of related pieces of information together, and then use them to alter a course of action.
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
14.1.2 The Increase in Automation
Automation is any process that is self-driven, that reduces and potentially eliminates, the need for human intervention.
Automation was once confined to the manufacturing industry. Highly repetitive tasks, such as automobile assembly, were turned over to machines and the modern assembly line was born. Machines excel at repeating the same task without fatigue and without the errors that humans are prone to make in such jobs.
14.2 Data Formats
14.2.2 The Data Formats Concept
When sharing data with people, the possibilities for how to display that information are almost endless. For example, think of how a restaurant might format their menu. It could be text-only, a bulleted list, or photos with captions, or just photos. These are all different ways in which the restaurant can format the data that makes up the menu. A well-designed form is dictated by what makes the information the easiest for the intended audience to understand. This same principle applies to shared data between computers. A computer must put the data into a format that another computer can understand.
14.2.3 Data Format Rules
Syntax, which includes the types of brackets used, such as [ ], ( ), { }, the use of white space, or indentation, quotes, commas, and more.
How objects are represented, such as characters, strings, lists, and arrays.
How key/value pairs are represented. The key is usually on the left side and it identifies or describes the data. The value on the right is the data itself and can be a character, string, number, list or another type of data.
Data formats have rules and structure similar to what we have with programming and written languages. Each data format will have specific characteristics:
14.2.4 Compare Data Formats
14.2.5 JSON Data Format JSON is a human readable data format used by applications for storing, transferring and reading data. JSON is a very popular format used by web services and APIs to provide public data. This is because it is easy to parse and can be used with most modern programming languages, including Python
14.2.6 JSON Syntax Rules
14.2.7 YAML Data Format
14.2.8 XML Data Format
14.3 APIs
14.3.3 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, as shown in the figure. 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.
14.3.4 Open, Internal, and Partner APIs
14.3.2 The API Concept
APIs are found almost everywhere. Amazon Web Services, Facebook, and home automation devices such as thermostats, refrigerators, and wireless lighting systems, all use APIs. They are also used for building programmable network automation.
14.3.5 Types of Web Service APIs
14.4 REST
14.4.2 REST and RESTful API
Web browsers use HTTP or HTTPS to request (GET) a web page. If successfully requested (HTTP status code 200), web servers respond to GET requests with an HTML coded web page, as shown in the figure.
14.4.4 URI, URN, and URL
Web resources and web services such as RESTful APIs are identified using a URI. A URI is a string of characters that identifies a specific network resource.
14.4.3 RESTful Implementation
14.4.5 Anatomy of a RESTful Request
In a RESTful Web service, a request made to a resource's URI will elicit a response. The response will be a payload typically formatted in JSON, but could be HTML, XML, or some other format. The figure shows the URI for the MapQuest directions API. The API request is for directions from San Jose, California to Monterey, California.
14.5 Configuration Management Tools
14.5.2 Traditional Network Configuration
Network devices such as router, switches, and firewalls have traditionally been configured by a network administrator using the CLI, as shown in the figure. Whenever there is a change or new feature, the necessary configuration commands must be manually entered on all of the appropriate devices. In many cases, this is not only time-consuming, but can also be prone to errors. This becomes a major issue on larger networks or with more complex configurations.
14.5.3 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 hundreds, thousands, and even tens of thousands of complex network devices (both physical and virtual) with the help of software.
14.5.4 Configuration Management Tools
Configuration management tools make use of RESTful API requests to automate tasks and can scale across thousands of devices. Configuration management tools maintain the characteristics of a system, or network, for consistency.
14.5.5 Compare Ansible, Chef, Puppet, and SaltStack
14.6 IBN and Cisco DNA Center
14.6.2 Intent-Based Networking Overview
IBN is the emerging industry model for the next generation of networking. IBN builds on Software-Defined Networking (SDN), transforming a hardware-centric and manual approach to designing and operating networks to one that is software-centric and fully automated.
14.6.3 Network Infrastructure as Fabric
From the perspective of IBN, the physical and virtual network infrastructure is a fabric. Fabric is a term used to describe an overlay that represents the logical topology used to virtually connect to devices, as shown in the figure.
14.6.4 Cisco Digital Network Architecture (DNA)
Cisco implements the IBN fabric using Cisco DNA. As displayed in the figure, the business intent is securely deployed into the network infrastructure (the fabric).