Intent-Based Automation
Network Intent (NI) is an automation construct that allows users to define expected design and operational state. It establishes a baseline configuration and operational state to validate the network design. Further, users can run NIs to simply detect design and operational deviations during the troubleshooting or set up the scheduled task to run a set of NIs to assess the whole network.
A standard NI has the following key components:
- Device(s): An intent is specific to a device or a set of devices. The intent is designed this way so that it can include the current, last, and baseline data.
- Raw data: The data can be retrieved from devices by the CLI, SNMP, and API.
- Parser: The Visual Parser transforms the raw data into structured datasets. These datasets serve as the input for the diagnosis. Visual Parser is the UI-based for users without any programming language to create one.
- Diagnosis: The diagnosis defines rules or conditions to evaluate different aspects of the network and the status code (the output) for different conditions. Users can then specify the appropriate actions or recommendations to be executed based on the status codes.
So, an NI takes a device and a command (CLI/SNMP/API) as the input, retrieves data from the live network or database, parses the data into the structured datasets (variables), runs the diagnosis on these variables, and outputs the network status (error/warning/info).
The following are some examples of NI:
- Enforce configuration compliance and prevent configuration drift.
Example: You can create an NI to check the current configurations against the Golden Config, which can be discovered systematically via the NetworkBrain Reverse Engineering method. - Continuously monitor the operational status.
Example:- You can create NIs to monitor the general health of a network device, such as the reachability, uptime and reboot reason, performance data, and temperature.
- You can create NIs to monitor the specific vendor functions, such as the virtual server and pool member of an F5 load balancer.
- Check the failover. Example: You can create an intent to check whether the failover status changes and monitor the performance if a failover occurs.
The NetworkBrain system provides a Golden Engineering Studio (GES) for you to systematically discover the Golden Config and Golden Features of your network and build Golden Intents to prevent the drifts from these Golden Configs and verify the design of Golden Features.
Depending on the network status detected by an intent, an intent can be programmed to perform actions to call other NetworkBrain functions and even integrate with the 3rd party system, for example,
- Integrate with the NetworkBrain Change Management (CM) module by defining a network change to auto-remediate the drift from the Golden Config or an abnormal network state.
- Close a ServiceNow ticket via Webhook if the intent polls the live network and observes that the symptom of the ticket does not exist anymore.
- Call another NI or itself as a follow-up to form a diagnosis flow. For example, users can add Check duplicate router ID and Check EIGRP neighbors as the follow-up NI if the EIGRP routes change.
- Create a CSV report to document the network state.
- Create a map and show the network state data on the map (dataview).
An intent (seed NI) can be replicated for all qualified devices through the whole network or as a set of network devices via an Intent Replication Wizard. An Intent Template (NIT) will be defined for this purpose, including the definition of the target devices, rules to replace the Macro Variables, etc. The cloned intents can be grouped into a column of an Automation Data Table (ADT), which is the other key component (besides intent itself) for intent-based automation.
An ADT contains a base table, which can be the critical assets and be built from the device group, sites, application table, intent template, and CSV file, and many Column groups, which are associated with the intent and results and can be replicated primarily from the intent template. A feature table is a special ADT that is automatically created for a Golden Feature.
The following is an example of an ADT table showing all BGP devices and intents associated with the BGP devices:
An individual intent or the intents of an ADT can be run manually (e.g., running intent in the map while troubleshooting a network issue) or be scheduled to run (e.g., continuously monitoring the configuration drift). The results can be viewed in the post-execution tree of intent or through a Dashboard. A dashboard provides a network-wide observability of your network status created by the intents.