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