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.

Данные сохраняются в Amazon S3, откуда попадают в интерактивные дашборды Amazon Quick Sight. Токены Git хранятся в AWS Secrets Manager. Первый запуск выполняет полную загрузку всех метаданных репозиториев, последующие — только изменения. Полное обновление автоматически запускается каждые 24 часа для поддержания точности. Расписание задаётся параметром AWS CloudFormation, который принимает выражения rate() и cron(), поэтому частоту сбора можно настроить под конкретные задачи.
Решение соответствует принципу наблюдаемости из фреймворка AWS ИИ-Driven Development Lifecycle (ИИ-DLC). Смысл простой: если вы используете инструменты ИИ-кодинга, нужны цифры для подтверждения эффекта. Сначала фиксируется базовый уровень скорости, затем отслеживаются изменения при внедрении, а со временем количественно оценивается улучшение. Без этого нельзя понять, ускоряет ли ИИ работу, просто ли раздувает число коммитов или незаметно вносит проблемы с качеством.
Для команд, которые уже собирают метрики вручную, такое решение снижает затраты на инфраструктуру и поддержку. Бессерверный дизайн абстрагирует управление серверами и остаётся недорогим при масштабировании. Метрики можно использовать для отслеживания скорости спринта, оценки готовности к релизу или анализа паттернов работы команды. Всё это работает в режиме, близком к реальному времени, с задержкой, определяемой расписанием сбора.



