SlideShare una empresa de Scribd logo
1 de 22
Descargar para leer sin conexión
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% работы
Вопросы 
Дмитрий Завалишин 
dz@dz.ru 
Основатель DZ systems 
http://dz.ru

Más contenido relacionado

La actualidad más candente

CRM-системы. Продажи — в «облака»!
CRM-системы. Продажи — в «облака»!CRM-системы. Продажи — в «облака»!
CRM-системы. Продажи — в «облака»!
Burbon.ru
 
Programmatic. Принцип работы и подводные камни
Programmatic. Принцип работы и подводные камниProgrammatic. Принцип работы и подводные камни
Programmatic. Принцип работы и подводные камни
Techart Marketing Group
 
Большов Ооптимизация затрат в электронной торговле
Большов Ооптимизация затрат в электронной торговлеБольшов Ооптимизация затрат в электронной торговле
Большов Ооптимизация затрат в электронной торговле
Registratura.ru
 

La actualidad más candente (20)

BotPlatForma
BotPlatFormaBotPlatForma
BotPlatForma
 
Some Cases of CPA Agency iSales
Some Cases of CPA Agency iSalesSome Cases of CPA Agency iSales
Some Cases of CPA Agency iSales
 
Проект ищет инвестиции
Проект ищет инвестицииПроект ищет инвестиции
Проект ищет инвестиции
 
Как застройщику сохранить продажи в 2015 году?
Как застройщику сохранить продажи в 2015 году?Как застройщику сохранить продажи в 2015 году?
Как застройщику сохранить продажи в 2015 году?
 
Agora Omni Channel Engine
Agora Omni Channel EngineAgora Omni Channel Engine
Agora Omni Channel Engine
 
Preza tt3zel uvel_shrifty1
Preza tt3zel uvel_shrifty1Preza tt3zel uvel_shrifty1
Preza tt3zel uvel_shrifty1
 
Как внедрить коллтрекинг и получить прибыль
Как внедрить коллтрекинг и получить прибыльКак внедрить коллтрекинг и получить прибыль
Как внедрить коллтрекинг и получить прибыль
 
CRM-системы. Продажи — в «облака»!
CRM-системы. Продажи — в «облака»!CRM-системы. Продажи — в «облака»!
CRM-системы. Продажи — в «облака»!
 
Programmatic. Принцип работы и подводные камни
Programmatic. Принцип работы и подводные камниProgrammatic. Принцип работы и подводные камни
Programmatic. Принцип работы и подводные камни
 
Перезентация с доклада на конференции MarketingOne2014
Перезентация с доклада на конференции MarketingOne2014Перезентация с доклада на конференции MarketingOne2014
Перезентация с доклада на конференции MarketingOne2014
 
Provecta pos 2
Provecta pos 2Provecta pos 2
Provecta pos 2
 
Profitbase: веб-шахматка для сайта застройщика
Profitbase: веб-шахматка для сайта застройщикаProfitbase: веб-шахматка для сайта застройщика
Profitbase: веб-шахматка для сайта застройщика
 
Большов Ооптимизация затрат в электронной торговле
Большов Ооптимизация затрат в электронной торговлеБольшов Ооптимизация затрат в электронной торговле
Большов Ооптимизация затрат в электронной торговле
 
Сквозная аналитика для реальных потребностей бизнеса
Сквозная аналитика для реальных потребностей бизнесаСквозная аналитика для реальных потребностей бизнеса
Сквозная аналитика для реальных потребностей бизнеса
 
Обзор систем коллтрекинга
Обзор систем коллтрекингаОбзор систем коллтрекинга
Обзор систем коллтрекинга
 
Cpa ex iab_big_data_seminar_160615
Cpa ex iab_big_data_seminar_160615Cpa ex iab_big_data_seminar_160615
Cpa ex iab_big_data_seminar_160615
 
Sap Marketing для различных сфер бизнеса - АтлантКонсалт
Sap Marketing для различных сфер бизнеса - АтлантКонсалтSap Marketing для различных сфер бизнеса - АтлантКонсалт
Sap Marketing для различных сфер бизнеса - АтлантКонсалт
 
Все о нашей компании - AtlantConsult
Все о нашей компании - AtlantConsultВсе о нашей компании - AtlantConsult
Все о нашей компании - AtlantConsult
 
Презентация B2B GLOBAL
Презентация B2B GLOBALПрезентация B2B GLOBAL
Презентация B2B GLOBAL
 
Сергей Кулешов: "CRM-маркетинг: глубокая персонализация? "
Сергей Кулешов: "CRM-маркетинг: глубокая персонализация? "Сергей Кулешов: "CRM-маркетинг: глубокая персонализация? "
Сергей Кулешов: "CRM-маркетинг: глубокая персонализация? "
 

Destacado

