IT-инфраструктура для бизнеса и творчества

Ретейл реального времени: как устроена IT-инфраструктура dark store

На старте локдауна в США весной 2020 года продажи через интернет взлетели на 58% в сравнении с 2019 годом, свидетельствуют данные BCG. Взрывной рост спроса в интернет-магазинах и службах доставки еды наблюдался по всему миру. Но опыт пошел на пользу не всем компаниям: например, после введения осенних коронавирусных ограничений в Великобритании слоты доставки продуктов забились на три недели вперед.

С момента запуска «Самоката» мы создавали IT-инфраструктуру сети dark store, которая способна мгновенно ориентироваться в меняющейся реальности, будь то изменение погодных условий или введение новых ограничительных мер. Сегодня мы готовы рассказать, как устроен ретейл реального времени.

Распределенность VS централизация

С начала 2020 года объем операций в службе экспресс-доставки «Самокат» вырос в шесть раз, а количество серверов пришлось увеличить вчетверо. Мы внедрили автоматизированное управление расписанием курьеров, маршрутизацию и консолидацию маршрутов. Бесконтактную доставку и процедуры дистанционного найма мы смогли запустить за 4 дня. Мы планировали эти изменения в 2020 году, но пандемия коронавируса ускорила их и позволила лучше работать в режиме ограничений.

Поддерживать кратный рост там, где другие его не выдерживают, помогают принципы работы IT, перенесенные в архитектуру логистики еще при запуске «Самоката» в 2018 году.

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

Наша архитектура логистики — это большое количество маленьких объектов dark store. Если они подходят к пределу нагрузки, мы можем быстро развернуть рядом еще один маленький объект.

Представьте конвейерную сборочную линию на 600 постов. Когда сбой наступит на любом из них, встанет вся линия. Альтернатива такому процессу — много независимых сборочных ячеек. Если они достигнут предела производительности, к ним можно добавить 3-5 новых и расти поступательно, не нужно строить новую дорогую линию на 600 постов.

Каждый небольшой даркстор обслуживает собственную зону. Если заказов для конкретного магазина становится слишком много, можно построить рядом второй, а зону первого — уменьшить. Инфраструктура уплотняется, а качество сервиса у клиента — не снижается.

Алгоритмы и микрокоманды

Логистику реального времени обеспечивают несколько слоев технологий. Мы действуем в рамках собственных IT-систем, глубоко интегрированных между собой. События, которые происходят, например, на стороне мобильного приложения клиента, без задержек оказываются во всех наших системах. Интеграция данных происходит в реальном времени, информация становится доступной для всех наших внутренних сервисов в горизонте миллисекунд.

                                                  Технологический стек «Самоката»

Kotlin. Для сервисов на бэкенде. Лаконичный и безопасный код, полностью совместим с Java.

Kafka. Для платформы данных и асинхронного взаимодействия сервисов. Горизонтальное масштабирование в условиях постоянно возрастающего объема данных, обрабатываемых в режиме реального времени.

Kubernetes. Для развертывания и управления сервисом. Легко масштабируемая отказоустойчивая инфраструктура с глубокой автоматизацией.

TypeScript+React. Для веб-приложений. Рыночный стандарт. Быстрое масштабирование команды.

React Native. Для мобильных приложений. Разработка под iOS и Android силами одной команды без потери качества.

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

Команды. Вся наша компания состоит из интегрированных продуктовых команд. В них входят и люди, которые проектируют продукт, и люди, которые его создают, и те, кто используют его в реальной жизни. Таким образом каждый наш департамент — полноценная продуктовая команда. Всего у нас более 10 команд и продуктов. И IT в каждом из них — только часть процесса. Команда или департамент самостоятельно выбирают приоритеты, создают критерии качества продукта: заказчик, например, или руководители самих dark store, решают, как должен работать тот или иной процесс и обслуживающий его технологический инструмент.

Секрет двух коридоров

У товароведов в дарксторах есть динамический норматив по сборке заказа в зависимости от того, какие товары в нем собраны. В среднем это время — около двух минут. Даркстор организован так, чтобы собрать любой заказ можно было, пройдя по складу только один раз. Сборщики двигаются в одном направлении, не сталкиваются и последовательно собирают в заказ один товар за другим.

Заказы в списке для сборщика выстраиваются в том порядке, в котором они будут встречаться ему в этом коридоре. В дарксторах спроектированы большой и малый коридор для сборщиков. Это можно сравнить с торговым залом IKEA: весь склад можно пройти по большому кругу. Либо, если нужно, выйти из него по специальному коридору раньше окончания маршрута. Также в конце маршрута сборщика лежат товары, которые нужно класть в заказ сверху, чтобы они не помялись.

Когда все позиции заказа собраны, сборщик нажимает кнопку и заказ отправляется в доставку. В этот же момент специальный алгоритм консолидации включает его в маршрут курьера и выстраивает логистику так, чтобы каждый заказ из маршрута был доставлен максимально быстро.

