Как мы чуть не потеряли 5 000 000 гривен в месяц из-за «неправильного» хостинга

Все началось с того, что крупной аптечной сети понадобился сайт и хостинг для него. Все бы ничего, вот только каталог у нас был большой, с огромным количеством фотографий. Вопреки ожиданиям, запустить свой сайт-магазин удалось лишь с «третьего хостера» 🙂 Потом была аренда серверов, а после мы пошли «в облако». Но обо всем по порядку.

Пару слов о нас: сеть аптек «ДС», 111 аптек, обслуживаем 25 000 клиентов ежедневно, работаем, в основном, на западной Украине: во Львовской, Волынской, Тернопольской, Черновицкой, Ивано-Франковской, Хмельницкой и Закарпатской областях. О масштабе бизнеса лучше расскажут цифры:

Проработав несколько лет, в какой-то момент мы решили расширяться. Помимо прочего, решили сделать сайт, который будет презентовать весь каталог предлагаемых нашей аптечной сетью товаров. На тот момент (2012 год) это было порядка 6000 наименований. Как инструмент презентации в онлайне, сайт должен был рассказать клиентам о лекарственных препаратах в наших аптеках. Каждая позиция ассортимента дополнялась инструкцией и фотографией.

Поскольку в Украине запрещена продажа лекарств в интернете, мы выделили товары для онлайн-продажи в отдельную категорию. В этот перечень вошли косметика, нелекарственные препараты (витамины, например), медтехника. Таким образом, первая задача сайта была информативная – инструкции пользования + фотографии, вторая – продажа разрешенного в онлайне ассортимента товаров.

Сайт был реализован на «Битриксе» и интегрирован с 1С. За хостингом для сайта мы обратились к одному из украинских хостеров. За время тестирования нам ни разу не удалось выгрузить весь каталог. После неудачи мы подумали что проблема в том, что «нам попался такой хостинг». Ок, попробовали другого вендора – и снова выгрузка каталога не получилась ни разу. Подозрения о том, что что-то не так с нашим ПО быстро развеялись (протестировали на своем виртуальном сервере – все заработало).

Пришлось заняться поиском хостинг-провайдера, мощности которого могли бы выдержать нагрузку нашего объемного товарного каталога. После 2 неудачных попыток с украинским хостингом было решено попробовать хостинг от европейского провайдера. Приняв это решение мы ни разу не пожалели! При загрузке каталога уже у хостера SIM-Networks мы с первого раза все сделали без проблем и задержек. С тех пор четыре года работы с этим хостингом прошли успешно.

Вынесение в аренду других частей нашей IT-структуры

Помимо сайта, в виду – скажем политкорректно – «некоторых действий» контролирующих органов (вспомним 2013 год), мы хотели обезопасить нашу инфраструктуру, нашу ERP-сеть, наши данные. Для этого решили пробовать вынос инфраструктуры в «облако». Наши сервера не справлялись с пиковой нагрузкой и нужно было увеличивать мощности. В частности, речь шла о потоковой загрузке документов. Первоначально была идея на наших собственных серверах перейти с SAS-дисков на SSD, но, просчитав стоимость такого перехода, мы поняли, что гораздо выгоднее нужные мощности арендовать. С теми темпами роста, как у нас, докупать дорогостоящее оборудование нужно будет каждый год. Естественно, такая стратегия совсем не выгодна.

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

Провалы в доступе от украинского хостинга — как это было

Это было «впечатляюще». Например, производительность инфраструктуры падала до нуля где-то на 1-3 минуты, а затем быстро «поднималась». И эта, вроде бы, небольшая задержка порождала снежный ком еще больших временных задержек и становилась причиной серьезных нарушений наших бизнес-процессов.

В конкретной ситуации проблема выглядела так: падение на хостинге «всего лишь на 3 минуты» выстраивало большую очередь к нашей БД (подвисали все пользователи), система 1С могла за эти 3 минуты выбить блокировку и все пакеты документов торговых точек и отделений сбрасывались. Приносило ли это неудобства? Да все были просто «счастливы» – топали ногами и ругались на чем свет стоит! На уровне конкретного работника все развивалось как добротный триллер. Предположим, некий менеджер загружал несколько накладных, и при сбое не знал – прошла проводка или нет? Как и многим другим коллегам в то же время, этому менеджеру приходилось все загружаемые проводки удалять и вручную вбивать незагруженные накладные. Это был такой вечный, нудный, раздражающий и никому не нужный процесс. Ежемесячный оборот нашей сети составлял примерно 50 000 000 гривен, а из-за таких провалов компания могла потерять до 10%, то есть до 5 000 000 грн в месяц!

Не желая делать антирекламу, мы не станем называть эти компании-хостеры.

Наша пиковая нагрузка – это примерно 700 пакетно загруженных документов утром, с 9:30 до 11:00, и столько же во второй половине дня: с 15:00 до 17:00. Ежедневно (каждый рабочий день) выходило порядка 15000 документов. Весь объем документов загружался в одно и то же время и подвергался разным обработкам — проверка одной накладной могла осуществляться по 20 (!) позициям.

