Making architectural decision on a simple DCIM ETL application
Hello, blog! This week at work, I've been working on PHP-IPAM [1] to NetBox [2] migration. These are Data Center Information Management (DCIM) systems that helps us keep a track of assets at our various sites. We use an Excel spreadsheet (per site) with the deployment information such as cage locations, racks, rack units to place the devices in, networking connections, and other configuration information. This information is then passed on to the on-site personnel to make it easy for them to setup the site. Our team members would manually enter the data from the spreadsheet into the IPAM software. I was confident that we could replace this manual process with some Python automation code to read the spreadsheet and then update NetBox automatically. Step 1 - Scoping the project There's a Charles Kettering quote: A problem well-stated is a problem half-solved. What we needed our code to do could be cleanly split into 3 parts: (Extract) Parse information from the deployment spread...