Thoughts on Configuration Management

15 Sep 2016

Configuration management is the aspect of software engineering concerned with developing and maintaining complex systems. Thus far, I don’t have much knowledge pertaining to the aforementioned subject. I’ve only had a brief experience in the past where I was required to maintain the database of IT tickets for the company I worked for. It was relatively simple and multiple users were able to update, close and create new documents throughout the course of a business day. However, I do realize how imperative it is to provide maintenance for the service we provided. For example, one bug or the inability keep our system up-to-date with current standards could have rendered the company useless during a crucial moment.

At present, I’ve only had one instance where poor configuration management practices have created a noticeable problem. For example, several years ago, in an AP computer science class, I was required to construct a project with fellow classmates online. Being that everyone was able to edit and create new lines of information at once, we encountered problems frequently and it usually took hours to resolve. Had we known about GitHub during this time, we could analyze which code was altered and when. Thus, eliminating trivial problems.

Based upon my current knowledge, I believe git is popular because of GitHub. Git was created during the year 2005 with a user database of a few hundred people. GitHub was created three years later, in 2008, and the amount of users spiked drastically. This site effectively put a GUI between the code and the user. Thus, individuals were no longer required to know commands, such as push or pull, to modify files from their repositories and made using git exponentially easier.