Reader small image

You're reading from  Implementing and Administering Cisco Solutions: 200-301 CCNA Exam Guide

Product typeBook
Published inNov 2020
PublisherPackt
ISBN-139781800208094
Edition1st Edition
Right arrow
Author (1)
Glen D. Singh
Glen D. Singh
author image
Glen D. Singh

Glen D. Singh is a cybersecurity author, educator and SecOps professional. His areas of expertise are cybersecurity operations, offensive security tactics and techniques, and enterprise networking. He holds a Master of Science (MSc) in cybersecurity and many industry certifications from top awarding bodies such as EC-Council, Cisco, and Check Point. Glen loves teaching and mentoring others while sharing his wealth of knowledge and experience as an author. He has written many books, which focus on vulnerability discovery and exploitation, threat detection, intrusion analysis, incident response, network security, and enterprise networking. As an aspiring game changer, Glen is passionate about increasing cybersecurity awareness in his homeland, Trinidad and Tobago.
Read more about Glen D. Singh

Right arrow

Chapter 15: Network Automation and Programmability Techniques

In 2019, Cisco made a huge announcement related to their certification tracks and examination structure. One notable update is the inclusion of automation and programmability within the CCNA, CCNP, and CCIE certification tracks. You're probably wondering, what does this mean for current and new network engineers? To put it simply, automation and programmability are being integrated into network engineering, thus creating a new type of network professionals, referred to as network developers.

During the course of this chapter, you will learn how programmability and automation are being integrated into network engineering. Furthermore, you will gain knowledge to help you understand the various data formats of programming languages such as JSON, YAML, and XML.

In this chapter, we will cover the following topics:

  • Understanding automation
  • Understanding data formats
  • Understanding APIs
  • Understanding...

Understanding automation

Automation is any process that is self-driven without the need for human intervention. In many manufacturing plants around the world, machines (or robots) are used during the building and assembly process. Imagine a car manufacturer using machines that can operate on a 24/7/365 continuous schedule that is being controlled by a computer. The computer provides the instructions for the machines to interpret and execute on the manufacturing line. These machines are able to work continuously without the need to stop and rest, and they can perform jobs in a precise manner without errors or faults. Having machines in a production line removes the need for human workers as higher production output is achieved while reducing the risk of human error on the job.

Automation was most used within manufacturing plants, where it was more effective to implement machines to perform certain tasks and where the working environment may be hazardous to humans. Today, automation...

Understanding data formats

Let's imagine there are two different systems on a network, such as a computer and a router. The computer wants to share data with the router but since these are two different devices altogether, the router may not understand or be able to interpret the message it receives from the computer. To solve this issue, data formats are used to ensure the data that is being exchanged between the systems is presented in a format that is easily understood by another system. Think of a data format as two people who both speak different languages using a common language such as English so that the information that's being exchanged can be easily understood by both.

Data formats go a step further to ensure computers, network devices, and applications are all able to understand data that is being shared between them. As an example, let's take a look at a simple web page written in the Hypertext Markup Language (HTML), as shown in the following screenshot...

Understanding APIs

An API allows data formats to be shared between different systems or devices. APIs simply allow an application to send and retrieve data from another system. APIs are used almost everywhere, from cloud services such as Microsoft Azure and Amazon's AWS to social media platforms such as Facebook.

To understand how APIs operate, let's imagine you visit your favorite restaurant to have a dine-in dinner with your family or significant other. At the restaurant, you are given a menu so that you can choose your meal before it's prepared in the kitchen. As a customer, you won't be allowed to visit the kitchen to retrieve your meal when it's ready – a waiter or waitress is assigned this role. When you (the user) are ready to place your order, the request is made via the waiter/waitress (API), which is known as an API call. The waiter/waitress then goes to the kitchen with your order (the request). When the food (data) is ready, the waiter...

Understanding network configuration management

At the beginning of this chapter, we discussed automation and how it helps us, as network engineers, work more efficiently when configuring, deploying, and troubleshooting issues on a large network. An important factor with network automation is that it saves us a lot of time from performing manual tasks on our network devices. When becoming a network developer, it's important to understand how various configuration management tools can improve how we automate configurations on our switches, routers, firewalls, and many other network devices.

In a traditional scenario, a network engineer will access and manage a network device such as a router or switch via a CLI. This is how we all learned to manage our devices – if there is a change that needs to be made on the network, we need to log into the CLI and manually make this change. As this method has worked for many years and it's the primary method by which we do things...

Summary

Over the course of this chapter, you have learned about the new era of networking, where automation and programmability can greatly help network engineers improve the time they spend on deployment and configuration while reducing the need to manually perform repetitive tasks in their daily job. Additionally, you have gained the skills to understand various data formats such as XML, JSON, and YAML, as well as how they are used to request data from a system via APIs.

Furthermore, you have learned about the functions of various types of APIs and the components of RESTful APIs. You learned about the characteristics of configuration management tools such as Ansible, Chef, and Puppet and the role they play to assist us in network automation. Then, we covered how IBN and Cisco DNA Center can be used to help us fully automate our enterprise network using a controller-based model.

Lastly, I know the journey of preparing for the Cisco Certified Network Associate (CCNA) 200-301...

Questions

The following is a short list of review questions to help reinforce your learning and allow you to identify areas that require some improvement:

  1. Which data format is commonly used to create web pages?

    A. JSON

    B. XML

    C. HTML

    D. YAML

  2. Which data type is similar to HTML?

    A. JSON

    B. XML

    C. YAML

    D. Python

  3. Which data type is the simplest to read and understand?

    A. JSON

    B. XML

    C. YAML

    D. Python

  4. When using YAML, which syntax is used to represent a list of items?

    A. {}

    B. []

    C. ()

    D. -

  5. While using JSON, which syntax is used to represent a list of items?

    A. {}

    B. []

    C. ()

    D. -

  6. Which type of API allows a vendor to access data within an organization's system?

    A. Partner

    B. Open

    C. Public

    D. Internal

  7. Which RESTful API operation is equivalent to an HTTP POST message?

    A. PUT

    B. Update

    C. Request

    D. Create

  8. Which component of a URI identifies a specific area on a web page?

    A. Path

    B. Filename

    C. Hostname

    D. Fragment

  9. Which configuration management tool uses a push function?

    A....

Further reading

The following links are recommended for additional reading:

lock icon
The rest of the chapter is locked
You have been reading a chapter from
Implementing and Administering Cisco Solutions: 200-301 CCNA Exam Guide
Published in: Nov 2020Publisher: PacktISBN-13: 9781800208094
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
undefined
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $15.99/month. Cancel anytime

Author (1)

author image
Glen D. Singh

Glen D. Singh is a cybersecurity author, educator and SecOps professional. His areas of expertise are cybersecurity operations, offensive security tactics and techniques, and enterprise networking. He holds a Master of Science (MSc) in cybersecurity and many industry certifications from top awarding bodies such as EC-Council, Cisco, and Check Point. Glen loves teaching and mentoring others while sharing his wealth of knowledge and experience as an author. He has written many books, which focus on vulnerability discovery and exploitation, threat detection, intrusion analysis, incident response, network security, and enterprise networking. As an aspiring game changer, Glen is passionate about increasing cybersecurity awareness in his homeland, Trinidad and Tobago.
Read more about Glen D. Singh