AWS опубликовала описание бессерверного решения, которое автоматически собирает метрики из GitHub и GitLab и отображает их в Amazon Quick Sight. Пайплайн работает по расписанию, определяет изменения через API и не требует ручного ETL. Это ответ на практическую задачу: команды внедряют инструменты ИИ-разработки, но не всегда могут измерить, ускоряют ли они работу или просто увеличивают число коммитов.

Архитектура построена на шести сервисах AWS. Amazon EventBridge Scheduler запускает workflow с заданным интервалом. AWS Step Functions управляет всем процессом: сначала вызывает детектор изменений, затем выбирает между полной и инкрементальной загрузкой. Детектор github-change-detector отслеживает шесть категорий событий: push, pull requests, создание и обновление issues, создание и удаление репозиториев, а также изменения контрибьюторов. Если с прошлой проверки ничего не произошло, workflow завершается досрочно.

Сервис AWSРоль в решении
Amazon EventBridge SchedulerЗапускает workflow по расписанию
AWS Step FunctionsОркестрирует сбор, выбирает полную или инкрементальную загрузку
AWS LambdaДетектор изменений и сборщик метрик
Amazon S3Хранит собранные метрики
Amazon Quick SightСтроит интерактивные дашборды
AWS Secrets ManagerХранит токены Git

Сборщик github-metrics-collector работает в трёх режимах: collect_all для прямой обработки, collect_chunk для подмножества репозиториев при параллельном выполнении и aggregate для объединения результатов. При числе активных репозиториев больше 20 (порог по умолчанию) Step Functions Map делит нагрузку на равные чанки и обрабатывает их параллельно через отдельные вызовы Lambda. Если репозиториев меньше, все собирается одним вызовом. В workflow заложены повторные попытки с экспоненциальной задержкой для временных сбоев API.

Architecture of the serverless Git metrics pipeline from EventBridge and Step Functions to S3 and Amazon Quick Sight
Architecture of the serverless Git metrics pipeline from EventBridge and Step Functions to S3 and Amazon Quick Sight · Источник: AWS Machine Learning Blog

Данные сохраняются в Amazon S3, откуда попадают в интерактивные дашборды Amazon Quick Sight. Токены Git хранятся в AWS Secrets Manager. Первый запуск выполняет полную загрузку всех метаданных репозиториев, последующие — только изменения. Полное обновление автоматически запускается каждые 24 часа для поддержания точности. Расписание задаётся параметром AWS CloudFormation, который принимает выражения rate() и cron(), поэтому частоту сбора можно настроить под конкретные задачи.

Решение соответствует принципу наблюдаемости из фреймворка AWS ИИ-Driven Development Lifecycle (ИИ-DLC). Смысл простой: если вы используете инструменты ИИ-кодинга, нужны цифры для подтверждения эффекта. Сначала фиксируется базовый уровень скорости, затем отслеживаются изменения при внедрении, а со временем количественно оценивается улучшение. Без этого нельзя понять, ускоряет ли ИИ работу, просто ли раздувает число коммитов или незаметно вносит проблемы с качеством.

Для команд, которые уже собирают метрики вручную, такое решение снижает затраты на инфраструктуру и поддержку. Бессерверный дизайн абстрагирует управление серверами и остаётся недорогим при масштабировании. Метрики можно использовать для отслеживания скорости спринта, оценки готовности к релизу или анализа паттернов работы команды. Всё это работает в режиме, близком к реальному времени, с задержкой, определяемой расписанием сбора.