2. Ulmart это:
Крупнейший кибермаркет в России, выручка за
2013 год - $1,021 млрд. (по данным Forbes)
Продает "все, что втыкается в розетку" -
фактически, вообще всё
Опережает ближайшего конкурента примерно на
20%
15 субпроектов (b2b, travel, digital, shop in shop и т.п.)
3. Как началось
Ultima ERP + PHP
План на полгода
Постановка задачи на одной странице майндмепа
Реверс-инжениринг 400 таблиц без FK
Обещали сделать за 6 месяцев, сделали за 4!
5. Масштаб на старте
10 000 продаж в сутки
60 магазинов по стране
База цен - порядка миллиона записей
(товары*регионы*столбец скидки)
Распределённая логистическая сеть, аутпосты, сложная
схема наличия товара
Активная программа лояльности
100% продаж через веб-магазин
6. Этапы
Проанализировать (reverse engineering)
Запроектировать (коннекторы к БД, ультиме, сап)
Сделать в минимальной конфигурации
Сделать в максимальной конфигурации
Отрефакторить бд
Отрефакторить себя (2й слой апп серверов)
7. Команда: 10-20 человек
Менеджер проекта, архитектор проекта
Ведущий аналитик, несколько аналитиков
3-5 групп с архитекторами подсистем
Группы тестирования - у нас и у Юлмарта
Верстальщики
8. Тестирование
Юнит-тесты, регрессы
Тесты на уровне UI - селениум
Нагрузочные тесты
Полная тест-среда сделана только в этом году.
Проблема - второй SAP.
До этого сквозные тесты делали на боевой системе
по специальной схеме.
9. ТипаАджайл
Псевдо-фикс
Требования
Проектирование
Прозрачность работы команды
Беклог и корректировка плана
Внутренние релизы раз в 2 недели
10. На чём стоим
Apache Tomcat (Java EE сервер приложений) (JBoss)
Lucene (библиотека для высокоскоростного полнотекстового
поиска)
JDBC (интерфейс для работы с БД)
Spring (фреймворк)
Freemarker (шаблонизатор)
JQuery (библиотека для взаимодействия JavaScript c HTML/
CSS)
14. Архитектура сегодня
Всё описать не получится
Второй слой апп-серверов: объектный кеш
спецификаций
Шардинг по категориям товаров
Бизнес-логика фильтрации прямо на кеше, псевдо-
SQL in memory
17. Эксперт
Технология Яндекс.Гуру, переписана мной на Яву в 2004
году,
Переписана группой разработки Юлмарта ещё раз в
2012 :)
+1% конверсии в среднем, +8 в пике
Категории: удачные - мультиварки, странные - телевизоры
Новизна - "окно цены", сдвиг по цене и фичам, оно же
закрывает фрустрацию псевдо-профессионалов
18. Mobile Identity
Технология интеграции с операторами от «Беркут»
Прозрачная регистрация в магазине при заходе с
мобильного устройства
Логин не нужен, дядя Вова
19. Технические проблемы
Медленные компьютеры покупателей - не тянут
большой ajax
Были компоненты (кеш), которые выдерживают
нагрузочное тестирование, но падают на реальной
системе
Интеграция, интеграция, интеграция
20. Орг. проблемы
Бизнес-заказчик внутри Юлмарта - иногда его нет
Приоритеты по развитию - быстрый рост
заставляет что-то оставлять в стороне
Объём команды нельзя растить вечно -
структуризация подсистем - естественная граница
Скорость развития других подсистем (бекофис)
21. О нас
Digital Zone - энтерпрайз веб
E-Legion - мобильная разработка (Номер 1 в России)
Aprentise - конструктор бизнес-приложений
(растём, не всё говорим вслух)
Порядка 150 сотрудников в 5 городах
Стабильные партнёры - аутсорсим 15-25% работы