IaaS для стартапа: опыт сети постаматов PickPoint

a66179de166343f98f2a25e832c94fd4.jpg

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

Предыстория


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

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

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

c3443fa8b8d84304b548d57a0077a4bc.jpg

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

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


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

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

— Команда PickPoint


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

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


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

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

— Команда PickPoint


1fb85fba0377420383356b665b9a8d5d.jpg

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

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

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

— Команда PickPoint


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

Каналы связи


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

a32abe168bcf4be6b49fec2b07bb81aa.jpg

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

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


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

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

— Команда PickPoint


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


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

9e1c16d8a2734e82bb290ecb18121446.png

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

— Команда PickPoint


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


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

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

— Команда PickPoint


Заключение


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

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

© Habrahabr.ru