From Scripts to Production

Real-World Network Automation Deployment Strategies

Based on insights from Network Automation Forum (NAF) community members

Network engineers are excellent at writing automation scripts—whether they're checking port utilization, running show commands across devices, or managing ServiceNow integrations. But there's a massive gap between having a working script on your laptop and deploying something that non-programmers can safely use in production. This challenge sparked an engaging discussion in the Network Automation Forum community, revealing practical strategies that engineers are actually using in the field.

The Challenge: Bridging the Gap

The fundamental question posed by community member Adam Angell resonates with many network engineers: "What have people done in real production to allow non-programmers to run the code?" This isn't just about technical implementation—it's about creating sustainable, secure, and user-friendly interfaces for complex network operations.

The examples Angell shared highlight typical automation use cases:

  • Port utilization reporting across switches

  • Device command execution with data retrieval

  • Ansible playbooks for ServiceNow change management

  • Multi-platform device verification (DNAC, NetBox, ServiceNow, Orion)

These scenarios represent the bread-and-butter of network automation, but they also illustrate the complexity of making automation accessible to broader teams.

Web-Based Frontends

The most prominent theme in the community discussion was the adoption of web-based user interfaces, particularly Streamlit. Multiple experienced practitioners highlighted this Python framework as a game-changer for network automation deployment.

The Streamlit Approach

Community member "Steinzi" outlined a practical five-step process:

  1. Create a working CLI Python application

  2. Put on your "vibe coder hat" (their words, not ours!)

  3. Use AI assistance to convert the CLI app to Streamlit

  4. Debug and refine the interface

  5. Deploy to users

This approach appeals to network engineers because it doesn't require deep web development skills while providing professional-looking interfaces.

Real-World Implementation Insights

Consultant Claudia de Luna shared valuable deployment patterns her team uses:

  • Hybrid deployment models: Both centralized servers and local GUI deployments depending on client network constraints

  • Input validation: Extensive use of dropdown menus and validation to minimize user errors

  • Fail-fast philosophy: Aborting operations at the first sign of unexpected conditions

The consulting perspective is particularly valuable because it reflects the reality of working across diverse client environments with varying security constraints and infrastructure limitations.

Authentication and Security

The discussion revealed several practical approaches to handling authentication in network automation tools:

Application Authentication

  • Streamlit's built-in authentication features (st.login, st.user)

  • NGINX as a reverse proxy for authentication brokering

  • Local authentication fallbacks when AD integration isn't available

Device Access Authentication

  • TACACS+ integration with service accounts where possible

  • User credential input when SSO isn't available (with acknowledgment of the security implications)

  • Maintaining traceability in underlying systems

As one community member noted: "Sometimes you just got to do some nasty shit when SSO magic is not available." This candid admission reflects the real-world compromises engineers often face.

Complex Automation

For more sophisticated automation workflows, community members discussed several orchestration approaches:

Workflow Engines

  • Commercial solutions: Itential, Ansible Tower/AWX

  • Open source options: Semaphore UI, Dagster, Temporal, Prefect

  • Lightweight alternatives: Celery for task queuing

Data Management and Artifacts

The question of handling automation outputs generated interesting responses:

  • Object storage: S3 buckets for storing script outputs and run artifacts

  • Database integration: Using tools like InfraHub or NetBox for storing results with network objects

  • Viewer applications: Streamlit interfaces for browsing historical runs and outputs

The Controller Challenge

A recurring theme was the complexity of working in "protected environments" where automation tools can't directly access network devices. This forces engineers to work through network controllers, adding layers of complexity to otherwise straightforward automation tasks.

This constraint significantly impacts tool selection and architecture decisions, often forcing teams toward solutions that can integrate with existing management platforms rather than direct device access.

Commercial vs. Open Source: The Eternal Debate

The discussion touched on the tension between commercial and open source solutions. Key points included:

Commercial Solutions

  • Pros: Professional support, comprehensive feature sets, enterprise authentication

  • Cons: Cost, vendor lock-in, potential for long-term technical debt

  • Notable mention: Itential received praise for comprehensive orchestration capabilities

Open Source Solutions

  • Pros: Flexibility, no vendor lock-in, community support

  • Cons: Self-support burden, potential maintenance challenges

  • Risk consideration: The specter of abandoned projects and "magic automation binaries" that nobody understands

Emerging Tools and Experimentation

Community members shared several tools worth monitoring:

  • Torero: A newer tool for launching Python scripts and playbooks, though still seeking production validation

  • Kriten: An alternative automation platform

  • NetiMate: A community member's side project for foundational network automation with plugin architecture

The consensus seemed to be cautious optimism about newer tools, with emphasis on production validation before adoption.

Practical Deployment Patterns

Small Scale (Under 50 Users)

  • Docker Compose on a dedicated server

  • Simple authentication mechanisms

  • Direct device access where security permits

Medium to Large Scale

  • Kubernetes orchestration

  • Enterprise authentication integration

  • Comprehensive logging and audit trails

  • Network segmentation and jump box architectures

Consultant/Multi-Client Model

  • Portable deployment packages

  • Flexible authentication models

  • Heavy emphasis on input validation and error handling

Key Takeaways for Network Engineers

Based on this community discussion, several patterns emerge for successfully deploying network automation:

  1. Start Simple: Begin with working CLI tools before adding web interfaces

  2. Validate Everything: Multiple layers of input validation prevent disasters

  3. Plan for Authentication: Consider both application and device access early in the design

  4. Choose Your Battles: Commercial solutions make sense for some organizations; open source for others

  5. Consider Your Constraints: Protected environments and controller-based access significantly impact architecture decisions

  6. Document and Test: The gap between working script and production tool is larger than most engineers initially realize

The Human Element

Perhaps the most valuable insight from this discussion is the emphasis on understanding your users and environment. The most elegant technical solution means nothing if it doesn't fit your organization's security requirements, skill levels, and operational constraints.

As the community discussion shows, there's no one-size-fits-all solution. Successful network automation deployment requires balancing technical capabilities with practical realities—and sometimes that means making compromises that prioritize operational success over technical perfection.

The Network Automation Forum community's willingness to share both successes and failures provides invaluable guidance for engineers facing similar challenges. Their collective experience demonstrates that while the technical hurdles are significant, they're entirely surmountable with the right approach and realistic expectations.


This blog post is based on a community discussion from the Network Automation Forum (NAF), reflecting the real-world experiences and opinions of practicing network automation engineers, including: Adam Angell, Christian Mas, David Sierra, Steinn Örvar, Chris Russell, Claudia de Luna, Pete Crocker, and Simon Di Giovanni. Individual approaches may vary based on specific organizational requirements and constraints.

Chris Grundemann

Independent advisor, analyst, and consultant. Specializing in internet routing, network architecture, interconnection, and automation.

https://chrisgrundemann.com/
Next
Next

Network Automation Trade-offs: Build, Buy, or Blend?