Configuration Management

26 Jan 2017

Reflections on Configuration Management

«««< HEAD «««< HEAD Configuration management is crucial for any software engineer. It allows teams to build large, complex softweare systems and tracks changes thus making it very useful for version control as well as testing. Configuraiton management addresses three issues that developers face: collaboration, preservation of integrity, and accesibility. Git is currently the most popular technology for configuration management and used in combination with GitHub it has revolutionized software development.

One of the largest advantages to using Git is version control. Being able to control versions allows developers to track changes in the code, and allows one to backtrack if necessary. This feature alone make Git invaluable when working on larger projects. There are also advantages to storing all versions on a centralised server. The benefits of a system like this is that multiple developers can make changes, and each change can then be attributed to a specific developer. On the downside, the fact that everything is stored on a remote database means no changes can be made when that server goes down; and if the central database is lost, each client only has the current version of whatever they were working on. ======= Configuration management is crucial for any software engineer. It allows teams to build large, complex softweare systems and tracks changes thus making it very useful for version control as well as testing. Platforms such as Github has allowed open source software to really take off in recent history.

origin/master

Configuration management is crucial for any software engineer. It allows teams to build large, complex softweare systems and tracks changes thus making it very useful for version control as well as testing. Configuraiton management addresses three issues that developers face: collaboration, preservation of integrity,and accesibility. Git is currently the most popular technology for configuration management and used in combination with GitHub it has revolutionized software development. origin/master

One of the largest advantages to using Git is version control. Being able to control versions allows developers to track changes in the code, and allows one to backtrack if necessary. On larger projects, this feature alone is invaluable. There are also advantages to storing all versions on a centralised server. The advantages of such a system is that multiple developers can make changes, and each change can then be tracked to a specific developer. This way it is clear who has done what and the appropriate parties can take responsibility. On the downside, the fact that everything is stored on a remote database means no changes can be made when that server goes down; and if the central database is lost, each client only has the current version of whatever they were working on.

During an internship, I worked in a team of four to develop a website. Our team was inexperienced in this realm, and our mentors allowed us a lot of space to figure it out. This was positive as we gained quite a bit of knowledge working out problems on our own. The downside was that we fell into common pitfalls that could have been easily avoided. Improper configuration management was one of the larger ones. You could probably imagine what happens when four young developers attempt to work on the same file at once. Nevertheless, we completed the project and learned a valuable lesson in the importance of configuration management.