Большие данные в телеком
Большие данные в телекомБольшие данные в телеком
Большие данные в телеком
glebmikh
 
Практическое использование «больших данных» в бизнесе
Практическое использование «больших данных» в бизнесеПрактическое использование «больших данных» в бизнесе
Практическое использование «больших данных» в бизнесе
Anton Vokrug
 

Destacado (20)

Большие данные для реформы здравоохранения
Большие данные для реформы здравоохранения Большие данные для реформы здравоохранения
Большие данные для реформы здравоохранения
 
ИТМО Machine Learning. Рекомендательные системы — часть 1
ИТМО Machine Learning. Рекомендательные системы — часть 1ИТМО Machine Learning. Рекомендательные системы — часть 1
ИТМО Machine Learning. Рекомендательные системы — часть 1
 
ITMO RecSys course. Autumn 2014. Lecture 6
ITMO RecSys course. Autumn 2014. Lecture 6ITMO RecSys course. Autumn 2014. Lecture 6
ITMO RecSys course. Autumn 2014. Lecture 6
 
ИТМО Machine Learning 2015. Рекомендательные системы
ИТМО Machine Learning 2015. Рекомендательные системыИТМО Machine Learning 2015. Рекомендательные системы
ИТМО Machine Learning 2015. Рекомендательные системы
 
ИТМО Machine Learning. Рекомендательные системы — часть 2
ИТМО Machine Learning. Рекомендательные системы — часть 2ИТМО Machine Learning. Рекомендательные системы — часть 2
ИТМО Machine Learning. Рекомендательные системы — часть 2
 
Большие данные в телеком
Большие данные в телекомБольшие данные в телеком
Большие данные в телеком
 
Sublinear tolerant property_testing_halfplane
Sublinear tolerant property_testing_halfplaneSublinear tolerant property_testing_halfplane
Sublinear tolerant property_testing_halfplane
 
Xtrem n p1560t
Xtrem n p1560tXtrem n p1560t
Xtrem n p1560t
 
שיטות הסתברותיות תרגול 6
שיטות הסתברותיות תרגול 6שיטות הסתברותיות תרגול 6
שיטות הסתברותיות תרגול 6
 
Онлайн-революция: от ранних репозиториев – к современным МООС-курсам
Онлайн-революция: от ранних репозиториев – к современным МООС-курсамОнлайн-революция: от ранних репозиториев – к современным МООС-курсам
Онлайн-революция: от ранних репозиториев – к современным МООС-курсам
 
SECON'2014 - Андрей Устюжанин - Маленькие секреты больших данных
SECON'2014 - Андрей Устюжанин - Маленькие секреты больших данныхSECON'2014 - Андрей Устюжанин - Маленькие секреты больших данных
SECON'2014 - Андрей Устюжанин - Маленькие секреты больших данных
 
Практическое использование «больших данных» в бизнесе
Практическое использование «больших данных» в бизнесеПрактическое использование «больших данных» в бизнесе
Практическое использование «больших данных» в бизнесе
 
51 Use Cases and implications for HPC & Apache Big Data Stack
51 Use Cases and implications for HPC & Apache Big Data Stack51 Use Cases and implications for HPC & Apache Big Data Stack
51 Use Cases and implications for HPC & Apache Big Data Stack
 
Александр Семенов (НИУ ВШЭ)
Александр Семенов (НИУ ВШЭ)Александр Семенов (НИУ ВШЭ)
Александр Семенов (НИУ ВШЭ)
 
Антон Конушин (НИУ ВШЭ)
Антон Конушин (НИУ ВШЭ)Антон Конушин (НИУ ВШЭ)
Антон Конушин (НИУ ВШЭ)
 
Алексей Натекин (Deloitte)
Алексей Натекин (Deloitte)Алексей Натекин (Deloitte)
Алексей Натекин (Deloitte)
 
Александр Петров (E-contenta)
Александр Петров (E-contenta)Александр Петров (E-contenta)
Александр Петров (E-contenta)
 
Григорий Бакунов (Яндекс)
Григорий Бакунов (Яндекс)Григорий Бакунов (Яндекс)
Григорий Бакунов (Яндекс)
 
NVIDIA Deep Learning.
NVIDIA Deep Learning. NVIDIA Deep Learning.
NVIDIA Deep Learning.
 
Лекция №6 "Линейные модели для классификации и регрессии"
Лекция №6 "Линейные модели для классификации и регрессии" Лекция №6 "Линейные модели для классификации и регрессии"
Лекция №6 "Линейные модели для классификации и регрессии"
 

Similar a Юлмарт. История создания, Дмитрий Завалишин (DZ Systems)

Математический аппарат и инструменты создания дополненной реальности
Математический аппарат и инструменты создания дополненной реальностиМатематический аппарат и инструменты создания дополненной реальности
Математический аппарат и инструменты создания дополненной реальности
cbwTest
 
сколько стоит интернет-магазин. На чем сэкономить?
сколько стоит интернет-магазин. На чем сэкономить?сколько стоит интернет-магазин. На чем сэкономить?
сколько стоит интернет-магазин. На чем сэкономить?
Роман Парников
 
Аккумулирование информации изофлайновых и онлайновых каналов
Аккумулирование информации изофлайновых и онлайновых каналовАккумулирование информации изофлайновых и онлайновых каналов
Аккумулирование информации изофлайновых и онлайновых каналов
RetEx_Moscow
 
Blueprint IT strategy. Концепция развития ИТ
Blueprint IT strategy. Концепция развития ИТBlueprint IT strategy. Концепция развития ИТ
Blueprint IT strategy. Концепция развития ИТ
Evgeny Aleshin
 

Similar a Юлмарт. История создания, Дмитрий Завалишин (DZ Systems) (20)

Секции ADV на RIW 2013: Настоящее и будущее e-commerce-платформ: технологии, ...
Секции ADV на RIW 2013: Настоящее и будущее e-commerce-платформ: технологии, ...Секции ADV на RIW 2013: Настоящее и будущее e-commerce-платформ: технологии, ...
Секции ADV на RIW 2013: Настоящее и будущее e-commerce-платформ: технологии, ...
 
Математический аппарат и инструменты создания дополненной реальности
Математический аппарат и инструменты создания дополненной реальностиМатематический аппарат и инструменты создания дополненной реальности
Математический аппарат и инструменты создания дополненной реальности
 
Цифры и тренды белорусского рынка веб-разработок и e-commerce, презентация...
Цифры и тренды  белорусского рынка  веб-разработок  и e-commerce, презентация...Цифры и тренды  белорусского рынка  веб-разработок  и e-commerce, презентация...
Цифры и тренды белорусского рынка веб-разработок и e-commerce, презентация...
 
Предпроектная работа над сайтом
Предпроектная работа над сайтомПредпроектная работа над сайтом
Предпроектная работа над сайтом
 
Shopium
ShopiumShopium
Shopium
 
сколько стоит интернет-магазин. На чем сэкономить?
сколько стоит интернет-магазин. На чем сэкономить?сколько стоит интернет-магазин. На чем сэкономить?
сколько стоит интернет-магазин. На чем сэкономить?
 
Аккумулирование информации изофлайновых и онлайновых каналов
Аккумулирование информации изофлайновых и онлайновых каналовАккумулирование информации изофлайновых и онлайновых каналов
Аккумулирование информации изофлайновых и онлайновых каналов
 
1С-Битрикс - Версия 10.0
1С-Битрикс - Версия 10.01С-Битрикс - Версия 10.0
1С-Битрикс - Версия 10.0
 
Мобильная разработка и IoT, machine learning, VR. Специфика проектов с точки ...
Мобильная разработка и IoT, machine learning, VR. Специфика проектов с точки ...Мобильная разработка и IoT, machine learning, VR. Специфика проектов с точки ...
Мобильная разработка и IoT, machine learning, VR. Специфика проектов с точки ...
 
Денис Митрофанов
Денис МитрофановДенис Митрофанов
Денис Митрофанов
 
Разработка информационно-развлекательной системы “Friendly Shopping!”
Разработка информационно-развлекательной системы “Friendly Shopping!”Разработка информационно-развлекательной системы “Friendly Shopping!”
Разработка информационно-развлекательной системы “Friendly Shopping!”
 
InDev Group
InDev GroupInDev Group
InDev Group
 
Анализ и визуализация данных на базе платформы Microsoft bi
Анализ и визуализация данных на базе платформы Microsoft biАнализ и визуализация данных на базе платформы Microsoft bi
Анализ и визуализация данных на базе платформы Microsoft bi
 
Битрикс - тиражные решения и готовые интернет-магазины
Битрикс - тиражные решения и готовые интернет-магазиныБитрикс - тиражные решения и готовые интернет-магазины
Битрикс - тиражные решения и готовые интернет-магазины
 
Startup Crash Test - Vitaly Terluk - Mobile Office For Real Estate Agents
Startup Crash Test - Vitaly Terluk - Mobile Office For Real Estate AgentsStartup Crash Test - Vitaly Terluk - Mobile Office For Real Estate Agents
Startup Crash Test - Vitaly Terluk - Mobile Office For Real Estate Agents
 
Поисковая оптимизация интернет-магазины на базе Drupal Commerce
Поисковая оптимизация интернет-магазины на базе Drupal CommerceПоисковая оптимизация интернет-магазины на базе Drupal Commerce
Поисковая оптимизация интернет-магазины на базе Drupal Commerce
 
