Automation is everywhere today, from self-serve checkouts at the store to automatic thermostats.  There are many benefits including:

  • Machines can work 24 hours a day
  • Automation allows the collection of vast amounts of data that can be quickly analyzed to provide information which can help guide an event or process
  • and more…

Today we are surrounded by smart devices such as phones, tablets, thermostats, doorbells, cars, and more.  These devices are connected to sensors and each other allowing them to think and react based on automation programming.

The automation and programming relies upon data formats such as:

  • JavaScript Object Notation or JSON,
  • eXtensible Markup Language  or XML,
  • and YAML Ain’t Markup Language or YAML.

Data formats like JSON have rules and syntax making them easy to work with for both human and machine.  JSON is one that is considered “human-readable” meaning that it is easy to understand and it is also popular because it is usable by most modern programming languages.

Another key to automation and programmability is the concept of API’s.  An API is software that allows other applications to access their data or services.  It’s a set of rules describing how one application can interact with another and the instructions to allow the interaction to occur.  The most basic description is to say when a user application needs information an API request is sent to the server hosting that data, the server then sends an API response along with the requested data.  There are several types of API’s we go over in’s detailed bootcamp book, they are Open APIs, Private APIs, and Partner APIs.

Network Programmability and Software Defined Networks

Network programmability and SDN uses the data generated by network equipment, analyzes all of the pieces, and makes changes based on calculations to improve the network’s functionality.  The forwarding of data does not change when using programmability, automation, and SDN, but the how and why does.  The networking devices have 3 different planes they function in:

  • Data plane
  • Control plan
  • Management plane.

With SDN and automation, the activities of the control plan are altered.  The control can be quite literally automated while still distributed to each device or with SDN, they control plane can be centralized to allow greater flexibility and a better central view of the entire network that could not be attained any other way.

In our CCNA 200-301 BootCamp book we go into full detail about automation, programmability, software defined netwokrs, and their associated protocols and API’s.