Сергей Баранов
участник дискуссии
участник дискуссии
Первый выпуск по Building Evolutionary Architectures разбирает механику подхода. Архитектура не проектируется раз и навсегда: технологии, экономика и бизнес-модель меняют допустимые решения. Авторы определяют evolutionary architecture как управляемые инкрементальные изменения в нескольких измерениях.
Контроль обеспечивают fitness functions — проверки того, насколько текущий design соответствует целям и architectural characteristics. Термин пришёл из evolutionary computing, но в архитектуре это могут быть unit и integration tests, monitoring alerts, static analyzers, security checks и ручные процедуры.
Dimensions шире характеристик: в них входят technology choices, data, security и operational practices. Проверки запускаются постоянно, по trigger или вручную. Важен не конкретный framework, а объективная обратная связь; fitness functions делают trade-offs видимыми, но не принимают решение за команду.
Инкрементальность обсуждают на примере замены сервиса: новая версия получает часть traffic, потребители переходят на новый contract, а старый путь удаляется после миграции. Реальная сложность — в совместимости и долгом хвосте клиентов. Delivery pipeline даёт стадии для atomic и общих проверок, feature flags и безопасного rollback.