Menu

US Region

Grandmetric LLC
Brookfield Place Office
200 Vesey Street
New York, NY 10281
EIN: 98-1615498
Phone: +1 302 691 94 10

info@grandmetric.com

EMEA Region

GRANDMETRIC Sp. z o.o.
ul. Metalowa 5, 60-118 Poznań, Poland
NIP 7792433527
+48 61 271 04 43
info@grandmetric.com

Case Study

Ansible automation of repetitive network configurations

Ansible automation reduces response time to requests by 80%

The manual configuration of the network and the implementation of repetitive requests took the two-person IT department many hours. Creating a tool to handle these tasks allowed for the automation of a part of the work and transfer it to the Help Desk department. Now you do not need a network specialist to connect a printer to the appropriate switch port or quickly find the desired device on the network. Qualified engineers gained time to solve advanced problems.

The Ansible-based architecture naturally breaks down complex automation into smaller and more understandable tasks.

The construction of subsequent modules will allow the client to quickly adapt to changing challenges and meet additional expectations.

Jacek Ozga, Senior Automation Engineer, Grandmetric

Client

  • Manufacturer in the construction industry
  • 1100+ employees, 60 sites 

Services

  • Grandmetric Advanced Services
  • Software Development 
  • Consulting  

Technologies

  • Ansible
  • Docker
  • Python
  • React
  • CI / CD

Results

A 5-fold increase in the speed of solving a single ticket

Handing over simple tasks to the Help Desk (e.g. connecting a printer on a free port, checking the status of ports on the device)

Network inventory from one place and facilitated management

Possibility of extending the tool with further functionalities, e.g. automatic drawing of network diagrams

The challenge – a small IT team and manual search of end devices

An aggregate producer with factories all over Poland had a problem with managing the company-wide network. The lack of proper visibility of free ports on devices or the need to configure them from the command line meant that even simple and repetitive tasks such as enabling/disabling a port were transferred to the IT department. In addition, after reporting a problem with a device, the engineer had to manually search the database of network devices for the problem, which turned out to be quite a challenge given the scale of the enterprise.

Solution – Ansible Automation and device configuration with a new tool

The answer to the growing dissatisfaction of the IT department and the need to scale network management was a tool (application) that will automate device configurations and allow people who are not network engineers to perform simple tasks.

Basic functionalities of the application:

  1. A simple and clear interface that will allow non-technical employees to use the application with ease.
  1. Possibility to upload configuration templates by the IT department.
  1. Configurations based on pre-loaded templates.
  1. Global configuration of devices in a given location based on uploaded templates.
  1. Device search based on a given MAC address.
  1. Signalling of ports that are down or not working.
  1. Ability to check the compliance of the configuration on individual devices with the pattern.

How did we approach the topic?

Needs analysis and tool concept 

After meeting with the client, we understood that inaction would not only cause difficulties in managing the network but would intensify the growing dissatisfaction of the already overburdened IT staff.

Therefore, the primary goal of the project was to design the system so that the IT department could upload the configuration once, and the HelpDesk department could run it on many devices. This approach eliminated the need to use the command line, and knowledge of configuration commands and ensured scaling.

At this stage, the concept of the application and its initial sketch (mock-up) were created. Below are some selected screens from the mock-up.

network automation tool - mockup by Grandmetric

Fig. 1 Configuration of a single switch – setting the port as the printer port

network automation tool - mockup by Grandmetric

Fig. 2 Global configuration 

network automation tool - mockup by Grandmetric

Fig. 3 Searching for a device by MAC address

Planning automation with the Advanced Services team

After getting the green light from the client and prioritizing, we moved on to detailed application planning. Here, the fact that designing and automating enterprise-class networks is something we deal with on a daily basis helped us a lot. Without hesitation, we included our network engineers in the design phase.

Having this in place, we were sure that the application’s operating mechanisms would be in line with good network practices, and that the development team would understand how the client would use the created tool.

At this stage we created: 

  • application flow, i.e. the scheme of application operation,
  • inventory of the customer’s network, i.e. collecting information about everyone; network devices and their configurations,
  • Ansible automation and configuration scripts (playbooks) for global configuration and configuration of individual devices in the client’s network,
  • target graphic design of the first views. 

Application development  

We wanted the client to be able to use the first network configuration functionalities as soon as possible, so we approached programming in an iterative way. We started with building the highest priority functionalities, and then we regularly met with the client to demonstrate the operation of subsequent application modules.

An integral part of our work was also testing the tool in the Grandmetric network laboratory and on our infrastructure.

At this stage, we created:

  • Application information architecture
  • List of selected technologies
  • Graphic designs of subsequent views
  • Testing scenarios
  • Application technical documentation

From the architectural point of view, the project consists of three layers:

  • graphic page, frontend that allows interaction with the user;
  • backend, which is responsible for the system operation logic, i.e. performing appropriate actions, database operations, data processing;
  • executor that makes changes or reads the state of network devices.

Below are screenshots of several sample screens from the created application.

VLAN configuration with Grandmetric networking tool with Ansible automation

Fig.4 VLAN Configuration

Ansible automation - network tool by Grandmetric

Fig.5 Switch port configuration with occupancy indication

Handing over the application

Work on the project does not end for us after submitting the application. At the start-up stage, we provide intensive support and help client-side users to use the created tool.

The application automating configurations will be further developed by our team, which will give the client access to further functionalities and regular system updates.

Building your own automation tools – good practices

1. Automate wisely

Automating the configuration of networks and IT infrastructure is often the first step to digital transformation in network departments. We often encounter the desire to automate everything at once. It’s a tempting but ineffective prospect.

It makes no sense to automate a single switch or router, but it makes sense to automate the management of dozens.

Choosing the right areas for automation requires a thorough analysis of the possibilities, costs and profitability of the investment.

2. Take care of domain knowledge 

In client network automation projects, we deal with stakeholders both on the client side (business and network engineers) and on our side (development teams and Advanced Services). It can be quite a challenge to reconcile good network design practices with good software development practices. However, reconciling different perspectives is necessary to develop a high-quality solution.

3. Choose the right tools 

Our primary automation tools were Ansible automation scripts (playbooks). Running them in virtual environments based on Docker containers allowed isolation between containers, ease of scaling and simplicity of deployment.

The latter was also influenced by the use of the CI/CD pipeline, thanks to which we automated the uploading of the latest software versions to our environment immediately after the developer approved changes in the repository.

4. Check, test, verify

The more complex the project, the more tests are needed to make sure everything works as it should. Regular meetings of the development team with Advanced Services engineers and customer representatives made it possible to verify the design assumptions and introduce the necessary improvements on an ongoing basis. In addition, automatic testing mechanisms allowed us to maintain high code quality, control naming conventions and efficient documentation creation.

Wondering if you can achieve similar results in your network?

    Get in touch

    You hereby agree that Grandmetric can call you to process the given request. You also agree to obtain marketing information such as our newsletter. More about how we collect and process personal data in Privacy Policy.

    Actions performed using the application are several times faster than configuring many devices manually, and additionally, allow you to avoid errors during manual configuration.

    Mateusz Buczkowski

    Software Development Lead, Grandmetric

    See also

    Grandmetric