Х5 Group сегодня — это ведущая продуктовая розничная компания России. Под управлением Х5 находится сразу несколько торговых сетей: «Пятерочка», «Перекресток», «Карусель», «Чижик», а также сервисы экспресс-доставки, агрегатор «Около», «Vprok.ru Перекресток», 5Post. Каждый день более 17 700 магазинов открывают свои двери для 15 миллионов покупателей. Операционная эффективность всей этой инфраструктуры зависит от разнообразных цифровых инструментов, с помощью которых происходит управление работой магазинов, логистикой, складами, доставкой товаров покупателям и другими задачами.
Чтобы поддерживать нужный темп развития, от наших внутренних цифровых команд требуется постоянно разрабатывать и внедрять новые IT-инструменты, причем в короткие сроки. А это невозможно без современной инфраструктуры, которую нам надо было построить.
Мы столкнулись с тем, что инфраструктура, построенная на базе платформы виртуализации, не давала возможности так быстро выделять ресурсы отделам разработки, как нам бы хотелось, а также нужной функциональности. Например, базы данных и Kubernetes мы разворачивали вручную. Это сказывалось на скорости выпуска новых IT-продуктов на рынок.
Решить эту проблему должен был переход на облачные технологии. В облаке можно быстро получать нужные вычислительные мощности под проект, прозрачно оценивать затраты на разработку, быстро разворачивать тестовые среды и PaaS. Также в облачной среде мы смогли использовать собственную разработку, которая автоматизирует доступ к инфраструктуре и сервисам для внутренних клиентов. Благодаря ей, внутренние клиенты — разработчики, тестировщики, проектные менеджеры — получили больше прав для самостоятельной работы. Раньше с задачами они шли в службу поддержки и заводили там заявку, которая двигалась по очереди между несколькими командами. Сейчас все работает как Self-Service: автоматически, без ручного труда.
Однако публичное облако мы использовать не могли из-за строгих требований корпоративной информационной безопасности и стали смотреть в сторону приватной инсталляции.
Кроме того, расчеты показали, что в масштабах нашего бизнеса инвестиции в частное облако экономически выгоднее, чем получение сервисов из публичного облака. Также частное облако позволяет капитализировать расходы на облачную инфраструктуру. Еще одним аргументом в пользу Private Cloud стала возможность обеспечить высокий уровень доступности приложений без сильного увеличения стоимости поддержки инфраструктуры.
На этапе выбора платформы для частного облака мы проводили тендер с участием нескольких облачных вендоров, который выиграла компания VK Cloud.
Мы сделали такой выбор по нескольким причинам:
Частное облако VK Cloud может включать все технологии и сервисы публичного облака, развиваться вместе с ним — это позволяет нам получать все инновации провайдера, которые нам нужны, а также подключать множество разных PaaS- и SaaS-сервисов, необходимых нашим внутренним командам.
Построить приватное облако — это не значит просто взять публичное облако и развернуть его «из коробки» в частной инфраструктуре. Нужны были доработки под наши требования и существующие внутренние системы.
Первый этап работы над кастомизацией и основными интеграциями занял около трех месяцев. Далее в систему вносились дальнейшие доработки. Мы работали вместе с командой VK Cloud, наши специалисты детально погружались в знакомство с новым типом платформы, так как хотели сами администрировать ее.
До начала внедрения нужно было подготовить инфраструктуру. Этим занималась наша внутренняя команда, взаимодействуя с экспертами VK Cloud. Мы готовили оборудование, настраивали сеть, предустанавливали операционные системы под гипервизоры, создавали учетные записи, согласовывали доступы, настраивали интеграцию с системами ИБ, проводили кастомизацию портала самообслуживания платформы и другие технические работы. Это заняло примерно две недели. После этого приступили непосредственно к развертыванию платформы — этим занимались уже инженеры VK Cloud.
Процесс развертывания приватного облака проходит в несколько этапов. Сначала разворачивается IaaS-часть, то есть сама облачная инфраструктура с виртуальными серверами, гипервизорами под ними, подсистемами хранения, менеджментом ресурсов.
Поверх нее разворачивается PaaS, в нашем случае это были Kubernetes как сервис и управляемые облачные базы данных. При этом все сервисы были доработаны под наши основные требования, часть улучшений ожидаем в ближайшее время.
Работа по деплою IaaS и PaaS заняла в общей сложности 4–5 недель.
Чтобы частное облако работало так, как нужно нашим внутренним командам, его пришлось доработать и интегрировать с нашими системами.
Самой сложной доработкой была переделка сетевой топологии. Специалистам VK Cloud пришлось переделывать ее на лету. У нас сеть сделана по энтерпрайз-формату, ее архитектура не вполне совместима с инсталляцией публичного облака. Из-за этого переделывали половину сервисов.
В основном из-за переделки сети пришлось доработать Kubernetes aaS: сам сервис нас полностью устраивал, но из-за особенностей топологии сети он не мог работать внутри частного облака без изменений.
Также к процессу развертывания PaaS у нас были требования, связанные с информационной безопасностью. Например, по корпоративным стандартам база данных должна автоматически попадать в мониторинг, в частности регистрироваться в Zabbix, на нее нужно поставить специальные версии и использовать внутренние репозитории. Команда VK Cloud полностью пересобирала исходные образы баз данных.
Кроме того, у нас работали существующие системы типа AD, CMDB, DNS и так далее, со всем этим платформу надо было интегрировать.
Еще у нас был запрос по работе биллинга: публичное облако заточено под мультитенантную модель, когда расчеты идут отдельно для каждого клиента. У нас один отдел отвечает за утилизацию облака, поэтому требовались специальные типовые отчеты сразу по всем проектам.
Соблюдение требований информационной безопасности также требует своих доработок и интеграций.
Инженеры VK Cloud выполнили интеграцию платформы с ArcSight. Это SIEM-система: управление информацией о безопасности и событиями о безопасности. Все действия, которые происходят в инфраструктуре, должны регистрироваться в ней.
Например, произошел ресайз или удаление виртуальной машины — SIEM фиксирует, во сколько была удалена ВМ и каким пользователем.
Также настраивали EFK и Zabbix в виде специальных шаблонов, обеспечивающих расширенный мониторинг и логирование.
До ввода в эксплуатацию частное облако проходит целый раунд проверок. Наши сотрудники службы информационной безопасности провели несколько раундов пентестов информационной системы — проверяли, как и с помощью каких обходных решений можно проникнуть в нее, какие версии ПО используются, какие порты открыты и так далее.
Также проводятся проверки согласно программной методике испытаний, когда проверяются все кейсы по запуску. В проверки ПМИ входят тесты на высокую доступность (High Availability, HA), тесты отказоустойчивости, стресс-тесты выхода узлов из строя, при которых все должно сохранить рабочее состояние.
Эти процессы заняли примерно два месяца, часть улучшений еще находится в процессе доработки.
У нас сейчас развернута облачная инфраструктура с единой консолью администрирования, маркетплейсом приложений и порталом самообслуживания для внутренних заказчиков, которым также доступны платформенные сервисы, требовавшиеся компании в момент внедрения, аналогичные таким же из публичного облака VK Cloud.
В состав платформы входят следующие сервисы:
Также мы используем маркетплейс — в публичном облаке VK Cloud это витрина с SaaS-приложениями, которые можно использовать внутри платформы. Мы применяем его как витрину приложений для внутренних команд: там размещены приложения для разработки и DevOps.
Специалисты VK Cloud провели обучение по тому, как паковать приложения с помощью Git. Теперь наши специалисты сами его наполняют нужными приложениями.
Мы получили платформенные сервисы Kubernetes и базы данных, которые ранее приходилось запускать руками. Это сильно улучшило работу инфраструктурной команды — они избавились от необходимости самостоятельно поднимать СУБД и кластеры Kubernetes.
Также после внедрения облака значительно улучшились KPI: раньше ресурсы виртуализации выдавались внутренним заказчикам в течение нескольких дней, теперь — за минуты. Командам компании стало удобнее запускать пилоты, среды разработки, пересоздавать их.
Мы также интегрировали с платформой собственную разработку, которая автоматизирует доступ к ресурсам для внутренних клиентов. Благодаря ей и возможностям облака, внутренние клиенты — разработчики, тестировщики, проектные менеджеры — получили больше прав для самостоятельной работы с сервисами. Раньше с задачами они шли в службу поддержки и заводили там заявку, которая двигалась по очереди между несколькими командами. Сейчас все работает как Self-Service: автоматически, без ручного труда. Внутренние заказчики могут выбирать сервисы, смотреть демо, рассчитывать стоимость инфраструктуры под проект, что значительно ускорило процесс согласования.
Биллинг в виде системы внутренней отчетности и планирования ресурсов позволяет мониторить мощности, которые использует каждый проект, контролировать соблюдение лимитов по квотам ресурсов, формировать финансовую отчетность для точной оценки расходов по каждому проекту и оценки ROI проекта на этапе планирования.
Также выгоднее стала платформа контейнеризации за счет особенностей лицензирования решения: компания внедрила Kubernetes как сервис, который построен на Open Source-технологии. Раньше использовали OpenShift — он был дороже и с более сложной организацией доступов. Сейчас Kubernetes дает возможность внутренним заказчикам получать полноценные кластеры с возможностью автомасштабирования, что помогает гибко управлять ресурсами.
Также наше частное облако стало основой для дальнейшей автоматизации: действия на платформе можно совершать не только через UI, но и через API, что позволяет сделать слой инфраструктуры абсолютно прозрачным и работать через любые приложения.
В итоге внедрение частного облака позволило ускорить Time-to-Market IT-продуктов компании.
Следующим шагом мы видим масштабирование облачной платформы и развертывание на ней большего числа проектов по разработке IT-проектов. Основные результаты для бизнеса от внедрения частного облака: