Использование внешней конфигурации

DevOps процессы external-configuration
Описание

Использование внешней конфигурации — практика, в рамках которой конфигурация отделяется от основного артефакта и переходит в состав окружения, является помогающей практикой для практики “Единый артефакт для тестового и промышленного окружения”. В рамках реализации данной практики становится возможным переопределять любые параметры приложения, включая параметры из используемого фреймворка без необходимости пересборки артефакта. Реализация данной практики возможна разными вариантами. Перечислим самые популярные: - Шаблонизированная конфигурация сервиса является частью пайплайна доставки сервиса на стенд. Самый простой вариант реализации, но необходимо обращать особое внимание на версионирование файла конфигурации. - Использование внешнего хранилища конфигурации по типу HashiCorp Consul, Zookeeper или любое другое kv-хранилище. Для каждого окружения требуется свой развернутый кластер. Для синхронизации конфигурации требуется отдельный пайплайн. - Использование Spring Cloud Config Server или аналогичного с хранением конфигурации в системе контроля версий. Для каждого окружения требуется свой отдельный инстанс. - Использование feature-флагов. Возможны как статические флаги, которые хранятся в конфигурации сервиса, так и динамические флаги, которые хранятся в системах типа FF4J, FlagSmith, Go Feature Flag и прочих.

Ценность
Преимущества:
  • Конфигурация является артефактом окружения, а не сервиса.
  • Собранный артефакт системы не содержит конфигурацию.
  • При использовании Spring Cloud Config Server конфигурация получает возможность наследования и переопределения параметров.
  • Нет необходимости в использовании большого количества переменных среды окружения.
Последствия отсутствия:
  • Использование большого количества переменных среды окружения.
  • Шаблонизированный параметр конфигурации лежит в собранном артефакте.
  • Если параметр не переопределен на переменную среды окружения, то для его изменения необходимо пересобрать артефакт.
  • Необходимость версионирования шаблона деплоя сервиса (helm-chart, docker-compose, и дргуие).
Критерии оценки 3
SURVEY

Используется инструмент для хранения и управления конфигурацией в системе контроля версий (напрмиер, Spring Cloud Config Server)

Варианты по умолчанию: Да / Нет / Частично
SURVEY

Используется внешнее хранилище конфигурации (например, HashiCorp Consul или Zookeeper) для управления конфигурациями в разных окружениях

Варианты по умолчанию: Да / Нет / Частично
SURVEY

Для управления функциональностью приложений применяются feature-флаги

Варианты по умолчанию: Да / Нет / Частично
Ресурсы 1
  • Источник
Метаданные
ID:
477b8aa0-be90-45b3-a706-e62c2fb8da28
Slug:
external-configuration
Версия:
2.0
Проекты:
ФармаИмпекс Client1/Project1
Критерии:
3 survey
Создано:
2026-04-30
Обновлено:
2026-04-30