Источник: «Инфосистемы Джет»
Источник: «Инфосистемы Джет»

Это было в 2016 году. У одного крупнейшего в России ритейлера стояла глобальная задача перейти на новую ERP-систему. Поскольку основные усилия были сосредоточены на перестроении бизнес-процессов, заказчик решил отдать задачи по ИТ на аутсорс и обратился к нам. Мы предложили ему комплексную услугу по аутсорсингу и аренде инфраструктуры, куда входили СХД, СРК, СУБД, виртуализация, физические серверы, сетевая инфраструктура.

После того, как завершился начальный этап внедрения продуктива, выявились ряд проблем, которые потенциально могли влиять на производительность и отказоустойчивость созданной системы. И таким «узким местом» стала виртуализация. О том, почему мы решили уйти от enterprise-решения на Open Source, а также почему этот опыт в текущих реалиях может быть полезным, мы и собираемся рассказать в сегодняшнем посте.

Великий и ужасный Open Source

Заказчик полностью доверился нашей экспертизе в части подбора оптимальных для него по стоимости и производительности инфраструктуры и софта. Флагманом корпоративного сегмента виртуализации на тот момент был VMware — удовольствие не из дешевых, но и продукты с открытым исходным кодом изначально мы не рассматривали, поскольку отдавали себе отчет в том, что не готовы взять на себя риски, оставшись с проблемой один на один, без участия вендора. Поддержка профессионального коммьюнити казалась чем-то далеким и ненадежным. В итоге мы сделали выбор в пользу Oracle VM, у которого техподдержка стоила адекватных денег, вендор позиционировал его как enterprise-продукт, и по функционалу он не уступал проприетарным решениям.

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

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

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

И мы, и заказчик уже отчаялись бороться с «ветряными мельницами», поэтому нам пришлось рассматривать для этого проекта альтернативное решение.

Чтобы сохранить требуемые SLA, мы предложили удачно показавшее себя в тестировании решение oVirt, которое выигрывало в надежности и производительности. Эта Open Source платформа на тот момент уже достигла технологической зрелости и в ней были устранены основные баги, в частности, связанные с работой Windows.

Сроки проекта по модернизации поджимали, а решение проблемы от Oracle VM так и не поступило. Решили совместить миграцию со сменой платформы виртуализации, чтобы наверстать упущенное время. С заказчиком удалось быстро согласовать ряд критически важных параметров времени простоя, и миграция прошла за рекордно короткие сроки – всего за две недели.

Риск — дело благородное

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

Резюмируя этот кейс, хотим отметить, что заказчик оказался доволен виртуализацией на Open Source, более того, если ранее он располагал свои системы на общей ферме вместе с другими нашими клиентами, то теперь у него две собственные фермы для продуктивных систем, тестов и разработки под управлением oVirt. И системы продолжают уверенно расти и развиваться и по сей день. Безусловно, такое решение является отказоустойчивым и надежным.

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

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

На нашей практике этот пример — весьма уникальный. На российском рынке достаточно компаний, готовых развернуть виртуализацию на Open Source. Однако разместить на oVirt крупную ERP-систему? С таким опытом мы не сталкивались. Мы считаем, что можно смело располагать продуктивные системы любого объема и тесты на таком решении — это не повлечет особых рисков, но позволит существенно сэкономить бюджет.

Разворачивали ли вы продуктивные системы на Open Source продуктах? С какими трудностями вам пришлось при этом столкнуться, и, главное, как их удалось обойти?

Jet Service Team

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


  1. ruomserg
    01.11.2022 10:43

    Я не понимаю увлечения продуктами гигантов типа Оракла. Они хороши в том случае, если вы сможете заказчику показать что проблема на стороне поддержки вендора - а заказчик скажет "а-а, ну ладно - тогда ждем", и пойдет ждать. Или, в более грубой формулировке: "... за покупку мейнфрейма от IBM еще никого никогда не увольняли!".

    А если вам работать надо - то с продуктом с исходниками вы хоть что-то можете сделать (потратив время и ресурсы) - а с закрытым продуктом ваш вариант один: есть то, что дают...

    На бытовом уровне - у каждого же есть кухня в квартире, да ? Хотя кто мешает вам заключить договор и есть еду из ресторана каждый день ? Даже в СССР пробовали построить дом с фабрикой-кухней - но не взлетело. Потому что когда вы готовите на кухне и получилось невкусно, то можно внести коррективы и сделать вкуснее. А если вам приносят готовое в коробочке - можете, конечно, не есть - но следующая еда только завтра... :-)


    1. ivoronin
      01.11.2022 12:17

      Потому что бизнесу где-то нужно провести черту между "с этого места делаем сами" и "купим уже готовое" в цепочке создания конечного продукта. Например в вашем примере с кухней вы готовите из готовых полуфабрикатов ("Я не понимаю увлечения продуктами из магазинов типа Ашана!"): по вашей квартире не ходят куры, а в прихожей не колосится пшеница. Как правило граница проходит там где стоимость промежуточного результата становится завышенной (например из-за малого масштаба производства) И/ИЛИ получаемые выгоды от переизобретения чуть улучшенных велосипедов становятся несущественны. Для большинства бизнесов разработка собственных инфраструктурных продуктов и инструментов находится далеко за этой чертой.


      1. ruomserg
        01.11.2022 12:45

        Это да - но мне кажется, что граница должна проходить в точке, где поставщика одного решения можно заменить на поставщика другого решения. Если завтра мне не продадут мясо в Ашане, я пойду в другой магазин, или на рынок. Аналогично, например, не надо создавать в организации интернет-провайдера если нужны услуги связи. Но если осознается критичность некого продукта для бизнеса - он должен быть или внутри периметра контроля, или должны быть доступны поставщики с возможностью переключения с одного на другого. В случае с ПО - обычно поставщики не любят давать вам возможность переключения (а любят, наоборот vendor lock-in). И лучше бы в таком случае иметь продукт с исходниками, и покупать на рынке услуги разработчиков при необходимости...