Использование внешней конфигурации
Описание
Использование внешней конфигурации — практика, в рамках которой конфигурация отделяется от основного артефакта и переходит в состав окружения, является помогающей практикой для практики “Единый артефакт для тестового и промышленного окружения”. В рамках реализации данной практики становится возможным переопределять любые параметры приложения, включая параметры из используемого фреймворка без необходимости пересборки артефакта. Реализация данной практики возможна разными вариантами. Перечислим самые популярные: - Шаблонизированная конфигурация сервиса является частью пайплайна доставки сервиса на стенд. Самый простой вариант реализации, но необходимо обращать особое внимание на версионирование файла конфигурации. - Использование внешнего хранилища конфигурации по типу HashiCorp Consul, Zookeeper или любое другое kv-хранилище. Для каждого окружения требуется свой развернутый кластер. Для синхронизации конфигурации требуется отдельный пайплайн. - Использование Spring Cloud Config Server или аналогичного с хранением конфигурации в системе контроля версий. Для каждого окружения требуется свой отдельный инстанс. - Использование feature-флагов. Возможны как статические флаги, которые хранятся в конфигурации сервиса, так и динамические флаги, которые хранятся в системах типа FF4J, FlagSmith, Go Feature Flag и прочих.
Ценность
Преимущества:
- Конфигурация является артефактом окружения, а не сервиса.
- Собранный артефакт системы не содержит конфигурацию.
- При использовании Spring Cloud Config Server конфигурация получает возможность наследования и переопределения параметров.
- Нет необходимости в использовании большого количества переменных среды окружения.
Последствия отсутствия:
- Использование большого количества переменных среды окружения.
- Шаблонизированный параметр конфигурации лежит в собранном артефакте.
- Если параметр не переопределен на переменную среды окружения, то для его изменения необходимо пересобрать артефакт.
- Необходимость версионирования шаблона деплоя сервиса (helm-chart, docker-compose, и дргуие).
Критерии оценки 3
Используется инструмент для хранения и управления конфигурацией в системе контроля версий (напрмиер, Spring Cloud Config Server)
Используется внешнее хранилище конфигурации (например, HashiCorp Consul или Zookeeper) для управления конфигурациями в разных окружениях
Для управления функциональностью приложений применяются feature-флаги
Ресурсы 1
-
Источник
Метаданные
- ID:
- 477b8aa0-be90-45b3-a706-e62c2fb8da28
- Slug:
external-configuration- Версия:
- 2.0
- Проекты:
- ФармаИмпекс Client1/Project1
- Критерии:
- 3 survey
- Создано:
- 2026-04-30
- Обновлено:
- 2026-04-30