Будущее дарксторов

При любых больших изменениях выиграет тот, кто сам формирует новые стандарты. Затем возможен период относительного затишья, когда выигрывать можно в других категориях. Но и следующая волна изменений снова принесет успех только тем, кто строит технологии сам. Частота «революций» в разных сферах жизни растет, а периоды затишья между ними — сокращаются. Поэтому необходимость создавать технологии становится жизненно важной для любой организации, которая не собирается на кладбище.

Чтобы ритейлеру выиграть и остаться востребованным, необходимо:

— быть гибким и готовым быстро адаптироваться к изменениям;

— разрабатывать собственные технологии;

— формировать продуктовые команды;

— держать баланс отличной идеи и скорости развития.

В течение 15 месяцев, по нашему прогнозу, произойдет роботизация работы больших распределительных центров. Роботы уже легко смогут сортировать товары и собирать заказы в больших пространствах. В течение примерно 30 месяцев возможна роботизация работы дарксторов. Пока роботов, достаточно проработанных и качественных для индустриального применения, не существует, но они появляются прямо на наших глазах.

Роботы для сортировки товаров появятся в наших больших распределительных центрах в пределах 15 месяцев. Технологии для автоматизации больших объектов доступны уже сегодня и совершенствуются очень быстро. В ближайшие полтора-два года они станут мейнстримом развития работы складов. Технологии для маленьких объектов только зарождаются: первые прототипы есть и они созреют примерно за три года. После этого мы увидим их массовое внедрение.

