Analysis of Practices for Large Scale Configuration Validation - A Case Study

Name
Kaarel Loide
Abstract
The move towards containerisation and microservices architecture by software companies has dramatically increased the complexity of configuring modern software systems. The increase in complexity also brings a rise in misconfigurations that contribute heavily to system failures. The DevOps movement amplifies this problem by insisting that developers should own the whole software development lifecycle. Developers now have to configure complex systems while usually not understanding the impact of their decisions. A way to reduce misconfigurations is to use automatic configuration validation software. This software can be easily misused and hard to keep up to date, causing frustration for the end-users and maintainers. This thesis looks into what principles should organisations follow when using automatic configuration validation on a large scale. A real case of a software company with about 400 developers is analysed. The author brings out the problems identified from the analysis and offers solutions for each. Based on the offered solutions, they lead an effort to improve the existing tooling and processes around automatic configuration validation. After the project’s conclusion, the analysis of the results shows that the efforts successfully reduced the maintenance effort and complaints made about the configuration validation tooling and processes. As a final contribution, the author proposes eight best practices that other organisations could follow to improve their usage of automatic configuration validation.
Graduation Thesis language
English
Graduation Thesis type
Master - Software Engineering
Supervisor(s)
Pelle Jakovits, Jevgeni Demidov
Defence year
2022
 
PDF