Drupal 8's configuration system handles configuration in a unified manner, with settings stored in .yml files, allowing them to be managed by version control. There are cases however when configuration values need to be overridden for specific purposes. Drupal 7 had the
global $conf variable that was usually populated in
settings.php with conditional override values for configuration. A big drawback of that system was that the overrides crept into actual configuration. When a configuration form that contained overridden values was saved, the conditional override got into the actual configuration storage.
Drupal 8 introduces a configuration override system that maintains these overrides as temporary layers on top of the standard configuration values, does not use them for configuration forms and can even store them possibly with the other configuration files for staging and version control support (in case of language overrides for example, see below).
global $conf system is retained and is activated on the configuration system by default.