01

Контекст и задача

Nexus и Artifactory решают задачу, но спроектированы для enterprise: дорогая лицензия, сложная инфраструктура, три уровня навигации. Для команды 5–10 человек — избыточно. S3-бакеты с ручными именованиями — другая крайность: нет поиска, версий и контроля доступа.

Задача — спроектировать инструмент, который закрывает середину: единое хранилище с поиском, версионированием и простым контролем доступа.

B2B-продукт для небольших DevOps-команд. Единственный дизайнер в стартапе exception:teapots — в проекте с мая 2026.

02

Бенчмаркинг

Sonatype Nexus — главный open-source ориентир в нише. Разобрал, где и почему он не подходит небольшой российской DevOps-команде.

Sonatype Nexus — дашборд

Дашборд

Open-source альтернатива Artifactory. Бесплатная версия серьёзно ограничена, Pro требует дорогой лицензии и сложной инфраструктуры — избыточно для небольшой команды.

Sonatype Nexus — список репозиториев

Список репозиториев

Основной рабочий экран — таблица со всеми репозиториями. Столбцы обрезаны, критичная информация скрыта. Разработчик видит хранилища, а не артефакты.

Sonatype Nexus — загрузка артефакта

Загрузка артефакта

Загрузка без контекста: выбери репозиторий, выбери формат. Нет связи со сборкой, веткой или CI-пайплайном.

Sonatype Nexus — настройки

Настройки

Три уровня навигации: сайдбар, аккордеон, контент. Найти конкретную настройку — отдельная задача.

Вывод

Nexus решает задачу хранения, но спроектирован для enterprise: три уровня навигации, лицензионные ограничения, нет контекста сборки. Для команды 5–10 человек это избыточно и дорого — как функционально, так и в поддержке. Нужен инструмент с фокусом на поиск и артефакты, а не на конфигурацию инфраструктуры.

03

Гипотезы

Гипотеза 1

Небольшим командам не нужно 80% функций Artifactory. Но они платят за них временем: настройка, поддержка и обновления занимают ресурсы, сопоставимые с разработкой.

Гипотеза 2

Главная боль — не хранение, а поиск. Инженеры теряют время в S3-бакетах с ручными правилами именования, которые никто не документирует.

Гипотеза 3

Контроль доступа — либо отсутствует, либо избыточно сложен. S3 с bucket policy — слишком грубо. Enterprise RBAC — слишком сложно. Нет ничего посередине.

Гипотеза 4

Онбординг нового инженера превращается в детективное расследование. Документации нет — каждый новый человек учится методом проб.

04

Метрики

1

место хранения вместо нескольких разрозненных

≤ 30 с

время поиска нужного артефакта по версии или тегу

≤ 3

шага до загрузки артефакта или выдачи доступа

15 с

время чтения статуса всей инфраструктуры с дашборда

Ориентиры заданы на этапе проектирования — замеры после пилота.

05

Интервью и выводы

Основной метод — прямая работа с командой. Шесть разработчиков exteps — целевые пользователи: работают с артефактами ежедневно и формулируют, что болит. Дополнительно — публичные обсуждения в DevOps-сообществах: Reddit r/devops, Hacker News, GitHub Issues популярных альтернатив.

Анализ публичных обсуждений подтвердил: те же боли с поиском и версионированием встречаются в командах разного размера — не только в exteps.

  1. Где сейчас лежат ваши артефакты? Сколько разных мест используете одновременно?
    Вспомни последний раз, когда не мог найти нужный артефакт. Как долго искал?
  2. Как новый человек в команде узнаёт, где что лежит и как называется?
  3. Если надо дать доступ новому участнику к конкретному репозиторию — как делаешь это сейчас?
  4. Какой инструмент для артефактов раздражал сильнее всего? Что делал в обход него?
  5. Как вы сейчас версионируете артефакты? Есть единая конвенция или каждый делает по-своему?
Гипотеза Статус
Небольшим командам не нужно 80% функций Artifactory Подтверждена
Главная боль — не хранение, а поиск Подтверждена
Контроль доступа — либо отсутствует, либо избыточно сложен Подтверждена
Минимализм на дашборде снизит когнитивную нагрузку Не подтверждена
Единый экран поиска закроет потребность в Browse Не подтверждена
06

Интерфейс и навигация

Дашборд

Сводка состояния системы: блокировки файрвола, количество артефактов, попадания в кэш и промахи индекса. Ниже — статусы репозиториев, последние события, уязвимости, занятое хранилище и состояние компонентов.

Дашборд ArtiKeeper: показатели, репозитории, события, уязвимости, хранилище и компоненты

Каталог репозиториев

Поиск по репозиториям с условиями в одной строке: на экране заданы формат Maven, период создания и строка spring-boot. В результатах рядом собраны тип репозитория, статус, число артефактов, объём и время последнего события.

Каталог репозиториев ArtiKeeper с фильтрами и результатами поиска

Содержимое репозитория

Дерево показывает путь к выбранному файлу, а боковая панель — версию, формат и размер. Здесь же доступны команда загрузки, SHA-256, полный путь, связанные компоненты и скачивание.

Открытый каталог: дерево пути и подробности выбранного артефакта

Список артефактов

Отдельный от каталога экран показывает сами пакеты: имя, тег или версию, репозиторий и дату создания. Строка фильтров и число найденных результатов помогают сузить выбор; для выбранной позиции открываются те же подробности и действия.

Список артефактов с фильтрами, версиями и репозиториями

Файрвол

Правила можно искать, фильтровать по действию и настраивать вид таблицы. В списке видны решение, область и статус, а панель справа раскрывает условия правила, приоритет, охват, историю и действия редактирования.

Файрвол ArtiKeeper: список правил и панель параметров выбранного правила

Создание репозитория

Перед настройкой репозитория пользователь выбирает формат из поддерживаемых экосистем: Maven, npm, PyPI, NuGet, Docker, Raw, Helm, APT, RPM, Go Modules, Composer или Conda. Карточки показывают назначение формата и количество связанных правил.

Выбор формата при создании репозитория ArtiKeeper

Конфигурация

Общие параметры сгруппированы по областям: хранилище, прокси и безопасность. Поиск помогает найти настройку; для каждой показаны описание и текущее значение, а переключатели позволяют менять параметры вроде сжатия и очистки кэша при запуске.

Конфигурация ArtiKeeper: параметры хранилища, прокси и безопасности
07

UX-тестирование

Тестировал с командой разработчиков exception:teapots по ключевым сценариям: загрузка первого артефакта, поиск по версии, настройка доступа для нового участника.

Структура репозиториев была неочевидна

Добавил шаг при первом входе — шаблоны структуры подсказывают, как организовать репозиторий.

Поиск по метаданным не обнаруживался

Вынес подсказки прямо в поле поиска — фильтры выбираются из выпадающего списка, а не угадываются.

08

Кейс в работе

Кейс в работе прямо сейчас. MVP — Dashboard, Browse, Search — передан в разработку, команда проектирует API по макетам. Параллельно оформляю кейс для портфолио.