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

10192
32

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

Пару слов о нас: сеть аптек «ДС», 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.

Оставить комментарий

Комментарии | 32

  • зачем тут реклама московского хостинга? кто захочет, тот и в гугле найдет

  • Вы прочитали развесистую рекламу провайдера. И антирекламу 1С.

    • Антиреклама хостинг провайдерам.
      А по поводу 1С и Битрикса, просто упомянули какие инструменты используют в своей работе, что есть лучшим решением в текущее время.
      А по железу, да, к этому вопросу надо подходить отдельно.

      • Мммм… Мне тяжело себе представить КАК надо сделать синхронизацию с сайтом (выгрузку данных — что угодно) что бы 6000 товаров представляли проблему.
        Но меня Бог миловал — последний раз 1С видел лет 10 тому назад и желанием возбоновлять знакомство не горю :).

      • 1C ок (наверное там нет альтернатив)

        Но битрикс?!?!
        Синхронизации с 1С в ряде ЦМС-ок есть

        • Чем же так плох для вас Битрикс?

          • всем =)
            я в принципе не люблю цмс-ки, а тем более закрытые — платные и тормознутые где 6000 айтемов на 500хитов мега хайлоад

            Битрикс какой то символ откатинга уже стал
            когда делают на нем сайты на 20 страничек (где с головой вордпресса хватило бы) вообще мрак

            от него многие отказываются (что гуд)

            с другой стороны — вопросы решает битрикс — ок!
            Пусть пользуются — но говорить что он идеален — ой как не стоит…

            чуток зрады еще
            в теперешних условиях это еще и деньги на патроны врагу (а прикиньте они там в свой битрикс код путина вклепали =) часть кода там закодировна ж — нада бы вообще запрет ввести на такие ИТ решение закрытые =) )

  • Спасибо за кейс: почему не стоит выбирать 1С.

    • 1С тут зовсім в стороні. Сія повєсть про те як наш бізнес/ІТ підходять до своєї справи.
      Yuriy Zhukovskiy все правильно написав.

    • Вообще то описан кейс неудачного хостинга.
      А по поводу 1С или 1С Битрикс, так на текущий момент это лучшие решения, как для бухгалтерии, управления торговлей или же использования платформы для разработки интернет магазинов.

      • Ну не знаю, 111 торговых точек, 100 накладных одновременно и 15 000 документов в день совсем не выглядит как большой объем данных с которыми не справляются облака. Но зато выглядит как прожорливый софт, которому нужно очень много и производительных серверов.

  • Корячились за пару ссылок с рефами?

  • Это просто «Ода непрофессиональному подходу к IT» какая-то, а не PR материал :-(.
    1. Что мешало перед тем, как делать попытки загрузить каталог — у себя на сервервере снять PerfMon потребности, и зафиксировать это в Договре SLA с провайдером в виде времени открика дисковой подсистемы в ms, потребности в IOPS и т.д.?
    2. Выглядит странным невозможность загрузить каталог всего в 6000 позиций. Там стоит простой парсер. Потому вопрос — а где располагался файл для загрузки? Физически на том же сервере и диске, что и БД? Или тянулся по ftp?
    3. Миграция в облако всех ключевых серврвисов без минимум месяца тестовой эксплуатации вообще выглядит… слегка авантюризмом.
    4. Если используется 1С, то не очень понянтно, как удавалось «загрузить частично», т.к. при загрузке данных из внешней системы используется транзакция, она или прошла, или не прошла полностью.
    5. Даже не понял, где нашли таких провайдеров (у всех мне известных… ну как бы такое маловероятно).

  • Статья из серии как некомпетентный человек заведовал айти в аптечной сети.
    «Дисковая полка SSD» — решение явно для гламурных пацанов.
    700 документов в день — грусть тоска.
    1800 трнзакций в секунду за ПОРЯДКИ меньшие деньги и в Украине — такое уже давно есть, а они по заграницам бегают.

  • Эм… что-то цифры уж совсем маленькие за такие деньги.
    Даже мы ворочаем базами в 25 млн товаров на 1-2 серверах за 39 евро/месяц… и это даже не много…

  • Слабенькая реклама говнобитрикса.

    — Где можно оправданно использовать Битрикс?
    — В анекдотах.

  • Лучше OVH ничего нету, монополист же, десятки видов серверов от atom за 5 евро до i7-6700k за 70, даже xeon’ы с видеокартами за тысячу баксов.

    Вот сравнить:
    https://www.sim-networks.com/dedicated
    А вот в OVH:
    https://www.soyoustart.com/ie/essential-servers/
    https://www.ovh.ie/dedicated_servers/

    Какие цены больше нравятся? А 256 IP по 2 евро за IP на весь период заказа. До 2020 точно захватят весь мир. Новые 3 ДЦ недавно открылись.

    У меня несколько десятков аккаунтов заполненных серверами. Кому надо закупить обращайтесь, куча карточек сделано и аккаунтов. [email protected].

  • А на тему факапов ну это называется раковство и не более. Вот они наемные рабочие какие ничего не умеют.

  • У вас видимо проблемы были не в хостинге а в кривости работы вашей загрузки. Провести бы серьезную оптимизацию и все поправилось бы. Не знаю как там у вас обрабатываются данные, но если процесс позволяет можно ставить данные в очередь на обработку, а когда я прочитал что все работало нормально когда другие участники не использовали сервер, так подумал что вы имеете ввиду VPS или вообще обычный хостинг — так там есть у провайдеров строчка что мол все ресурсы распределяются поровну и т.д. и вы просто упустили это из виду. Нужно было арендовать дедикейт сервак а для данных арендовать облако на 100 ТБ и тогда сервак обрабатывает файлы и вы на нем одни, а данные храняться где-то в Америке. Как-то так, но непонятно причем тут в названии статьи «неправильный хостинг» если вы просто не смогли оптимизировать эту вашу обработку.

Поиск