Architecture for Network Configuration Automation Using Infrastructure as Code (IaC)
Infrastructure As Code; Network automation; Software Defined Networks; Network Infrastructure
The demand for communication infrastructure has increased drastically in recent years, driving the adoption of new technologies with a focus on automation, reconfiguration, error detection, and high availability. This shift is leveraged through increasingly programmable networks, particularly with the use of technologies like Software-Defined Networking (SDN) and methodologies such as Infrastructure as Code (IaC), allowing networks to be managed as software and opening up a range of possibilities for controlling network traffic flows. These processes require network assets to support protocols that enable this programmability, such as OpenFlow, and the transmission of telemetry information through structured data formats like YAML. However, these new methodologies are not easily applied to a legacy equipments, which often lacks adequate support for these new protocols. In this context, this work aims to develop an architecture that allows both legacy and modern network equipment to be managed through an IaC methodology, enabling the automation of routine tasks, fault detection, early identification of potential network issues, and configuration checks in a production corporate environment. The focus of this work is on network access equipment, as they are more numerous and geographically dispersed, allowing for standardized configuration of assets and better control over access to connectivity resources. The architecture consists of eight modular and independent components, enabling individual modification and inclusion according to the needs of the network equipment. As partial results, the configuration of a family of network equipment was consolidated and standardized based on a model, avoiding human configuration errors and allowing for periodic validations in the configuration of these assets, with the architecture ready for the development of automation methodologies.