Open-Source-трибуна на HighLoad++

AACT (Architecture As Code Tools)

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 делает архитектуру живой, актуальной и контролируемой, устраняя разрыв между диаграммами и кодом.
Ссылка на проект