В нашем блоге мы уже рассказывали историю проекта Hotels.ru, который благодаря переезду в облако смог решить свои проблемы по работе с высокой нагрузкой. В нашем сегодняшнем материале — рассказ о том, как российский сервис автоматизированной доставки PickPoint смог использовать облачные технологии для оптимизации узких мест своей инфраструктуры.

Предыстория


Проект PickPoint призван решить одну из главных проблем отечественного ecommerce — отсутствие дешевой и быстрой доставки. Курьерские службы надежны, но дороги, а дешевая почта — ненадежна и очень медлительна.

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

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



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

Первые сложности


В США и Европе постаматы используются уже довольно давно, и ничто не мешало перенести этот опыт в Россию. После проведения исследования мирового рынка, в качестве технологической основы была выбрана сеть автоматической выдачи посылок Эстонии — ее постаматы довольно просты и не требуют сложной инфраструктуры.

Однако, после начала работ по внедрению системы стало ясно, что одной локализацией дело не ограничится — в Европе все уже давно платят карточками, а в России покупатели предпочитают наличные. Поэтому пришлось встраивать в постаматы блок приема банкнот и соответствующим образом модифицировать софт.

— Команда PickPoint

Основой всей системы являются постаматы — блоки ячеек с небольшим ПК с Windows Embedded, маршрутизатором и контроллером, который отвечает за открытие ячеек. Каждый постамат соединяется с процессинговым центром (сервер приложений) по VPN, процессинг находится в онлайне, так что стабильность соединения крайне важна. На сервере приложений происходит обработка запросов, проверка заказов и оплаты, и дается разрешение на выдачу товара.

Зачем понадобилось облако


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

Самым «прожорливым» элементом у нас является база. Например, сейчас ее загрузка по дисковой системе нередко достигает 3000 IOPS.

— Команда PickPoint



На старте проекта в 2010 году, когда его идея еще была для России диковинкой, инфраструктура была развернута на заемном железе. Его возможности исчерпывались по мере роста популярности сервиса (через пару лет работы число постаматов составило уже 115 штук, сейчас их более 500), а апгрейд был слишком дорогим и сложным делом. В итоге инфраструктура была перенесена в IaaS-облако провайдера «ИТ-ГРАД».

В момент бурного роста в полной мере оценили плюсы облака – для нас это в первую очередь гибкое масштабирование. Даже когда нельзя предсказать прирост нагрузки и накупить про запас, вы всегда можете по мере необходимости «наращивать мышцы» виртуальных систем в пару кликов. […]

В последние годы мы серьезно поработали над доступностью систем. Серверов приложений с IIS стало два, и работают они в кластере с внешним балансировщиком. Сервер БД резервируется бэкапами и vSphere HA, а WAN-подключения теперь дублируются.

— Команда PickPoint

Почти вся серверная инфраструктура работает на Windows с веб-службами IIS (в данный момент почти все службы используют Windows Server 2012). Некоторые вспомогательные сервисы (например, система мониторинга) работают на Linux и FreeBSD, но компания взяла курс на полный переход на ПО от Microsoft, поэтому при апгрейде системы и эти элементы переводятся на Windows.

Каналы связи


Офис PickPoint размещается в Москве, а ядро сети постаматов (веб-серверы приложений и база данных) — в Санкт-Петербурге, что с течением времени привело к определенным трудностям. Возникла необходимость расширения канала от офиса до облака, но при таких расстояниях это дорого стоит. Проблему удалось решить переносом инфраструктуры из облака в Петербурге в московское облако (через механизм резервных копий и vCloud Connector — подробнее о работе с этим инструментом мы писали отдельный материал).



Московское IaaS-облако ИТ-Град размещается в дата-центре Dataspace

Отказоустойчивость


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

Потому 3G-модемы стоят лишь в критичных точках, где поток клиентов стабильно высок и при этом есть техническая возможность подключить нормальный беспроводной канал. Устанавливать модемы везде нецелесообразно, так как сотовый сигнал зачастую настолько плох, что нормального резервирования не получается. Поэтому зарезервированы наиболее узкие места с большей вероятностью отказа интернет-соединения, а остальные активно мониторятся через ZABBIX.

— Команда PickPoint

Резервная площадка


В дальнейшем началась работа по оптимизации базы данных и ее переводу на SQL-2014, на фоне которой возник интерес к созданию резервной площадки (DRS).



Еще собираемся экспериментировать с тонкими клиентами и VDI на операторских местах. Сейчас у нас есть несколько сортировочных центров с работой 24\7, и простой одного рабочего места легко может вылиться в 2000 необработанных посылок за ночь. Для минимизации подобных ЧП на площадках работают ночные инженеры, но такое решение спорно в плане затрат. Поэтому есть мысль перенести все рабочие места в облако, а «в полях» оставить только тонкие клиенты, в которых ломаться нечему (а если и сломается, то ремонт не сложнее, чем замена картриджа в принтере). В качестве конкретного продукта рассматриваем CITRIX XenDesktop, экспериментируем и пробуем с этим работать. Безусловно, интересный вариант

