Управление конфигурацией. #СМС23

Практики управления конфигурацией мне, как ITшнику оказались знакомы, именно конфигурация кода, серверов и других конфигурационных единиц существует и управляется во всем проектах компании.

Однако, в рамках систем создания практики управления альфами не формализованы. Например, управление требованиями как то ведется, но практика трассировки потребностей и требований и сведение по базисам отдельно не выделена и не управляется.

Возникают ли из за этого конфигурационные коллизии? Да возникают. Это в первую очередь выражается в том, что не все работы учитываются и контролируются, а значит, неизбежны управленческие проблемы. Например, клиент ожидает одного, и то что он ожидает, даже не запланировано, хотя в каком то виде, это описано в какой то документации. Те получается что данные между различными документами не интегрированы, и это то, где случаются конфигурационные коллизии.

Отдельного Configuration management office у меня в компании нет. Все эти функции распределены между проектными командами и не управляются централизовано. Поэтому, про эффективность процессов/практик конфигурации изменениям никто не знает, так как это не отслеживается.

В рамках целевых систем, система управления версиями и infrastructure as a code, в целом позволяет хранить конфигурацию в актуальном состоянии. Я помню, несколько инцидентов, когда метаданные (например API endpoint или конфигурация бекенда система) не было включаема в релиз, и эти данные примели к проблемам в продакшн.

Кроме этого, я думаю, что если взять практики DevOps, которые я описывал в предыдущих постах, то Version Control practice, Trunk Based Development, и Data Change Management practice, можно рассматривать как подпрактики управления конфигурацией непосредственно.

Если рассмотреть практику управления релизами, (тут я имею в виду релиз кода на какую то среду, а не релиз документации), она сводиться к описанию и настройки CI/CD процесса и процедур написания автотестов, baselining релиза (те какие именно фичи в спринте попадут в релиз), release notes и прочее. Те в целом, несмотря на то, что отдельно это подпрактика не выделена, она существует и работает.