Simplify Network Automation with Nautobot Jobs

Struggling to keep your script sprawl under control? You’re not alone. At some point, every organization on their network automation journey ends up with script sprawl. In an enterprise environment, however, being able to maintain control over these scripts and execute them using self-service is essential for empowering teams to take advantage of network automation.

During one of our recent webinars, Network to Code’s John Anderson, Principal Consultant, and Jeremy White, Principal Developer Advocate, discussed self-service and API access to Python scripts with Nautobot Jobs.

Read on to learn more about the challenges of script sprawl in network automation and how to overcome them using Nautobot Jobs.

The Challenges of Script Sprawl

After discovering the benefits of network automation, many network team members start building scripts to help them perform their daily tasks. However, these scripts are often executed locally within an individual team member’s own environment, which is also known as robotic desktop automation (RDA).

“When we’re operating in that sort of environment, it can be challenging to share the work that engineers are doing amongst one another,” stated Anderson. “It can be difficult to share if we don’t have the proper governance controls in place.”

Many network teams use Git repositories to track and share automation scripts, but this still poses problems for organizations. Engineers need to clone these Git repositories down to their local environments and ensure they’re using the right branch or script version. This approach lacks operational control and has limited consumability at an organizational level.

“We have the skill set within the team that we’re building some tooling and Python scripting, but we lack the auditability and permissions necessary in enterprise environments.” Anderson explained, “It’s helpful for individual team members, but we want to be able to scale this to the whole organization.”

The question is: how can organizations begin operationalizing these scripts so that other team members can take advantage of them as well? Overcoming this script sprawl requires centralizing governance while still providing self-service capabilities across distributed teams.

Automating Scripts with Nautobot

Nautobot is a source of truth and network automation platform that offers features for documenting and tracking network data. But the platform goes beyond data management with Nautobot Jobs, which is a way for executing custom logic on demand.

By moving automation scripts that are distributed throughout the network and across teams to Nautobot Jobs, organizations can centralize all of this code within Nautobot. These automation scripts can then be easily executed using the Nautobot UI or API by various team members.

There are three primary ways to migrate Jobs into Nautobot:

  • Upload scripts that were developed locally
  • Sync scripts from existing Git repositories
  • Use scripts provided by Nautobot Apps

“As we migrate these scripts into Nautobot Jobs, we gain operational control and the ability to scale this to the whole team,” explained Anderson. “Nautobot is so much more than just a data platform; it’s truly a network automation platform. We can treat Nautobot as the nucleus of automation.”

Diving Deeper into Nautobot Jobs

Nautobot Jobs are Python scripts that take user input from an automatically generated form before running. That means script authors can write a Job script and define the necessary input without manually building the dynamic form using HTML or CSS. Once the script is created, users can easily consume it using the dynamic form within the Nautobot UI.

“As Job authors, we focus on the actual business logic that’s important for manipulating data or talking to network devices,” Anderson said. “By utilizing Nautobot as the platform in which we operate those scripts, we get a bunch of enterprise-grade features as well.”

By using Nautobot Jobs for automated scripts, organizations can take advantage of a number of enterprise-grade features for better collaboration across teams:

  • Enterprise access and governance control options to improve security
  • A distributed Python execution environment to run scripts at scale
  • Integrated access to network data within Nautobot to ensure consistency

In addition to the self-service UI, Nautobot Jobs are accessible via API and webhooks. The REST API wrapper is a powerful way for engineers to access previous siloed automation scripts. Webhooks also enable event-based automation, where Python scripts are executed when certain criteria have been met.

Improving Collaboration and Contribution Across Teams

As you can see, Nautobot Jobs make it much easier to create and execute automation scripts in a distributed environment. It’s easy to convert scripts into Nautobot Jobs that can be consumed via API or self-service UI forms.

There’s also a Git integration to streamline version control and enable engineers to manage the governance of the code itself across one or more repositories. Engineers can maintain this code and conduct peer reviews using a traditional development workflow. This improves collaboration and makes it easier for engineers to contribute to network automation efforts.


Conclusion

Want to learn more about simplifying network automation with Nautobot Jobs? Watch the full webinar here.

-Tim S


Tags :

ntc img
ntc img

Contact Us to Learn More

Share details about yourself & someone from our team will reach out to you ASAP!

Author