(function () { let cdnUrl = `https://specialsf378ef5-a.akamaihd.net/SelectelBranding/images/` let previousArticleNumber = null let currentArticleNumber = 0 let platform = 'Desktop' let articles = [ { name: 'camera', url: `${cdnUrl}CameraCat`, text: 'умную камеру для\u00A0наблюдения за\u00A0котиками', link: 'https://vc.ru/selectel/306690', num: 3 }, { name: 'chill', url: `${cdnUrl}ChillCat`, text: 'трекер, который подскажет, когда пора отдохнуть', link: 'https://vc.ru/promo/288561-eye-tracker', num: 1 }, { name: 'cloud', url: `${cdnUrl}CloudCat`, text: 'котика: даёшь ему «пять», а\u00A0он делает бэкап в облако', link: 'https://vc.ru/dev/294799-maneki-neko', num: 2 } ] let buttonCycle = document.querySelector('.button--cycle') let buttonChoose = document.querySelector('.button--choose') let buttonMobile = document.querySelector('.button--mobile') let textField = document.querySelector('.selectel-footer-subtitle') let imageAgent = document.querySelector('.image--agent') let banner = document.querySelector('.selectel-footer') buttonCycle.addEventListener('click', cycleClick) buttonChoose.addEventListener('click', () => sendEvent(`Promo ${articles[currentArticleNumber].num} Left`, 'Click')) buttonMobile.addEventListener('click', () => sendEvent(`Promo ${articles[currentArticleNumber].num} Left`, 'Click')) let media = window.matchMedia("(max-width: 570px)") media.addEventListener('change', matchMedia) function matchMedia() { if (media.matches) { platform = 'Mobile' } else { platform = 'Desktop' } update() } matchMedia() function cycleClick(event) { sendEvent(`Promo ${articles[currentArticleNumber].num} Right`, 'Click') if (event) { event.preventDefault() event.stopPropagation() } window.open('https://vc.ru/tag/selectelDIY', '_blank') //cycle(event) } function cycle(event) { // incrementArticleNumber() textField.innerHTML = generatedText() imageAgent.src = articles[currentArticleNumber].url + platform + '.svg?3' imageAgent.setAttribute("class", "") imageAgent.classList.add('image--agent', articles[currentArticleNumber].name) banner.href = articles[currentArticleNumber].link } function update() { banner.href = articles[currentArticleNumber].link imageAgent.src = articles[currentArticleNumber].url + platform + '.svg' textField.innerHTML = generatedText() } function incrementArticleNumber() { previousArticleNumber = currentArticleNumber if (currentArticleNumber >= articles.length - 1) { currentArticleNumber = 0 } else { currentArticleNumber++ } } const sendEvent = (label, action = 'Click') => { const value = `SelectelDIY — loc: Footer — ${label} — ${action}`; if (window.dataLayer !== undefined) { window.dataLayer.push({ event: 'data_event', data_description: value, }); } }; function generatedText() { let defaultText if (platform === 'Desktop') { defaultText = `Мы тут собрали %text%. Хотите научим?` } else { defaultText = `Мы тут собрали %text%.` } return defaultText.replace('%text%', articles[currentArticleNumber].text) } function getRandom(min, max) { min = Math.ceil(min) max = Math.floor(max) return Math.floor(Math.random() * (max - min + 1)) + min } (function create() { currentArticleNumber = getRandom(0, articles.length - 1) cycle() let page = document.querySelector('.page--entry') if (page) { function insertAfter() { let parents = page.querySelectorAll('[data-id="7"]') let referenceNode = parents[0] referenceNode.parentNode.insertBefore(banner, referenceNode.nextSibling); loaded() } setTimeout(() => insertAfter(), 0) } }()) function loaded() { banner.classList.add('loaded') } loadImages([ `${cdnUrl}CameraCatDesktop.svg`, `${cdnUrl}ChillCatDesktop.svg`, `${cdnUrl}CloudCatDesktop.svg`, `${cdnUrl}CameraCatMobile.svg`, `${cdnUrl}ChillCatMobile.svg`, `${cdnUrl}CloudCatMobile.svg?3`, ]) function loadImages(urls) { return Promise.all(urls.map(function (url) { return new Promise(function (resolve) { var img = document.createElement('img'); img.onload = resolve; img.onerror = resolve; img.src = url; }); })); } }())
0
4 комментария
Популярные
По порядку
Борис Васильев

Отправил запрос в отдел закупки.
Буду рад содействию в дополнении ассортимента доставки москвичам нашего концентрата морской воды.

Ответить
0
Развернуть ветку
Самокат

Благодарим за интерес к нашему сервису. Борис напишите в ЛС также, какой бренд вы представляете, и оставьте, пожалуйста, ваши контакты. 

Ответить
0
Развернуть ветку
Sergey Krashevich

Прошу прощения, но концентрат морской воды - это соль?

Ответить
0
Развернуть ветку
Борис Васильев

Соль - обычно, это порошок (если не ведется речь о химических соединениях).
Обычные способы добычи порошка - из слоев земных пород (каменная соль), или да, путем высушивания морской или соленой озерной воды.

Мы называем концентратом морской воды жидкую подземную рапу.
Она в случае добычи из нашей скважины (глубина 1000 м), содержит те основные пятнадцать минералов (300 грамм в литре), которые и дают, после разбавления в 7-8 раз, аналог воды мирового океана.

Подробнее в статьях на VC, ссылки в моем профиле.

Ответить
0
Развернуть ветку
Читать все 4 комментария
Увлечение самолётами, которое переросло в бизнес

Предприниматель из Волгограда производит и продаёт по всему миру симуляторы дополненной реальности.

Сайт Tor заблокировали в России после публикации обращения с призывом к пользователям поднять у себя серверы Статьи редакции

Команда сообщила о начале блокировки всей сети с 1 декабря.

Мощные сервисы для быстрого машинного обучения: от GPU SuperCloud до суперкомпьютера

В последние три года мы видим рост спроса на технологии искусственного интеллекта (ИИ) и машинного обучения. Они проникли практически во все сферы нашей жизни, начиная от различных колл-центров и городских систем видеонаблюдения, заканчивая системами медицинского скрининга и диагностики заболеваний. Даже для оплаты проезда в столичной подземке…

Новый дизайн «Секрета фирмы» учтёт пользовательские сценарии потребления и поиска контента

О трендах бизнеса и экономики можно прочесть коротко и ясно в удобных форматах

Его отверг Y Combinator, но признали миллионы пользователей: как работает и зарабатывает криптокошелёк MetaMask Статьи редакции

Сервис приносит материнской фирме ConsenSys сотни миллионов выручки в год, рентабельность составляет почти 100%, а используют его более 20 млн человек. Кто создал кошелёк, с кем он конкурирует и за что его критикуют — в разборе The Generalist.

Презентация MetaMask
«Купи сейчас, плати потом»: новая классика или мимолетная мода

Сервис рассрочек рассказывает о новом финтех-тренде.

Потерять канал в телеграме и заодно репутацию? Это легче, чем вы думаете

Всем привет! Меня зовут Альберт Базалеев, я эксперт в сфере информационной безопасности бизнеса. Одно из моих направлений — проект Варежка, это софт, который защищает telegram-каналы и корпоративные telegram-аккаунты от злоумышленников. Сегодня расскажу, какие «дырки» есть в telegram-каналах (которые так любят пиарить здесь на vc.ru) и к чему…

«Яндекс» представил «Станцию» второго поколения с новым дизайном и улучшенным звуком Статьи редакции

Колонка поступит в продажу в первой половине 2022 года.

Ozon и AliExpress начали задерживать доставку товаров на несколько дней Статьи редакции

Оператор доставки для маркетплейсов объяснил задержки загруженностью дорог в Сибири и на Дальнем Востоке и высоким спросом накануне праздников.

«Яндекс» научил «Алису» генерировать сказки при помощи нейросети Статьи редакции

И научил разговаривать шёпотом.

Лидерские качества. 30 полезных материалов для их развития

Наверняка вы не раз слышали фразу: «Саша — прирожденный лидер». Но разве лидерство «дается» с рождения? Конечно, нет. Как и многие навыки и soft skills, лидерские качества можно в себе развить. В этой статье я расскажу, с чего начать путь к лидерству, а еще поделюсь полезными материалами.

null