Automation & Programmability
Automation and Network
Management
• Automation has changed the way we manage networks.
• In a traditional network, everything is done manually.
Traditional Network management
• Traditionally, Network Management is about
• Installation and initial config
• Modifying and updating the existing config
• Upgrading software
• - all of those were achieved by
• - Console,Telnet, SSH, applying scripts or by copying config
• And, Monitoring
• which was achieved through
• - SNMP, and Netflow
• AND, it was always “Box-by-Box”
Automation
• With Automation
• New devices automatically finds an initial configuration
• Automated QoS profiles/config
• Automated AAA profiles/config
• Utilizes scripts/tools
• Standardize some procedures
• - software image per device model
• - and, the upgrade procedure
• Schedule operations
• Sometimes, automated troubleshooting (WoW)
• - which are done through (CLI, SSH, SNMP, NETCONF, RESTCONF)
• Topology visualization and monitoring
• - which are done by using (SNMP Manager, and Netflow Collector)
• So, all of that led to reduce or even eliminate the Box-by-Box,
• -Smaller staff is needed, time saving, and config consistency
SDN (Software Defined Networking)
• In SDN (Software Defined Networking) Controller-based networks
• Tasks are handled by the controllers
• Some examples of controllers in Cisco-based solutions are: DNA
Center in SD-Access, vManage in SD-WAN
• The controllers handle all of the configuration deployment, as well as
software upgrades, services deployment, applying security policy
• Deploying new networking devices with Plug-and-Play or ZTP (Zero
Touch Provisioning)
• This allows the network operator to focus on higher-level tasks like
designing the network for scale and to best support the business,
support operations, and more, like making progress on projects and
other tasks
Software-Defined Networking (SDN)
• - Automation is achieved by SDN
• - where you have a “software” that runs your network
• - so, through a “software” you be able to run and administrate
• An entire network, with its different types of devices
• - that will definitely need either a “Controller”!!!
• Or, a built-in scripting (CiscoTCL, or Python)
SDN Controller
• The big guy that does almost everything in this chapter
• Controls and implement the automation and administration
• Can either be
• - A “software” installed in a server
• - An appliance with a controller inside (Cisco APIC, DNA Center)
• - Or, a remote controller through the cloud
• - and, it uses some tools/apps like (puppet, chef, and ansible)
SDN Implementation
• Imperative Approach
• - the control plane logic resides completely in the controller
• - the controller has a complete control over programing the
• The forwarding decisions of the networking devices
• - devices then will ask the controllers before any forwarding
• Or routing action
• Declarative Approach
• - the control plane resides within the network device (just like before)
• - the controller will declare the requirements of the all the
• Forwarding/routing decisions to the networking devices
• - the network devices will then decide how to translate the
• Controller instructions into actions
Cisco DNA Center
• The Digital Network Architecture
• It is anAppliance (comes in various models)
• A Central Management,Automation, andAnalysis Point
• Gives Intent-Based Networking
• And that is, controlling a network by a software
• Allows to design and create topology maps
• DesignWLAN SSIDs
• Managed through a GUI
• Has a built-inAPIC
• - the Application Policy Infrastructure Controller
• - it’s controller
• Also has a built-in NDP
• - Network Data Platform
• - analyzes problems, show them, and suggest solutions
Application Programming Interface
• The transformers that are transforming everything from
• The Application to the controllers, and vice-versa
• - those will be called “Northbound API”
• Also transforms everything from the controller to the network
• Devices, and vice-versa
• - the “SouthboundAPI”
• And, transforms data between different controllers of different devices
• So, it’s a code
• Written by a language
• That language encodes data into an API
• It uses the Server/Client relation
• - in the Northbound (Controller = Server, Application = Client)
• - in the Southbound (Network Device = Server, Controller = Client)
The 3 Planes
• In any networking device there are three planes of operation:
• The Management Plane
• The Control Plane
• The Data Plane
• The Management Plane is how the Network Operator accesses the devices
and manages it.Whether it’s through SSH, HTTPS, or a SecureAPI and
manually or via automation tools the Management Plane is where this takes
places.This how the Operator tells the network device to function.
• The Control Plane is where the device makes forwarding decisions. If we’re
talking about a router then this is where Routing Protocols live, the routing
table, and so forth.
• The Data Plane is where traffic ingresses and egresses the device.This is
literally the data being sent across the network, from an end user device out
to a web server on the internet.
The Management Plane
The Control Plane
• The Control Plane is where the device makes forwarding decisions. If we’re
talking about a router then this is where Routing Protcols live, the routing
table, and so forth.
The Data Plane
• The Data Plane is where traffic ingresses and egresses
the device.This is literally the data being sent across the
network, from an end user device out to a web server on
the internet.
• In a traditional network these three planes live on each and every device in
the network. If you need to deploy a new security policy or update an
existing one then you need to access the management plane on EVERY
device in the network, or at least where the policy update is applicable, and
update or apply the new rules.This is where Controller-Based networks make
a huge impact.
• In a Controller-based network the Management Plane is the Controller.This
is where the Network Operator manages the network, regardless of how
many network devices there on.The Control plane pushes the configuration,
as described by the network operator, down to the devices.The networking
devices themselves are the forwarding plane and just move traffic based on
the instructions provided by the Controller. Let’s take a closer look at this in
practice in Cisco’s SD-WAN.
APIs
• An API stands for Application Programming Interface
• It’s a way for someone to interact with a piece of software andAPIs can
even be configured to interact with each other
• The API enables automation and programmability, as well as
Orchestration
• API’s typically use standard HTTP calls, which are verbs like GET, POST,
PUT, DELETE, and PATCH
• This of the HTTP GET like the Cisco CLI version of show.The show
command lets you view configuration
• The HTTP GET will let you view information as well.
Types of APIs
• InternalAPI
• - between applications
• - like transferring data from HTML to PDF
• Web-Service API
• - exchanging data between remote devices
• - Uses IP address
• - like REST-Based API
Configuration Management Mechanisms
• The applications that you use to automate
• All of them requires CLI/Scripting
• Includes a GUI
• - schedule a task
• - manually instantiate events
• So, a CLI script will give a GUI result
• Like (Puppet, Chef, and Ansible)
Java-Script Object Notation (JSON)
• - a programming language used to create APIs
• - used by REST-Based APIs
• - human-readable
• - lightweight
• - the “Object” is about
• - a container that encloses “one-or-more” {name:value} pairs
• - also called a “key-value pairs”
• - JSONValues
• - always surrounded by a curly bracket { }
• - name:value pairs
• - a string must be enclosed with double quotes “ ”
• - like = {“name”:”III” , “job”:”channel” , “location”:”YouTube”}
Thanks

