Analysis of Practices for Large Scale Configuration Validation - A Case Study
Date
2022
Authors
Journal Title
Journal ISSN
Volume Title
Publisher
Tartu Ülikool
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.
Description
Keywords
Configuration validation, fault detection, misconfiguration, continuous integration