Разработка
конфигуратора для подбора
серверного оборудования
Состав работ
Проблема
Компания Servermall занимается продажей серверов в сегменте B2B. Существуют готовые конфигурации оборудования, но большинство заказчиков предпочитают кастомизировать сервер под свои задачи. Вариантов кастомизации много, и клиент хочет сразу понимать, как повлияет на цену изменение того или иного компонента: модели процессора, объёма памяти и так далее.
При этом большинство компонентов подходит не ко всем моделям серверов, поэтому пользователь должен иметь возможность комбинировать компоненты только таким образом, чтобы их можно было физически собрать в работающий сервер.
Задача
Разработать удобный конфигуратор серверного оборудования, который позволит пользователю самостоятельно «собрать» нужный сервер прямо на сайте, увидеть его итоговую стоимость и заказать.
Решение
Разработали основной функционал конфигуратора
Конфигуратор позволяет пользователю заменить компоненты в выбранной модели сервера, посмотреть как изменится цена и оформить заказ на получившуюся конфигурацию.
Сервер состоит из двух основных частей:
- база (корпус с основным набором оборудования)
- компоненты (CPU, HDD, PCI, RAID, RAM и т.д.)

Одни и те же компоненты могут быть установлены в разные базы. Поэтому при изменении цены определенных компонентов, меняется общая стоимость серверов, в которых они установлены.
Из стоимости сконфигурированного сервера автоматически рассчитывается ежемесячный платеж для лизинга и аренды в центре обработки данных.
Учли важные нюансы в работе конфигуратора
- Один и тот же компонент может подходить к нескольким серверам.
- У одной базы может быть разный набор компонентов, включенных по умолчанию, и тогда это уже разные модели серверов.
- В админ-панели указываются все возможные разновидности каждого компонента (например, модели процессора), подходящие для конкретного сервера, а потом выбирается та разновидность, которая будет установлена в этот сервер по умолчанию.
- Сортировка разновидностей компонентов гибко настраивается. При этом первым пунктом всегда идет разновидность, включенная в конфигурацию.
Предусмотрели правила, не позволяющие собрать неработающее сочетание компонентов
- Количество процессоров может быть только 1, 2, 4 или 8. Для каждого из них — свой набор вариантов RAM.
- Если количество процессоров чётное, то и количество планок памяти может быть только чётным.
- Есть ограничения на максимальное количество RAM, HDD и PCI, а также на максимальный объём RAM. Они зависят от базы и заранее задаются для каждой конфигурации администратором интернет-магазина.
Сделали конфигуратор легко управляемым
Для настройки конфигуратора под текущий ассортимент и задачи, мы реализовали возможность управления конфигурациями в админ-панели.
Для каждого компонента (CPU, HDD, PCI и т.д.) был создан отдельный справочник, в котором хранятся все возможные разновидности каждого компонента. У каждой разновидности указаны название, внешний код, цена, сортировка и активность. Неактивные разновидности компонентов автоматически скрываются из всех конфигураций, в которые они были добавлены.
При создании конфигуратора все возможные для конкретной модели сервера разновидности компонентов просто выбираются из соответствующих справочников. В общем виде добавление нового конфигуратора выглядит следующим образом:
- создается конфигуратор;
- для него задаются название, индекс сортировки, цена базы и допустимое количество процессоров;
- через интерфейс в админ-панели выбираются компоненты;
- устанавливается включенная по умолчанию разновидность компонента;
- устанавливаются ограничения.
Добавили возможность конфигурации на основе готовых решений
Если покупателю не подходит готовое решение из каталога только по каким-то отдельным параметрам, он может собрать подходящую конфигурацию сервера, которая будет основана на той же модели, но с заменой части компонентов. Для этого предусмотрена соответствующая кнопка на странице каждого сервера, который можно переконфигурировать.

Сделали конфигуратор источником лидов
Иногда решение о заказе можно принять сразу, а иногда необходимо всё обдумать. Мы добавили возможность выбора: сразу оформить заказ или отправить готовую конфигурацию себе на e-mail, чтобы не потерять её.
Оформление заявки в конфигураторе (в том числе отправка конфигурации на e-mail) автоматически создадёт сделку в AmoCRM. Это происходит благодаря реализованной ранее интеграции.

Ищете надежного подрядчика?
Расскажите нам о ваших задачах и мы сориентируем вас по стоимости работ.