— Команда PickPoint

Не страшно ли хранить данные в облаке


По мере развития PickPoint все чаще сталкивается с DDoS-атаками, для противостояния которым провайдер предлагает отдельное решение. Что касается рисков, связанных с хранением данных бизнеса в облаке, то команда сервиса основным риском считает угрозу утечки данных изнутри (к примеру, вследствие халатности).

Все почему-то фокусируются именно на интернет-угрозах, не замечая огромной бреши в виде человеческого фактора. А между тем бизнес облачного провайдера может развалиться из-за одного такого инцидента, так что вопросы безопасности у них поставлены серьезнее чем в большинстве крупных «традиционных» корпораций. Так, может, боящиеся просто не туда смотрят?

— Команда PickPoint

Заключение


В настоящий момент бывший в 2010 году стартапом PickPoint стал лидером рынка автоматизированных пунктов выдачи. На протяжении пяти лет работы команда сервиса использует облако IaaS.

На сегодня все, спасибо за внимание! Не забывайте знакомиться с новыми материалами в первом блоге о корпоративном IaaS.

Комментарии (10)


  1. norlin
    17.07.2015 12:10

    в Европе все уже давно платят карточками, а в России покупатели предпочитают наличные
    Ох, где же вы такую Европу нашли…
    Я был в Финляндии, Греции и Германии, и в этих странах карточки принимают в лучшем случае относительно крупные или сетевые магазины, более-менее крупные рестораны и отели. В обычных небольших магазинах/кафе принимают только наличные…

    Для меня это стало практически шоком – заплатить карточкой было реальной проблемой, приходилось бегать по банкоматам.


    1. norlin
      17.07.2015 12:16

      p.s. впрочем, возможно я не объективен. В Германии, где я был совсем недавно – всё именно так, как я и написал (как минимум, в одном городке под Франкфуртом). В Финляндии маловато опыта, чтоб обобщать. В Греции всё было получше (как минимум, год назад).


    1. Unatine
      17.07.2015 12:59

      В Хельсинки, на каком-то временном и небольшом рыночке на Kauppatori, продавцы практически все были с POS-терминалами и принимали карточки.


      1. norlin
        17.07.2015 14:35

        Спасибо! Как я уже написал выше, мой первый комментарий необъективен и выражает, в основном, впечатление от Германии. :)
        Что, впрочем, не уменьшает недоумения – т.к. Германия-то как раз одна из «центральных» стран Европы…


    1. AmberSP
      17.07.2015 18:24

      habrahabr.ru/company/web_payment_ru/blog/258625

      Но я тоже в Европе ни разу не платил картой и не видел, чтобы кто-то платил картой, только нал. Зато мой любимый пример — Минск, уличный лоток-тент с пирожками и чаем, лежит POS-терминал, можно заплатить картой.
      В Москве кэш только на рынках использую.


  1. Plazmoid
    17.07.2015 13:41

    интересно. очень похоже на то, что сделано в Казахстане
    inform.kz/rus/article/2698288


  1. dowell
    18.07.2015 11:17

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


    1. alexlash
      18.07.2015 14:23

      Тут вообще речь об использовании облака, а не о бизнес-модели сервиса. Видимо втора тема вне рамок поста


  1. netto
    19.07.2015 13:32

    > Курьерские службы надежны, но дороги, а дешевая почта — ненадежна и очень медлительна.

    Не только и не столько. Во-первых, личная причина, когда есть возмоность выбрать самовывоз (конечно не с адреса вроде «2554 Проектируемый проезд») я выберу самовывоз: это неудобство доставки как таковой. Казалось бы, курьеры и придуманы для удобства, но — нет.
    1. Курьеры везут обычно в рабочее время, и, как правило, в удобное *им* время. Это обычно когда нормальные люди на работе. Значит надо заказывать на работу.
    2. На работе не всегда и не у всех есть возможность принять заказ. И не все сидят в офисе целый день. И не все может хотеться принять на работу. Всякие бывают заказы.
    3. Вечная проблема курьеров — отсутствие сдачи. Большая редкость, когда курьер может принять оплату картой.
    4. Стоимость курьерской доставки. По сути это сегодня сумма равная оплате такси. Несколько жирновато, как мне кажется. Нет, правда.

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

    Так что попробовав постоматы, хотел бы пользоваться ими почаще. Увы, пока варианты с постаматами это скорее исключение среи интернет-магазинов.


    1. AmberSP
      20.07.2015 11:15

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