На этапе зарождения нового проекта будет хорошо, если в какой-либо базе знаний сохранится описание примерной архитектуры, и куда мы с ней должны прийти.
Но практика показывает, что на это обычно не хватает времени.
В данной статье представлена попытка описания минимального архитектурного репозитория (Architecture as Code). Или как жить без выделенного архитектора в команде.
Структура может быть сложнее и ветвистее, в зависимости от стадии развития команды.
Важные артефакты архитектуры на старте
Схемы взаимодействия сервисов (на уровне C4 контейнеров)
Физическая карта сети
Описание сложных бизнес-процессов
Верхнеуровневое описание сервисов
Тулинг
В данном репозитории можно отлично сохранять минимальные инструменты и скрипты, которые помогают визуализировать архитектуру.
Writerside/
cmd/
tool1/
tool2/
Makefile
go.mod
Примеры тулинга
Главная цель тулинга — автоматическое поддержание актуальности документации. Чем больше данных генерируется автоматически из кода или систем мониторинга, тем ценнее репозиторий.
автоматическое построение карты сети из данных хостеров
автоматическое построение сервисов из метрик метаданных appkit
автоматическое построение межсервисного взаимодействия через HTTP на основе appkit