OpenStack «забирается в коробку»: взрослея, платформа принимает классические формы (портал GlobalCIO, октябрь 2016)

10.10.2016

Время — деньги. Быстро, качественно, недорого — три компонента, сочетания которых ждут в каждом ИТ-проекте. Насколько реально обеспечить эту желанную комбинацию в проектах на OpenStack? Дмитрий Демидов, директор департамента облачных разработок компании "Сервионика" (ГК "Ай-Теко"), в колонке для портала GlobalCIO рассматривает ситуацию с точки зрения всех трех заинтересованных сторон: компании-разработчика, клиента и непосредственно разработчиков.

demidovКакие выгоды получает компания-разработчик, «Сервионика» узнала на собственном опыте коммерциализации своих разработок на OpenStack: облачный конструктор MakeCloud и платформа виртуализации «РУСТЭК» уже не первый год успешно работают в режиме коммерческой эксплуатации. Стратегия развития нашей разработки определяется тем, что заказчик чаще всего ожидает от нас продукт на платформе OpenStack, который можно развернуть на стороне клиента как можно быстрее —скажем, за несколько часов. Поэтому мы создаем средства запуска OpenStack, не требующие «ручного» развертывания.

Принципиальное отличие нашего решения в том, что из коробки мы развертываем для заказчиков не просто OpenStack-платформу, а готовые продукты на OpenStack, включая рабочую ОС. Ни один из представленных сегодня на рынке инсталляторов подобные задачи не решает. Этот подход позволяет весьма значительно (в десятки раз) сократить срок запуска проектов на базе OpenStack. В зависимости от задач заказчиков, «Сервионика» обеспечивала 20-тикратное сокращение временных затрат на развертывание и поддержку новых сервисов, 10-кратное ускорение процессов разработки и тестирования, а также 2-3-хкратное повышение эффективности, снижение затрат на использование виртуальных ресурсов.

Один из путей, которыми мы достигали таких результатов — сокращение сроков тестирования сборок. Хитрость состояла в том, чтобы оно не было в ущерб качеству этого важного этапа! Ранее на развертывание и тестирование в каждом проекте уходило примерно 4 дня, по сути, оно было «узким горлышком». Прибавьте сюда необходимость проверки работоспособности продукта для разных конфигураций инсталляции, каждая из которых требует отдельного тестирования... В поисках резервов для экономии времени мы перешли на автоматизированное тестирование, что позволило вместо минимально необходимых 16 часов «ручной» работы (стандартный показатель прохождения функциональных испытаний вручную) тратить всего 2-3 часа машинного времени, без участия человека.

В результате изменился алгоритм работы: раньше разработчики ждали отклика от тестировщиков около 4 дней (почти вся рабочая неделя), а теперь — лишь половину рабочего дня. То есть, с утра мы можем внести изменения в продукт и уже к вечеру понять, насколько они успешны , причем на основании точного и комплексного тестирования, а не оценок разработчиков «в первом приближении» или «у меня работает». Подобная скорость внесения изменений и получения обратной связи является мощнейшим мотивирующим фактором для команды разработчиков. Люди понимают, что их время высоко ценится, рутинные процессы перекладываются на машины, а все усилия сфокусированы на создании добавленной ценности для заказчика.

Автоматизация развертывания OpenStack позволила полностью изменить процесс взаимодействия инженеров, тестировщиков и разработчиков. Мы добились того, что развертывание стало практически таким же простым, как запуск Windows — и это привело к реструктуризации наших собственных ресурсов. Ранее люди требовались на каждом этапе — от собственно разработки до тестирования, инсталляции, развертывания и техподдержки проекта. Соотношение «разработчик-тестер» составляло 1:1. Сегодня этот показатель может быть доведен до 5:1. Это дорого, поэтому целесообразно только в разработке продуктов, где цикл тестирования многократно повторяется в течение долгого времени.То же касается и внедрения. Если раньше нам были нужны супер-обученные, сертифицированные инженеры, специалисты по внедрению OpenStack, то сегодня для развёртывания и ввода платформы в эксплуатацию достаточно одного инженера общего профиля (2-й линии).

Сегодня мы идем путем «коробочного» решения. Для того, чтобы развернуть всю полноту функционала, требуется всего лишь уметь инсталлировать готовый продукт. Это совершенно другой уровень затрат на команду и другой принцип выстраивания отношений внутри коллектива в плане распределения обязанностей, проектных ролей, например, мы смогли значительно усилить службу технической поддержки, сделав ее круглосуточной. Выйдя на этот уровень сервиса, мы можемуспешно конкурировать в России с такими грандами, как VMware, и усилить наш авторитет как компании-разработчика. Понятно, что повышение уровня автоматизации этих процессов в конечном итоге выгодно для всех сторон, вовлеченных в OpenStack-проект.

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

Например, заказчик может заказать нам разработку дополнительной функциональности, усиливающей возможности коробочного решения. В случае использования проприетарных продуктов типа VMware такой вопрос вряд ли возникнет, но в случае решений OpenStack подобные доработки возникают практически в каждом проекте. И здесь скорость изменений — та самая, которая в 4 раза выросла за счет сокращения тестового периода —играет огромную роль. Существенно сокращается время, необходимое на получение обратной связи после внесения всех изменений, поскольку на этапе тестирования можно провести необходимые «замеры» на конкретном участке или этапе, а не на всем объеме внедряемого решения. Сравним это со стандартным подходом, где полная сборка занимает сутки, а в случае операционной системы семейства Linux компиляция может продлиться и две недели.

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

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

Недаром одним из ключевых трендов глобального сообщества OpenStack с недавних пор является стандартизация продуктов и сертификация разработчиков. Эти меры помогут выстроить единые правила и стандарты, обнаружить и закрепить лучшие проектные практики, а также создать условия для выработки новых путей оптимизации работы. В нашей команде мы также работаем над сертификацией специалистов, а все новички проходят «курс молодого бойца» под руководством более опытного коллеги (или коллег). Безусловно, это инвестиции компании – и важно понимать это, преодолевая миф о бесплатности открытых решений. Чтобы поддерживать на высоком конкурентном уровне как скорость, так и качество, не говоря уже о цене, необходимо создать эффект «невидимой части айсберга»: компания годами инвестирует в себя и в качество разработки, чтобы в итоге предлагать на рынке результат выстроенных рабочих процессов, контроля качества и сервисной корпоративной культуры: готовое решение на OpenStack. 

Обсудить публикацию можно на портале GlobalCIO

Назад к разделу "Публикации"