I’ve been making efforts to apply my programmability skills to automate some of the processes involved in rolling out/managing our network infrastructure. Automating repetitive and mundane tasks are nothing new to me, as I’ve written past works to help me reduce workload/speed up output on the system administration side.

Recently, with more networking responsibilities falling upon me, and as I’m beginning to get pinged by my coworkers nationally and internationally on network-related questions and support requests, I find myself needing better sustainable methods. Manual methods have worked in the past when requests were only trickling in, configurations were simpler, there was more time in the day, and when we were operating smaller.

But time changes, and we need to adapt to growth. This means reviewing things that used to work before, and come up with healthier ways to do more with the same or better efficiency.

So, let’s get to what I’ve been up to.

Let me introduce you to the Network Switch Configuration Provisioning (NSCP). Designed with HPE and Aruba networking hardware in mind, the backend application is driven by Python, utilizing Flask framework, and finally utilizing my past frontend skills in HTML, CSS, and Javascript to create an interactive and responsive web interface to simplify processes and reduce time needed to provision and deploy hardware.

I want to accomplish a few major things with the custom applications. Aside from the desire to cut down deployment time, I’m looking to address human errors that come with configuring network switches and deploying hardware. I also want to re-arrange and establish a new workflow to improve how we operate.

In an ideal world, the deployment of hardware should always be documenting new/modification/removal of equipment within the source of truth (SOT). Then the configuration should be provisioned from the SOT, and pushed to the hardware. We then deploy it into production, and once online, become active in our monitoring system to monitor current state.

Going back to the application I’m writing. I’ve completed the configuration templating module. The templating system operate with the following data hierarchical model that I’ve devised.

Through this model, the templating system should be modular and easy to expand and shrink when my company grow or downsize through the economic cycles.

What’s next in this project?

It’s an ambitious project, but I know it will be of great benefit to the teams and to myself in the long run.