Nexus и Artifactory решают задачу, но спроектированы для enterprise: дорогая лицензия, сложная инфраструктура, три уровня навигации. Для команды 5–10 человек — избыточно. S3-бакеты с ручными именованиями — другая крайность: нет поиска, версий и контроля доступа.
Задача — спроектировать инструмент, который закрывает середину: единое хранилище с поиском, версионированием и простым контролем доступа.
B2B-продукт для небольших DevOps-команд. Единственный дизайнер в стартапе exception:teapots — в проекте с мая 2026.
Sonatype Nexus — главный open-source ориентир в нише. Разобрал, где и почему он не подходит небольшой российской DevOps-команде.
Дашборд
Open-source альтернатива Artifactory. Бесплатная версия серьёзно ограничена, Pro требует дорогой лицензии и сложной инфраструктуры — избыточно для небольшой команды.
Список репозиториев
Основной рабочий экран — таблица со всеми репозиториями. Столбцы обрезаны, критичная информация скрыта. Разработчик видит хранилища, а не артефакты.
Загрузка артефакта
Загрузка без контекста: выбери репозиторий, выбери формат. Нет связи со сборкой, веткой или CI-пайплайном.
Настройки
Три уровня навигации: сайдбар, аккордеон, контент. Найти конкретную настройку — отдельная задача.
Вывод
Nexus решает задачу хранения, но спроектирован для enterprise: три уровня навигации, лицензионные ограничения, нет контекста сборки. Для команды 5–10 человек это избыточно и дорого — как функционально, так и в поддержке. Нужен инструмент с фокусом на поиск и артефакты, а не на конфигурацию инфраструктуры.
Гипотеза 1
Небольшим командам не нужно 80% функций Artifactory. Но они платят за них временем: настройка, поддержка и обновления занимают ресурсы, сопоставимые с разработкой.
Гипотеза 2
Главная боль — не хранение, а поиск. Инженеры теряют время в S3-бакетах с ручными правилами именования, которые никто не документирует.
Гипотеза 3
Контроль доступа — либо отсутствует, либо избыточно сложен. S3 с bucket policy — слишком грубо. Enterprise RBAC — слишком сложно. Нет ничего посередине.
Гипотеза 4
Онбординг нового инженера превращается в детективное расследование. Документации нет — каждый новый человек учится методом проб.
1
место хранения вместо нескольких разрозненных
≤ 30 с
время поиска нужного артефакта по версии или тегу
≤ 3
шага до загрузки артефакта или выдачи доступа
15 с
время чтения статуса всей инфраструктуры с дашборда
Ориентиры заданы на этапе проектирования — замеры после пилота.
Основной метод — прямая работа с командой. Шесть разработчиков exteps — целевые пользователи: работают с артефактами ежедневно и формулируют, что болит. Дополнительно — публичные обсуждения в DevOps-сообществах: Reddit r/devops, Hacker News, GitHub Issues популярных альтернатив.
Анализ публичных обсуждений подтвердил: те же боли с поиском и версионированием встречаются в командах разного размера — не только в exteps.
Дашборд
Онбординг — детективное расследование. Дашборд отвечает на вопрос «что здесь есть и в каком состоянии» за 15 секунд: репозитории, артефакты, уязвимости, хранилище — всё на одном экране без переключения.
Каталог репозиториев
Команде не нужно 80% функций Nexus. Таблица артефактов с фильтрами по формату, типу и статусу вместо трёхуровневой навигации по хранилищам — фокус на то, что нужно ежедневно.
Поиск
Главная боль — не хранение, а поиск. Поиск по имени, версии, тегу и типу вместо ручного перебора S3-бакетов. Нужный артефакт — за ≤ 30 секунд.
Артефакт
Версионирование либо отсутствует, либо держится на ручных конвенциях. Карточка собирает метаданные, историю версий и команды загрузки в одном месте — без отдельного Wiki или Confluence.
Настройки
В Nexus — три уровня навигации до нужного параметра. Здесь: поиск и плоский список из 5 категорий. Хранилище, прокси, безопасность, доступ — любую настройку находишь за один запрос.
Тестировал с командой разработчиков exception:teapots по ключевым сценариям: загрузка первого артефакта, поиск по версии, настройка доступа для нового участника.
Структура репозиториев была неочевидна
Добавил шаг при первом входе — шаблоны структуры подсказывают, как организовать репозиторий.
Поиск по метаданным не обнаруживался
Вынес подсказки прямо в поле поиска — фильтры выбираются из выпадающего списка, а не угадываются.
Кейс в работе прямо сейчас. MVP — Dashboard, Browse, Search — передан в разработку, команда проектирует API по макетам. Параллельно оформляю кейс для портфолио.