6 продуктов для МТТ
6 продуктов для МТТ6 продуктов для МТТ
6 продуктов для МТТ
 
Антон Терехов "Промышленные e-commerce платформы. Опыт поиска."
Антон Терехов "Промышленные e-commerce платформы. Опыт поиска."Антон Терехов "Промышленные e-commerce платформы. Опыт поиска."
Антон Терехов "Промышленные e-commerce платформы. Опыт поиска."
 
Blueprint IT strategy. Концепция развития ИТ
Blueprint IT strategy. Концепция развития ИТBlueprint IT strategy. Концепция развития ИТ
Blueprint IT strategy. Концепция развития ИТ
 
Mobile credentials
Mobile credentialsMobile credentials
Mobile credentials
 

Más de Ontico

Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Ontico
 

Más de Ontico (20)

One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
 
Масштабируя DNS / Артем Гавриченков (Qrator Labs)
Масштабируя DNS / Артем Гавриченков (Qrator Labs)Масштабируя DNS / Артем Гавриченков (Qrator Labs)
Масштабируя DNS / Артем Гавриченков (Qrator Labs)
 
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
 
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
 
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
 
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
 
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
 
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
 
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
 
MySQL Replication — Advanced Features / Петр Зайцев (Percona)
MySQL Replication — Advanced Features / Петр Зайцев (Percona)MySQL Replication — Advanced Features / Петр Зайцев (Percona)
MySQL Replication — Advanced Features / Петр Зайцев (Percona)
 
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
 
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
 
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
 
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
 
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
 
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
 
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
 
100500 способов кэширования в Oracle Database или как достичь максимальной ск...
100500 способов кэширования в Oracle Database или как достичь максимальной ск...100500 способов кэширования в Oracle Database или как достичь максимальной ск...
100500 способов кэширования в Oracle Database или как достичь максимальной ск...
 
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
 
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
 

Юлмарт. История создания, Дмитрий Завалишин (DZ Systems)

  • 1. Ulmart + Digital Zone = Love Три года (любви) на гоночной трассе
  • 2. Ulmart это: Крупнейший кибермаркет в России, выручка за 2013 год - $1,021 млрд. (по данным Forbes) Продает "все, что втыкается в розетку" - фактически, вообще всё Опережает ближайшего конкурента примерно на 20% 15 субпроектов (b2b, travel, digital, shop in shop и т.п.)
  • 3. Как началось Ultima ERP + PHP План на полгода Постановка задачи на одной странице майндмепа Реверс-инжениринг 400 таблиц без FK Обещали сделать за 6 месяцев, сделали за 4!
  • 4. Требования Масштабирование Отказоустойчивость Отсутствие проблем при развитии Поддержка интеграции с SAP
  • 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)
  • 11. Текст Архитектура Как оно казалось до старта проекта
  • 12. Текст Архитектура Как оно казалось в начале проекта
  • 13. Текст Архитектура Рабочая диаграмма в середине проекта
  • 14. Архитектура сегодня Всё описать не получится Второй слой апп-серверов: объектный кеш спецификаций Шардинг по категориям товаров Бизнес-логика фильтрации прямо на кеше, псевдо- SQL in memory
  • 15. Текст Архитектура Взгляд с высоты полёта
  • 16. Архитектура Шардинг БД по категориям
  • 17. Эксперт Технология Яндекс.Гуру, переписана мной на Яву в 2004 году, Переписана группой разработки Юлмарта ещё раз в 2012 :) +1% конверсии в среднем, +8 в пике Категории: удачные - мультиварки, странные - телевизоры Новизна - "окно цены", сдвиг по цене и фичам, оно же закрывает фрустрацию псевдо-профессионалов
  • 18. Mobile Identity Технология интеграции с операторами от «Беркут» Прозрачная регистрация в магазине при заходе с мобильного устройства Логин не нужен, дядя Вова
  • 19. Технические проблемы Медленные компьютеры покупателей - не тянут большой ajax Были компоненты (кеш), которые выдерживают нагрузочное тестирование, но падают на реальной системе Интеграция, интеграция, интеграция
  • 20. Орг. проблемы Бизнес-заказчик внутри Юлмарта - иногда его нет Приоритеты по развитию - быстрый рост заставляет что-то оставлять в стороне Объём команды нельзя растить вечно - структуризация подсистем - естественная граница Скорость развития других подсистем (бекофис)
  • 21. О нас Digital Zone - энтерпрайз веб E-Legion - мобильная разработка (Номер 1 в России) Aprentise - конструктор бизнес-приложений (растём, не всё говорим вслух) Порядка 150 сотрудников в 5 городах Стабильные партнёры - аутсорсим 15-25% работы
  • 22. Вопросы Дмитрий Завалишин dz@dz.ru Основатель DZ systems http://dz.ru