Эксперты DataLine:
Необходимо переформатировать мышление, чтобы перевести приложения в контейнерный мир
На вопросы TAdviser по контейнерной технологии, новому облачному сервису компании, ответили Антон Гуденко, директор по развитию продуктов, и Михаил Соловьёв, директор по инновационному развитию, DataLine.
Недавно компания запустила новый облачный сервис KuberLine на базе Kubernetes. Что это за сервис? Для чего он предназначен?
Антон Гуденко: Мы предоставляем клиентам готовый кластер контейнеров под управлением Kubernetes. Кластер развернут в нашем облаке CloudLine. Услуга предоставляется по сервисной модели.
Какое место в эволюции ИТ занимает технология контейнеров? В чем ее достоинства?
Михаил Соловьев: Технология контейнеров – следующий шаг после виртуализации. Контейнеры позволяют существенно снизить время вывода новой услуги на рынок (time to market), сократить время выкатки обновлений для компании – разработчика софта. Контейнеры также позволяют быстро масштабировать сервисы, поэтому большой бизнес уже сегодня пользуется этой технологией в продуктиве.
Антон Гуденко: Контейнеры также полезны с точки зрения обеспечения высокой надежности за счет механизмов автоматической регенерации контейнеров в случае их отказа. Эти механизмы изначально заложены в технологии контейнерной виртуализации.
Существует, как известно, два вида контейнеров – старые LXC и новые Docker, Rocket и некоторые другие. В чем суть новой технологии контейнеров?
Михаил Соловьев: Суть новых контейнеров в следующем: имеется приложение, обычно – микросервис. Для работы этого приложения формируется контейнер, в котором устанавливается специализированная операционная система. Причем это не ОС общего назначения, а монолитная, атомарная ОС, которая позволит запустить одно-единственное приложение. Дальше в этом контейнере, поверх операционной системы, устанавливаются необходимые библиотеки и само приложение. Вся эта процедура выполняется автоматически, из кода, в котором и описан алгоритм создания контейнера. Этот контейнер, в отличие от физического сервера или виртуальной машины, не предполагает возможность администрирования – нельзя обновить операционную систему, поставить антивирус, в нем невозможна работа пользователей. Контейнер либо работает, либо нет, обновление как состояние для него вообще не предусмотрено.
В основе атомарных ОС – Linux?
Михаил Соловьев: В основе операционных систем для контейнеризации – Photon OS, Alpine – действительно лежит Linux, но следует помнить, как мы уже говорили выше, что они принципиально отличаются от любой ОС общего назначения, включая Linux, поскольку не имеют интерфейса, не требуют обновления и так далее. Кроме того, поскольку Microsoft тоже идет к контейнеризации, поверх контейнерных ОС можно запускать, в том числе и приложения .NET Core, переносить в контейнер приложения, сделанные на стеке Microsoft.
У любой технологии есть проблемы или узкие места. Есть ли таковые у контейнеров?
Михаил Соловьев: Основной недостаток контейнеризации состоит в том, что необходимо переформатировать мышление с тем, чтобы перевести монолитные приложения в контейнерный, микросервисный мир. Второй недостаток – контейнеризация только начинает развиваться, появляются разные системы оркестрации Dockers – в том числе Kubernetes, которую компания Google не так давно выпустила на рынок. Сама среда Kubernetes, контейнеры Docker очень быстро развиваются, за этим тоже надо внимательно следить и быть готовым к изменениям. В этом мире сейчас происходит революция, появляется много абсолютно нового. Соответственно, необходимо менять приложения, подходы к написанию кода, к администрированию и эксплуатации информационных систем.
Поговорим о предыстории выпуска новой облачной услуги. Когда и почему пришло понимание, что российскими заказчиками будет востребован сервис на базе Kubernetes?
Михаил Соловьев: Сервисы мы выстраиваем двумя путями. Первый – ищем на рынке компоненты, на которых возможно построить новый сервис. Второй путь – внимательно изучаем опыт наших заказчиков, какие сервисы ими уже востребованы. Так мы увидели у себя одного заказчика, который на облаке CloudLine развернул кластер Kubernetes почти из сотни машин, самостоятельно осуществляя управление контейнерами. На этом кластере сегодня работает очень востребованное приложение, которым пользуются миллионы граждан РФ. После этого мы по-новому посмотрели на задачи, которые мы помогаем решать нашим заказчикам на облаке CloudLine, и поняли, что нужно сделать облачный сервис, в рамках которого мы могли бы предоставлять заказчику услугу по управлению контейнерами.
Антон Гуденко: Мы увидели, во-первых, что начинает формироваться сама технология контейнеризации, а во-вторых, растет интерес к ней со стороны рынка. На стыке этих двух векторов мы и поняли, что именно надо сделать, задались целью создать соответствующий сервис и создали его.
Существуют ли на рынке другие платформы для управления контейнерами? Почему выбор был сделан в пользу Kubernetes?
Михаил Соловьев: Платформы для управления контейнерами существуют – Dockers Swarm, Mesos, Consul и ряд других, самой массовой из них до последнего времени была Dockers Swarm. Однако, с появлением Kubernetes, эта открытая технология от Google стала лидером рынка и де-факто стандартом. Большинство платформ начинают либо переходить на Kubernetes, либо использовать эту технологию.
Антон Гуденко: По разным оценкам, 60 – 70% кластеров работают сегодня на Kubernetes, поэтому вопрос выбора платформы для реализации нового облачного сервиса если и стоял, то очень недолго.
А что касается выбора конкретного решения для построения кластеров Kubernetes?
Михаил Соловьев: Мы рассматривали несколько поставщиков решения, и сделали выбор в пользу Containerum от компании Exon Lab. На его базе мы способны обеспечивать прописанные в SLA уровни доступности и качества сервиса KuberLine.
Что включала в себя подготовка услуги к выводу на рынок?
Антон Гуденко: Подготовка включала, в первую очередь, формирование видения самого продукта на базе исследования интересов наших клиентов. Затем мы искали партнера, компанию – разработчика, поскольку DataLine является в первую очередь инфраструктурной, сервисной компанией. Далее следовало апробирование различных платформ, предлагавшихся партнерами, на нашей инфраструктуре. Как итог – выбор решения Exon Lab, сборка решения и формирование продукта KuberLine.
Вернемся собственно к новому облачному продукту. На кого ориентирован сервис KuberLine?
Антон Гуденко: Кластерами на основе Kubernetes пользуются сегодня компании самого разного масштаба и профиля деятельности, представители самых разных индустрий, и за рубежом, и в России. Самые известные из российских – авиакомпания S7, Аэрофлот, Сбербанк, Avito, из числа международных брендов – Amazon, Deutsche Telekom, eBay и многие другие. Сегодня можно выделить два основных сценария использования сервиса KuberLine. Во-первых, сервис интересен компаниям с высокой динамикой разработки своих программных продуктов. Второй сценарий – использование сервиса компанией, активно работающей в интернете, имеющей высоконагруженные приложения с неоднородным трафиком со стороны пользователей.
Михаил Соловьев: Важный показатель – срок вывода на рынок обновления или услуги. Если требуется, чтобы релиз переходил в промышленную эксплуатацию в течение минут, в этом случае без Kubernetes не обойтись. Еще одна группа, заинтересованная в сервисе, – компании, работающие в рамках мировых альянсов. Когда международная компания переходит на новые технологии, сотрудничающие с ней структуры тоже должны переходить на них. Например, когда французская Sabre, занимающаяся бронированием авиабилетов по всему миру, перешла на Kubernetes, то же самое вынуждены были сделать S7 и Аэрофлот. И еще одна проблема, которую помогает решать контейнерная технология, состоит в следующем. Раньше разработчик поставлял приложение заказчику в виде дистрибутива, сопровождаемого инструкцией по установке и использованию. Приложение, поставляемое в виде контейнера Docker, который разворачивается в среде Kubernetes, готово к запуску, оно не требует никакой настройки. Это увеличивает скорость приема приложения от разработчика, что полезно даже для таких, в общем случае, неповоротливых заказчиков как банки.
В чем различия двух вариантов предоставления сервиса – Open Cluster и Ready Cluster?
Антон Гуденко: Вариант Open Cluster – классический сервис предоставления кластеров в том виде, в котором его предоставляют сегодня Mail.Ru, Google или Amazon. Он предназначен для компаний, умеющих самостоятельно администрировать кластеры Kubernetes, обеспечивать их доступность и работоспособность. В этом случае мы собираем для клиента кластер контейнеров и передаем ему бразды управления. Разумеется, это требует наличия в штате клиента специалистов довольно высокого уровня. Сервис Ready Cluster нацелен на компании, которым интересны преимущества Kubernetes, но самостоятельно заниматься администрированием, обеспечивать их работоспособность они не могут или не хотят. Эти функции в данном случае берет на себя наша компания, причем подписывается жесткий SLA.
Расскажите о параметрах SLA?
Антон Гуденко: В рамках SLA, в качестве основных параметров, мы гарантируем доступность на уровне 99,95%, время создания и удаления групп контейнеров (т.н. pod) в пределах двух минут – а это, по сути, и есть время горизонтального масштабирования, обеспечивающее высокую гибкость технологии и готовность к изменениям в кластере. Дополнительно, мы гарантируем, что время восстановления работоспособности кластера, в случае критической аварии, не превысит 120 минут. Кроме того, предоставляется возможность использования дисковых подсистем совершенно разного уровня. Таким образом, кластер можно собрать под любую задачу клиента. Главное – понять его потребности, для чего мы проводим с клиентом интервью, в ходе которого узнаем, какие именно задачи предстоит решать.
Михаил Соловьев: В дополнение хотелось бы подчеркнуть – поскольку клиентский кластер Kubernetes разворачивается поверх облака CloudLine, конечные размеры кластера практически не ограничены. Мы гарантируем любое количество рабочих и мастер-узлов, любую разумную их конфигурацию. Кроме того, как крупнейший в России коммерческий дата-центр, мы способны обеспечить любую сетевую связанность, необходимую для высоконагруженных приложений.
Есть у сервиса KuberLine конкуренты на рынке? В чем его преимущества?
Антон Гуденко: Если рассматривать услугу по варианту Open Cluster, конкуренты на российском рынке имеются, самый известный из них – Mail.ru. Модели предоставления сервиса идеологически схожи, однако мы считаем, что в нашем варианте сервис более подходит для решения операционных и продуктивных задач клиента. А вот аналогов сервиса по варианту Ready Cluster, с таким же глубоким SLA и готовностью принять на себя штрафные санкции, на рынке мы пока не видим. Так что можно сказать, что прямых конкурентов у Kuberline по варианту ready cluster на рынке сегодня нет.
Сколько клиентов пользуется сервисом сегодня? Кто они?
Антон Гуденко: Сервис молодой и предполагает, что клиент до подписания контракта проходит стадию тестирования и пилотирования. На сегодня в стадии пилотирования находятся четыре кластера. В числе заказчиков этих проектов есть компании – разработчики софта, крупный ритейлер.
Михаил Соловьев: Мы приглашаем заказчиков обращаться к нам, тестировать услугу. Нам важно понимать, чего хочет клиент, насколько наше предложение соответствует запросам рынка. Вместе мы способны выработать правильную конфигурацию услуги. Хотел бы подчеркнуть, что новизна сервиса и технологии, не отменяет того факта, который упоминался выше – уже сегодня у нас имеются клиенты, использующие Kubernetes в продуктиве на облаке CloudLine.
В завершение беседы – планы по развитию сервиса на 2019 год?
Михаил Соловьев: В планах – своевременная миграция на новые версии дистрибутива Kubernetes после их принятия сообществом разработчиков. Это важно, поскольку продукты развиваются и нужно использовать новые возможности. Дальше – следование требованиям наших клиентов по получению ими дополнительных сервисов, будь то сетевая связанность или быстрые диски.
Антон Гуденко: На сегодня, в первом релизе нашего сервиса KuberLine, обеспечивается его автоматическое гибкое масштабирование в рамках заранее выделенного ресурса мощностей. В дальнейшем мы планируем расширить возможности сервиса за счет автоматического добавления мощностей.