Automation & Programmability.pptx

  • 1.
  • 2.
    Automation and Network Management •Automation has changed the way we manage networks. • In a traditional network, everything is done manually.
  • 3.
    Traditional Network management •Traditionally, Network Management is about • Installation and initial config • Modifying and updating the existing config • Upgrading software • - all of those were achieved by • - Console,Telnet, SSH, applying scripts or by copying config • And, Monitoring • which was achieved through • - SNMP, and Netflow • AND, it was always “Box-by-Box”
  • 4.
    Automation • With Automation •New devices automatically finds an initial configuration • Automated QoS profiles/config • Automated AAA profiles/config • Utilizes scripts/tools • Standardize some procedures • - software image per device model • - and, the upgrade procedure • Schedule operations • Sometimes, automated troubleshooting (WoW) • - which are done through (CLI, SSH, SNMP, NETCONF, RESTCONF) • Topology visualization and monitoring • - which are done by using (SNMP Manager, and Netflow Collector) • So, all of that led to reduce or even eliminate the Box-by-Box, • -Smaller staff is needed, time saving, and config consistency
  • 5.
    SDN (Software DefinedNetworking) • In SDN (Software Defined Networking) Controller-based networks • Tasks are handled by the controllers • Some examples of controllers in Cisco-based solutions are: DNA Center in SD-Access, vManage in SD-WAN • The controllers handle all of the configuration deployment, as well as software upgrades, services deployment, applying security policy • Deploying new networking devices with Plug-and-Play or ZTP (Zero Touch Provisioning) • This allows the network operator to focus on higher-level tasks like designing the network for scale and to best support the business, support operations, and more, like making progress on projects and other tasks
  • 6.
    Software-Defined Networking (SDN) •- Automation is achieved by SDN • - where you have a “software” that runs your network • - so, through a “software” you be able to run and administrate • An entire network, with its different types of devices • - that will definitely need either a “Controller”!!! • Or, a built-in scripting (CiscoTCL, or Python)
  • 7.
    SDN Controller • Thebig guy that does almost everything in this chapter • Controls and implement the automation and administration • Can either be • - A “software” installed in a server • - An appliance with a controller inside (Cisco APIC, DNA Center) • - Or, a remote controller through the cloud • - and, it uses some tools/apps like (puppet, chef, and ansible)
  • 8.
    SDN Implementation • ImperativeApproach • - the control plane logic resides completely in the controller • - the controller has a complete control over programing the • The forwarding decisions of the networking devices • - devices then will ask the controllers before any forwarding • Or routing action • Declarative Approach • - the control plane resides within the network device (just like before) • - the controller will declare the requirements of the all the • Forwarding/routing decisions to the networking devices • - the network devices will then decide how to translate the • Controller instructions into actions
  • 9.
    Cisco DNA Center •The Digital Network Architecture • It is anAppliance (comes in various models) • A Central Management,Automation, andAnalysis Point • Gives Intent-Based Networking • And that is, controlling a network by a software • Allows to design and create topology maps • DesignWLAN SSIDs • Managed through a GUI • Has a built-inAPIC • - the Application Policy Infrastructure Controller • - it’s controller • Also has a built-in NDP • - Network Data Platform • - analyzes problems, show them, and suggest solutions
  • 10.
    Application Programming Interface •The transformers that are transforming everything from • The Application to the controllers, and vice-versa • - those will be called “Northbound API” • Also transforms everything from the controller to the network • Devices, and vice-versa • - the “SouthboundAPI” • And, transforms data between different controllers of different devices • So, it’s a code • Written by a language • That language encodes data into an API • It uses the Server/Client relation • - in the Northbound (Controller = Server, Application = Client) • - in the Southbound (Network Device = Server, Controller = Client)
  • 11.
    The 3 Planes •In any networking device there are three planes of operation: • The Management Plane • The Control Plane • The Data Plane
  • 12.
    • The ManagementPlane is how the Network Operator accesses the devices and manages it.Whether it’s through SSH, HTTPS, or a SecureAPI and manually or via automation tools the Management Plane is where this takes places.This how the Operator tells the network device to function. • The Control Plane is where the device makes forwarding decisions. If we’re talking about a router then this is where Routing Protocols live, the routing table, and so forth. • The Data Plane is where traffic ingresses and egresses the device.This is literally the data being sent across the network, from an end user device out to a web server on the internet. The Management Plane
  • 13.
    The Control Plane •The Control Plane is where the device makes forwarding decisions. If we’re talking about a router then this is where Routing Protcols live, the routing table, and so forth.
  • 14.
    The Data Plane •The Data Plane is where traffic ingresses and egresses the device.This is literally the data being sent across the network, from an end user device out to a web server on the internet.
  • 15.
    • In atraditional network these three planes live on each and every device in the network. If you need to deploy a new security policy or update an existing one then you need to access the management plane on EVERY device in the network, or at least where the policy update is applicable, and update or apply the new rules.This is where Controller-Based networks make a huge impact. • In a Controller-based network the Management Plane is the Controller.This is where the Network Operator manages the network, regardless of how many network devices there on.The Control plane pushes the configuration, as described by the network operator, down to the devices.The networking devices themselves are the forwarding plane and just move traffic based on the instructions provided by the Controller. Let’s take a closer look at this in practice in Cisco’s SD-WAN.
  • 16.
    APIs • An APIstands for Application Programming Interface • It’s a way for someone to interact with a piece of software andAPIs can even be configured to interact with each other • The API enables automation and programmability, as well as Orchestration • API’s typically use standard HTTP calls, which are verbs like GET, POST, PUT, DELETE, and PATCH • This of the HTTP GET like the Cisco CLI version of show.The show command lets you view configuration • The HTTP GET will let you view information as well.
  • 17.
    Types of APIs •InternalAPI • - between applications • - like transferring data from HTML to PDF • Web-Service API • - exchanging data between remote devices • - Uses IP address • - like REST-Based API
  • 18.
    Configuration Management Mechanisms •The applications that you use to automate • All of them requires CLI/Scripting • Includes a GUI • - schedule a task • - manually instantiate events • So, a CLI script will give a GUI result • Like (Puppet, Chef, and Ansible)
  • 19.
    Java-Script Object Notation(JSON) • - a programming language used to create APIs • - used by REST-Based APIs • - human-readable • - lightweight • - the “Object” is about • - a container that encloses “one-or-more” {name:value} pairs • - also called a “key-value pairs” • - JSONValues • - always surrounded by a curly bracket { } • - name:value pairs • - a string must be enclosed with double quotes “ ” • - like = {“name”:”III” , “job”:”channel” , “location”:”YouTube”}
  • 20.