Нужно сказать о своеобразной сезонности таких сбоев на украинском хостинге: как правило, они случались в начале-конце месяца (где-то 10 дней), середина месяца (очевидно, когда все сдавали документы в пенсионный фонд), 20-е числа (время сдачи налоговых документов).

Было заметно, что хостер не рассчитывал на одновременное использование всеми клиентами всех арендуемых мощностей. Как результат – ресурс, гарантированный вендором, заказанный и оплаченный нами, предоставлен не был! Не было провалов, очевидно, только тогда, когда наши соседи по хостингу не пользовались серверами.

Так вот, мы очень долго доказывали хостеру, что эта проблема живет на их стороне: запускали мониторинг, писали письма о сбоях. И только после года таких мучений компания хостер согласилась купить «специально под нас» SSD-полку в свой ЦОД. Но расслабляться было рано.

Миграция наших данных на эту полку была сделана ужасно. Провайдер обещал перенести базу всего за сутки, на выходных. В воскресенье в обед реструктуризация новой полки еще не была закончена и мы попросили все вернуть обратно, на что получили ответ: «А мы перенесли, смотрим система поднялась, и поэтому старую БД удалили». Хостер решил удалить эти данные, так как считал, что миграция уже произошла и хранить их уже не обязательно! Мы были в шоке. То есть еще до того, как полностью была реструктуризована новая SSD-полка, они убили всю исходную БД, а нам уже нужно запускать в работу всю нашу ритейл-сеть.

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

Мы уже готовы были взять у этого хостинг-провайдера физическое оборудование в аренду, на что хостер нам сказал, что нужно порядка $85 000 и предложил самим купить это оборудование для установки в их дата-центр. Такой вариант, конечно же, нас не заинтересовал.

В поиске решения мы тестировали разные хостинги, и наши и европейские, и видели разницу:

  • На наших собственных серверах 100 накладных загружались за 16 минут. Если посадить 5 человек, которые будут загружать 100 накладных – это растягивалось до 2 часов и эти 16 минут превращались в 40 минут-1 час.
  • На SSD-хостинге отечественного провайдера тот же пакет документов загружался за 9 минут.
  • При SSD-хостинге в европейском дата-центре все загружалось приблизительно за 4 минуты. Главной задачей, которую мы решали, была ликвидация очередей к БД, и на арендуемых у провайдера SIM-Networks мощностях нам удалось добиться нужного результата.

После накопленного неудачного, но крайне полезного опыта, мы решили арендовать у европейского хостинг-провайдера уже не виртуальную, а физическую инфраструктуру. На нее компания перенесла не только основные 1С-сервера. После успешного опыта использования, мы дополнительно взяли в аренду 2 резервных сервера, плюс перенесли кластер, включающий IT-инфраструктуру, файловый сервер, Microsoft Exchange. В целом, мы взяли в аренду несколько серверов и полку в ЦОДе.

О экономической целесообразности аренды мощностей для IT-инфраструктуры

На то время, когда мы задумались о переходе на SSD, наши сервера уже служили нам 3 года, гарантия от производителя как раз заканчивалась (next business day) и ее нужно было продлевать. Эта гарантия ежегодно требовала около 300 000 гривен (примерно $25 000 на то время) плюс расходы на электроэнергию. Расчеты показывали, что при самостоятельной покупке всего нужного оборудования мы выйдем «в ноль» покрытия капитальных затрат только через 3,5 года. Учитывая постоянное развитие компании, сумма затрат на увеличение мощности нашей IT-инфраструктуры могла бы увеличиваться в геометрической прогрессии.

В итоге аренда этого же оборудования у хостинг-провайдера выходила ненамного дороже, но это без забот о:

  • продлении и покупке гарантии;
  • увеличении физических мощностей (апгрейд оборудования);
  • расходах на электроэнергию.

Мы идем в облака!

Мы снова хотим расширяться, так как нам уже не хватает мощности, и серьезно рассматриваем вариант с облаком. Опасений перехода в облако у нас нет, так как на своем опыте мы убедились: не так важно, где арендовать, важно у кого арендовать и выбрать надежного провайдера услуг.

Андрей Семенюк
IT-директор сети аптек D.S. (Маркет Универсал ЛТД)

История нашего хостинга и перехода в облака

  1. 2012 год – хостинг сайта dska.com.ua, неудачные попытки выгрузить весь каталог на украинский хостинг, хостинг сайта в SIM-Networks.
  2. 2013 год – планы перехода с собственных SAS на собственные SSD (экономически не выгодно), перенос базы данных компании в украинский ЦОД, провалы во время работы (нарушение бизнес-процессов) в течение года.
  3. 2014 год – выделение полки SSD в украинском ЦОДе, факап на неделю во время переноса БД, переход на SSD-хостинг в SIM-Networks – перенос БД, 1С-серверов.
  4. 2015 год — после успешного опыта использования, взяли в аренду несколько резервных серверов, перенесли кластер (IT-инфраструктура), файловый сервер, Microsoft Exchange.
  5. 2016 год – в планах полностью перейти на облачную/арендуемую инфраструктуру в SIM-Networks.