How We Built a Unified Network Automation Framework for Heterogeneous Devices
This article shares how a telecom operations team tackled the complexity of managing dozens of device vendors and hundreds of models by designing a Python‑based automation module called Forward, which standardizes low‑level actions, provides reusable libraries, and enables rapid script composition for diverse network scenarios.
1. Introduction
In a carrier environment, network operations face a massive topology that includes 14 vendors and over 30 device models. The team initially resisted the challenge but eventually succeeded in creating a unified automation solution.
2. Background and Pain Points
Device count and variety explode, yet only four engineers handle the operations. Different vendors mean distinct command sets and proprietary features, making unified management difficult. Common tasks such as fault localization and policy management involve many heterogeneous devices (routers, firewalls, switches, load balancers).
Attempting automation directly leads to tangled, repetitive scripts; existing tools like Ansible cannot cover all device types.
3. Analysis
The organization consists of operations, platform development, frontline engineers, and other teams. Early automation gave every operator basic scripting ability, reducing reliance on development for routine tasks. However, custom requests still cause delays, and developers become overloaded with odd requirements, leading to a bloated platform.
Moving suitable tasks to frontline engineers reduces ticket flow, but they need simple, packaged tools rather than deep knowledge of the network.
4. Architecture
The proposed solution, named Forward , follows a three‑layer architecture:
Bottom layer: atomic operations (e.g., low‑level connection protocols).
Middle layer: library wrappers that present a uniform API across devices, hiding heterogeneity.
Top layer: module entry point handling workflow orchestration and multithreading for bulk operations.
Users interact only with the upper part of the diagram, receiving standard class instances to execute desired functions without worrying about device specifics.
5. Unified Library
The core library abstracts device‑specific commands into common methods. For example, adding a user on any device becomes a single
addUser()call, allowing batch creation of hundreds of accounts with minimal code.
6. Summary
Forward demonstrates that building a modest automation tool is feasible, but it requires ongoing effort to expand the library and documentation. The framework has already been used for thousands of operations, from IP queries to fault localization, and the team plans to open‑source a version.
Original article reproduced from the public account “Fire Furnace Ant Group”.
Efficient Ops
This public account is maintained by Xiaotianguo and friends, regularly publishing widely-read original technical articles. We focus on operations transformation and accompany you throughout your operations career, growing together happily.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.