Editor's Notes

  • #3 Traditional Network From the deployment of new switches, updates to standard or baseline configurations, and deploying new network services are all done by the network operator
  • #6 The controllers handle all of the configuration deployment, as well as software upgrades, services deployment, applying security policy, and can even handle deploying new networking devices with Plug-and-Play or ZTP (Zero Touch Provisioning). This allows the network operator to focus on higher-level tasks like designing the network for scale and to best support the business, support operations, and more, like making progress on projects and other tasks.
  • #7 The controllers handle all of the configuration deployment, as well as software upgrades, services deployment, applying security policy, and can even handle deploying new networking devices with Plug-and-Play or ZTP (Zero Touch Provisioning). This allows the network operator to focus on higher-level tasks like designing the network for scale and to best support the business, support operations, and more, like making progress on projects and other tasks.
  • #12 Microsegmentation: The switch’s effect of segmenting an Ethernet LAN into one collision domain per interface.
  • #13 the role of a LAN switch is to forward Ethernet frames based on switching logic that is based on the source and destination MAC addresses in the frame’s header. Multicast addresses: 0100.5exx.xxxx, where a value between 00.0000 and 7f.ffff can be used in the last half of the address.
  • #15 In a traditional network these three planes live on each and every device in the network. If you need to deploy a new security policy or update an existing one then you need to access the management plane on EVERY device in the network, or at least where the policy update is applicable, and update or apply the new rules. This is where Controller-Based networks make a huge impact.
  • #16 Within the Management Plane you have vManage, vBond, and vAnalytics. vManage is administrative interface for the rest of the network. vBond is the Orchestrator. When a device comes online either for the first time or after a reboot the device reports to vBond first and vBond will provide the device with the information on how to reach vManage and the rest. vAnalytics takes in all of the telemetry data and turns that data into useful information to be consumed by the network operator so they can make informed decisions about their network. Within the Control Plane are vSmart Controllers. These controllers take the instructions from vManage and push the configuration down to the devices. They can also control the routing table for each device. The Data Plane is composed of the routers themselves. In the above example it’s the vEdges, which is simply a Cisco SD-WAN capable router.
  • #17 The network operator can use tools and the verbs to get information and then send configuration changes. Automation and scripting can be used to make these changes as well. Additionally, when one system sees certain changes or things happening in the network they can be configured to send API calls to other APIs on other controllers. This is very common in the Data Center. You’ll have an API on the ACI controller, called the APIC that interacts with the virtualization controller, in VMware known as vCenter.
  • #18 The network operator can use tools and the verbs to get information and then send configuration changes. Automation and scripting can be used to make these changes as well. Additionally, when one system sees certain changes or things happening in the network they can be configured to send API calls to other APIs on other controllers. This is very common in the Data Center. You’ll have an API on the ACI controller, called the APIC that interacts with the virtualization controller, in VMware known as vCenter.
  • #19 The network operator can use tools and the verbs to get information and then send configuration changes. Automation and scripting can be used to make these changes as well. Additionally, when one system sees certain changes or things happening in the network they can be configured to send API calls to other APIs on other controllers. This is very common in the Data Center. You’ll have an API on the ACI controller, called the APIC that interacts with the virtualization controller, in VMware known as vCenter.
  • #20 The network operator can use tools and the verbs to get information and then send configuration changes. Automation and scripting can be used to make these changes as well. Additionally, when one system sees certain changes or things happening in the network they can be configured to send API calls to other APIs on other controllers. This is very common in the Data Center. You’ll have an API on the ACI controller, called the APIC that interacts with the virtualization controller, in VMware known as vCenter.