Table of Contents
Fetching ...

Misconfiguration prevention and error cause detection for distributed-cloud applications

Tamara Ranković, Filip Šiljić, Jovan Tomić, Goran Sladić, Miloš Simić

TL;DR

The two mechanisms proposed are configuration validation using schemas and configuration version control with support for detecting differences between configuration versions, to enhance configuration management processes in environments based on the distributed cloud model.

Abstract

Major software failures are reported to be due to misconfiguration. As manual configuration is too error-prone to be deemed a reliable strategy for dynamic and complex systems, automated configuration management has become a standard. Countermeasures against misconfiguration can be focused on prevention or, if failure already occurred, detection. Configuration is often used as a broad term for any set of parameters or system states that dictate how an application will behave, but in this paper, we only focus on parameters consumed on process startup, usually from configuration files. Our objective is to enhance configuration management processes in environments based on the distributed cloud model, a novel cloud model that allows dynamic allocation of strategically located resources. The two mechanisms we propose are configuration validation using schemas and configuration version control with support for detecting differences between configuration versions. Our solution reduces the risk of incorrect configuration as schemas prevent any non-compliant configuration from reaching applications. However, if failure still occurs because the schema was incomplete or a valid configuration revealed existing software bugs, the version control system can precisely locate configuration changes that triggered the failure.

Misconfiguration prevention and error cause detection for distributed-cloud applications

TL;DR

The two mechanisms proposed are configuration validation using schemas and configuration version control with support for detecting differences between configuration versions, to enhance configuration management processes in environments based on the distributed cloud model.

Abstract

Major software failures are reported to be due to misconfiguration. As manual configuration is too error-prone to be deemed a reliable strategy for dynamic and complex systems, automated configuration management has become a standard. Countermeasures against misconfiguration can be focused on prevention or, if failure already occurred, detection. Configuration is often used as a broad term for any set of parameters or system states that dictate how an application will behave, but in this paper, we only focus on parameters consumed on process startup, usually from configuration files. Our objective is to enhance configuration management processes in environments based on the distributed cloud model, a novel cloud model that allows dynamic allocation of strategically located resources. The two mechanisms we propose are configuration validation using schemas and configuration version control with support for detecting differences between configuration versions. Our solution reduces the risk of incorrect configuration as schemas prevent any non-compliant configuration from reaching applications. However, if failure still occurs because the schema was incomplete or a valid configuration revealed existing software bugs, the version control system can precisely locate configuration changes that triggered the failure.

Paper Structure

This paper contains 10 sections, 1 figure, 2 algorithms.

Figures (1)

  • Figure 1: c12s control plane