AACT (Architecture As Code Tools)
AACT (Architecture As Code Tools) — набор инструментов и практик для работы с архитектурой,
представленной в формате «as Code». Основная фишка — это автоматическое тестирование
архитектурной схемы реальному положению вещей на проде (или любом другом окружении),
а также покрытие тестами проверки соответствия архитектуры принятым принципам и паттернам.
Основные цели проекта:
• устранить неактуальность архитектурных схем, которые быстро устаревают относительно
кода и конфигураций IaC;
• повысить декларативность архитектур — не просто зафиксировать «что», но и кодом тестов
формализовать «почему»;
• ввести контроль над соблюдением архитектурных принципов (паттернов, договорённостей)
непосредственно в процессе разработки;
• обеспечить обратную связь об архитектурных проблемах уже на этапе PR (сборки ветки в CI/CD),
чтобы архитектурные нарушения ловились до слияния веток.
Возможности проекта и примеры использования:
• микросервисные архитектуры (REST, gRPC, kafka, Rabbit, ...);
• модульные монолиты.
Ваша архитектура может быть описана при помощи:
• PlantUML,
• Structurizr.
Информация об архитектурных зависимостях может браться из:
• IaC (yaml-файлы для kubernetes),
• исходный код.
AACT делает архитектуру живой, актуальной и контролируемой, устраняя разрыв между
диаграммами и кодом.