...
Search
Close this search box.

Blogs

ATOM Workflows: Homebase for your Custom Scripts

Today network automation tools are helping users who have little or no coding experience perform repetitive and complex tasks effectively. But does it eliminate the need for network engineering programming skills?

In short,” No.”

Another way to pose the question is, “Do engineers need to know what developer tools are available?

Yes, and let’s explore why.

The growth in network complexity is creating a gap between current operational capability and expected need. Network engineers who deploy and support digital transformational strategies face the challenge of these demands. They can no longer manage modern networks with just a CLI skillset. Most modern networked devices are API open to facilitate programmability to simplify management. Consequently, scripting is the fastest way to get on board with the NetDevOps bandwagon. Programming knowledge is key to building next-generation, programmable networks.

However, if programmability is not used correctly, it can result in underutilized potential through wasted efforts, higher costs, and wasted time in development and maintenance. One must tackle this potential downside in order to deliver intelligent and differentiated services. In this blog, Anuta Networks discusses the necessary tools that are required to unlock the full potential of scripts and bring custom automation functionalities to life.

A Sea of Possibilities

Numerous solutions can be implemented using homegrown scripts such as:

  • Tracking device health
  • Monitoring CPU utilization of network elements
  • Re-routing of connections in the event of failure
  • Monitoring light levels of an SFP
  • Opening ServiceNow tickets automatically during a networking event 
  • Backing-up network configurations
  • Deploying Config Generator using Jinja2

The Risks Involved

A basic script uses a simple programming language to accomplish tasks. But as processes grow more complex with scalability and maintenance, one must find solutions to tackle different scenarios: When a team of network engineers uses a script to automate the day-to-day network tasks, they may also encounter the following challenges:

Unforeseen Silos– When a script is created to automate network transitions, it handles multiple devices synchronously to make the automated tasks work. But if each network provisioning team member executes a separate script on their workstation, it becomes hard to trace the change.

Availability/Visibility of the script– If a script has to be upgraded, every engineer from the team needs to have the same updated version. Consequently, it is not easy to track how often the script runs and for what devices. Further complicating matters is the fact that there will not be a track record of the history of executions, as well as any instances of the script passing or failing. This obscured visibility between teams makes it difficult for everyone to be on the same track, delaying the remediation process.

Drawn-out error handling process– Even robust testing cannot eliminate all errors. Should a bug get through, scripts require manual efforts to remotely access each host device to run an agent to troubleshoot. Without a streamlined procedure, the process could take longer than usual to isolate and fix the root cause.

The corollary is– that homegrown scripts, disparate versions, outdated file transfer systems, and slow processes result in a higher risk of security breaches, noncompliance, and a lack of productivity.

Anuta ATOM Support for Your Workflow Integration

Anuta Networks ATOM delivers network automation, assurance, and workflow integration for multi-vendor, multi-domain networks.

What is a workflow? ATOM Workflow is a GUI-based visual drag-and-drop feature that helps to define logic with the help of plug-and-play libraries. It allows users to uniquely arrange blocks and decision gateways to shape the desired logic. ATOM workflow also has a built-in module that helps to execute Python scripts in the form of snippets, capable of invoking the scripts (.py) file.

ATOM can also integrate with external ticketing tools, and Network Monitoring Systems (NMS) used to monitor alarms, and the alerts can be correlated to messaging tools such as Slack. It uses REST APIs to integrate and interact with other systems, such as ITSM (Service Now and Jira), IPAM (Infoblox), and CI/CD tools (GIT). The API Remote Procedure Calls can also be handled through workflows. Though various methods exist to interact with devices, commands can also be executed on the devices themselves using REST calls. 

Based on need, one can build standalone or complex script execution workflow with a device and external API interaction. A workflow can also call other workflows as subroutines. Furthermore, decision-making and flow control in the workflow can be managed using decision gateways. This enables the ability to represent logic quickly and accurately within workflow to perform desired tasks. Workflows can also manage error handling scenarios.

ATOM simplifies the manageability of scripts with its advanced workflow. It conquers the limitations using features such as Role-Based Access Control (RBAC) and multi-vendor support where all the necessary resources to be onboarded can be centrally accessed.

Script Handling and Execution with ATOM

Take the example of a network surveillance team needing to keep track of all its external BGP peers on a PE router (with IP 172.16.4.140) connected to a critical customer. If a BGP neighborship goes down, the network surveillance team has to be notified. A custom-made script can use SNMP protocol to run the SNMP walk using BGP peer OID: 1.3.6.1.2.1.15.3.1.2 (http://oid-info.com/get/1.3.6.1.2.1.15.3.1.2) in order to track the real-time BGP peer status and send slack notifications for quick action.

To deploy this script example in ATOM, a network programmer can easily follow the steps below:

  1. Enclose the script (.py) file in the folder.
  2. Place the workflow block in the same folder, which invokes the script. 
  3. When the workflow is executed, it will invoke the script, and the output will be displayed, or the desired action will be triggered.

Enclosing and executing the Python script in the workflow block provides the same result as running it in IDE. ATOM provides the code console/IDE to create, interpret, compile and validate the script. These scripts can also be scheduled to run automatically at a particular time or interval.

The utility script would look like the following:

The script is enclosed in the ATOM package:

GUI workflow block, which invokes the script that is enclosed in the same package:

Low-Code Approach to Execute a Script

The low-code architecture of ATOM can shape even the most complex logic into workflows by breaking them into smaller subblocks. Take another example. Suppose one has to configure an interface, but before proceeding, a pre-check is required to ensure the interface is configured. If it is already configured, then how to select another idle interface? 

ATOM can use the output of one code block as an input to another code block. Instead of using complex if-else logic, the built-in decision gateways can be used in workflows. Consequently, the execution status of each workflow block can be checked for error or failure.

ATOM’s built-in code console also offers the flexibility to test code before deployment. Through the ‘dry run’ mode, ATOM lets one see the script’s output and eliminates the effort of heavy coding for repeated testing or troubleshooting.

Script Your Future with ATOM

Grant Uniform Access When an automation script is upgraded with an enhancement, the updated version must be communicated across the network operation teams or updated in the central repository so everyone can access the latest version. Given ATOM is the sole holder of the script; each member can access the latest standard version once it is updated centrally, minimizing effort and the chance of discrepancy.

Remove RoadblocksAs ATOM onboards all devices for an organization, there are no barriers to accessing the device. Suppose a network engineer has developed a script that interacts with different resources, such as IPAM, but has restricted access to IPAM. In this scenario, that person cannot execute the script from a workstation. Instead, ATOM can function as a single access point for the network device and the IPAM, and the transaction to IPAM and network device can be stitched together with a single workflow.

Streamline ProcessATOM can handle the execution of multiple processes in parallel, each of which can be tracked individually through unique instance IDs. With the help of analytics and reporting, the execution results can also be evaluated and traced. If the execution of the script is scheduled, it becomes crucial to track its execution status regularly. These reports can thereby be extracted for the particular execution time and the instance ID. If script execution is delayed, slowed down, or failed, alarms can be generated with the help of alert definitions.

Summary

Organizations must fuel growth initiatives by empowering networking teams to integrate in-house scripts within automation toolsets. ATOM, packed with its workflow flexibility, script integration, and advanced automation features and reporting, is a perfect solution for network engineers and programmers to experiment with their homegrown script and new custom functionalities. Anuta Networks’ integration support and depth of platform drive operational efficiency via centralized access and seamless script execution, fostering organizational creativity and improved productivity.

Try them now by signing up for a trial version for ATOM Cloud.

Additional Contributors: Amit Beniwal, Manisha Dhan.

About Author

You will also like...