![](https://habrastorage.org/getpro/habr/upload_files/62a/301/e84/62a301e8420f6b8de9746f54b469b8c7.png)
Привет, Хабр! Меня зовут Дмитрий Гоголев, я менеджер по развитию CMP-платформы Cloudlink. Участвую в интеграции нашего ПО у заказчиков и разработке новых фич.
Мы в Orion soft каждый день общаемся с компаниями, которые ищут замену привычным решениям для виртуализации. Однако далеко не всегда (а, точнее, почти никогда) переход на новое происходит легко и быстро. Решения класса Cloud Management Platform (CMP) упрощают этот процесс. Они дают возможность управлять разнородной облачной инфраструктурой через единый интерфейс.
Сегодня поговорим о том, зачем нужны CMP, как они помогают быстрее разворачивать виртуальные машины с разными ОС, автоматизировать рутину администрирования, плавно переходить между разными системами виртуализации и облачными платформами. Я поделюсь своим взглядом на то, как выбрать CMP, и расскажу, как мы разработали Cloudlink.
Какую задачу решают CMP
До 2022 года в большинстве российских компаний использовали одну-две системы виртуализации. Чаще всего это была VMware vSphere, иногда дополненная Open Source решением на базе KVM (например, OpenStack или oVirt) или другим коммерческим зарубежным продуктом вроде Nutanix или Red Hat Virtualization.
После 2022 года ситуация изменилась. Компании начали активнее внедрять отечественные платформы, но при этом решения зарубежных вендоров никуда не делись. Купить лицензии VMware стало невозможно, но и полностью отказаться от вросших в процессы решений получается не всегда. В результате многие компании сейчас управляют тремя-четырьмя, а то и большим количеством разных платформ виртуализации. При этом у каждой из них свой интерфейс и технические особенности.
CMP в этой ситуации помогает не разорваться организовать управление разными платформами виртуализации через единый интерфейс, создать прозрачную организационную структуру проектов и информационных систем. Со временем благодаря этому формируется надежный источник данных для CMDB (Configuration Management DataBase), так как система хранит информацию обо всех созданных заказах (ОС, ППО, сайзинг, версии) и их владельцах.
CMP избавляет от необходимости разбираться в тонкостях управления разными платформами виртуализации. Нужна виртуальная машина с Ubuntu, Astra Linux, MS Windows или даже NetWare (для особо изысканных задач)? Пользователь просто заказывает ее через портал самообслуживания, а выбор технической реализации остается за администратором.
CMP помогает также перейти с зарубежных решений на российские, если в компании стоит такая задача. Платформа делает миграцию на российские решения более привлекательной за счет модели самообслуживания, которой нет у продуктов VMware. Эта модель позволяет начать работу с разными платформами через единое окно и постепенно наращивать долю целевых решений, переводя иностранные продукты в резерв и оптимизируя число гипервизоров в пользу российских платформ.
![](https://habrastorage.org/getpro/habr/upload_files/e93/1fe/1e7/e931fe1e753c6559b4ad77731f502412.png)
CMP: кто в плюсе
Внедрение CMP помогает сократить Time-to-Market для новых сервисов, экономить на закупках за счет оптимизации использования ресурсов, снижать трудозатраты благодаря самообслуживанию, экономить время на автоматизации рутинных операций.
Вот как это выглядит «изнутри»:
Администраторы инфраструктуры освобождаются от типовых запросов бизнес-заказчиков и могут сосредоточиться на более сложных и творческих задачах;
Системные инженеры из блока ИТ-инфраструктуры могут автоматизировать часть своей рутинной работы по запросам на изменение. Например, проводить плановые типовые обновления на гипервизорах по заранее написанным сценариям;
Разработчики и OPS команды получают готовые рабочие стенды за несколько минут, что значительно ускоряет процесс разработки;
Приведу конкретный пример экономии времени из своего опыта:
До внедрения облака процесс получения рабочего окружения для разработчиков занимал от 2 до 5 недель. Вот как это выглядело:
Подача заявки на создание окружения, согласование с архитектором и ИТ-менеджером;
Создание виртуальной машины отделом виртуализации;
Развертывание ОС отделом Linux или Windows;
Установка промежуточного ПО профильным отделом;
Настройка пакетов и прав доступа системными администраторами.
Сроки сильно зависели от сложности окружения и могли достигать месяца и более. После перехода в облако ситуация кардинально изменилась. Теперь разработчик получает готовое окружение за 5-20 минут в зависимости от требований. Все шаги автоматизированы – нужно только выбрать параметры.
Специалисты информационной безопасности могут жить спокойнее: сервисы в CMP разворачиваются по заранее согласованным конфигурациям с применением необходимых политик безопасности;
Руководство ИТ-департаментов получает наглядные отчеты об утилизации инфраструктуры. CMP позволяет динамически оценивать уровень использования инфраструктурных и прикладных сервисов, что помогает своевременно планировать их масштабирование;
Владельцы бизнеса видят рост эффективности на всех этапах работы с инфраструктурой.
Дополнительные возможности: от планирования до безопасности
CMP умеют не только предоставлять типовые конфигураций ПО конечным пользователям. Они предлагают и другие возможности: планирование закупки мощностей, мониторинг расхода ресурсов, квотирование ресурсных пулов.
Чем больше инфраструктуры подключено к CMP, тем точнее можно планировать закупку новых мощностей и отслеживать использование текущих виртуальных машин в привязке к их владельцам. Так можно контролировать расход ресурсов, в том числе и аппетиты некоторых заказчиков. На основе анализа загрузки мощностей можно предложить варианты оптимизации расходов при отклонении от пороговых значений утилизации CPU.
![](https://habrastorage.org/getpro/habr/upload_files/86d/584/871/86d584871318611341a932ba3d2e46a4.png)
![Пример графиков, которые помогут планировать закупку новых мощностей, опираясь на текущее потребление виртуальных ресурсов Пример графиков, которые помогут планировать закупку новых мощностей, опираясь на текущее потребление виртуальных ресурсов](https://habrastorage.org/getpro/habr/upload_files/032/80c/2f9/03280c2f949d0a64296870305f7ced9f.png)
Возможность мониторинга доступна как ИТ-отделу, так и бизнес-подразделениям. Они получают доступ к отчетам и графикам по пиковой загрузке своих мощностей, а также к опции performance-мониторинга заказанных ресурсов.
![](https://habrastorage.org/getpro/habr/upload_files/8d2/cb3/e4c/8d2cb3e4c1aaac64a3aabf24a3c07986.png)
![Встроенный мониторинг производительности виртуальных машин в Cloudlink Встроенный мониторинг производительности виртуальных машин в Cloudlink](https://habrastorage.org/getpro/habr/upload_files/fb1/a41/4b9/fb1a414b91a5014079544b8c700fd5d4.png)
CMP также предоставляет опции квотирования ресурсных пулов как в виде классической ресурсной квоты, так и в виде «денежной квоты» по модели абонентской платы или pay-as-you-go.
Это далеко не весь список прикладных задач. Но стоит учитывать, что не все перечисленные функции могут быть встроенными, поэтому СМР должна легко взаимодействовать с различными агентами и управляющими консолями дополнительных систем. Главное — понять, что такой инструмент может применяться гораздо шире, чем может показаться на первый взгляд.
Выбор CMP: что действительно важно?
Первое, на что стоит обратить внимание при выборе CMP, – это совместимость с широким спектром систем виртуализации. Минимальный набор обычно включает:
Различные системы на базе KVM;
Виртуализацию на «ванильном» oVirt и разработках вендоров на его основе;
Привычную многим VMware vSphere.
Второе – с учетом того, как сейчас выглядят ИТ-инфраструктуры российских компаний, CMP должна быть гибкой и кастомизируемой, одинаково эффективно работать как с on premise решениями, так и с публичными облачными провайдерами.
![Менеджер ресурсов в Cloudlink Менеджер ресурсов в Cloudlink](https://habrastorage.org/getpro/habr/upload_files/943/762/040/943762040720a03919df8779c84ee4f6.jpeg)
Важно также, чтобы CMP имела хорошо документированный REST API. Это обеспечит гибкую интеграцию с текущими процессами IaC. Кроме того, у вас будет возможность использовать каталог услуг в обход веб-интерфейса.
Как выбрать облачные сервисы
При выборе CMP важно заранее продумать, как и какие сервисы будет предоставлять платформа. Наш опыт показывает, что не стоит просто копировать VMware. В этом случае вы рискуете повторить ее недостатки и упустить новые возможности:
Автоматическое управление ресурсами: механизмы «как у VMware» могут оказаться недостаточно гибкими для гибридных облачных сред, где требуется сложное распределение нагрузки между частными и публичными облаками;
Системы мониторинга: если просто скопировать мониторинг у VMware, вы не сможете интегрироваться с привычными инструментами, такими как Prometheus или Grafana. А это ограничит возможности наблюдения за мультиоблачными средами;
Управление сетями: имитация интерфейса VMware может не учитывать необходимость интеграции с SDN-решениями. Если повторить его в CMP, это затруднит управление сложными сетевыми конфигурациями в мультиоблаке;
Работа с контейнерами: создавая знакомый интерфейс, легко упустить особенности управления контейнерами. В VMware они реализованы не всегда оптимально. Это может ограничить гибкость и масштабируемость вашей CMP при работе с контейнеризованными приложениями.
Вместо копирования стоит провести предварительную работу по анализу особенностей эксплуатации ИТ-инфраструктуры в вашей компании или команде:
Определить наиболее востребованные сервисы и задачи;
Идентифицировать ключевые группы пользователей ИТ-инфраструктуры. У каждой группы есть свои потребности и разный уровень технической экспертизы;
Решить, какие задачи можно делегировать конечным пользователям. Совместно с ними вы сможете понять, какие операции второго дня вы готовы передать им в режим самообслуживания
Пример расширенного набора услуг:
Тип услуги |
Услуга |
ОС/ППО |
Доступные действия |
Инфраструктурные сервисы (IaaS) |
Виртуальная машина |
Используемая у вас ОС |
- Старт/стоп ВМ. - Изменение конфигурации. - Добавление дискового тома. - Обновление ОС. |
Физический сервер (Baremetal / Ironic) |
Конфигурация №1 Конфигурация №2 Конфигурация №3 |
- Старт/Стоп. - Обновление ОС |
|
Платформенные сервисы (PaaS) |
СУБД |
PostgreSQL Redis MySQL MongoDB |
Создание/удаление БД. - Настройка расписания бэкапов - Создание, удаление и реконструкция индексов - Управление репликами - Очистка временных файлов и журналов - Настройка прав доступа |
Веб-серверы и серверы приложений |
NGINX WildFly |
-Управление сервером приложений -Обновление и замена SSL/TLS- сертификатов. |
|
Интеграционное ПО |
Apache Kafka RabbitMQ |
Создание/удаление топиков. -Управление очередями. -Настройка расписания резервного копирования. -Обновление и замена SSL/TLS- сертификатов. |
|
Контейнеризация |
Kubernetes |
-Горизонтальное и вертикальное масштабирование. -Создание тенантов и неймспейсов. |
После того, как вы выберете облачные сервисы по потребностям пользователей, они начнут активно пользоваться порталом самообслуживания. Внедрение CMP можно считать успешным, если за первый год через портал будет создано 90% всех новых виртуальных машин.
Что такое Cloudlink
Cloudlink появился после того, как мы реализовали четыре проекта по облачной оркестрации в разных секторах российского бизнеса. Во время работы над проектами заметили любопытную закономерность: планы перехода на облачную модель часто похожи. И мы решили сделать универсальный фреймворк для запуска облака в изолированной корпоративной среде в любой компании.
В каждом проекте мы сталкивались с новыми проблемами и учились на собственных ошибках. Весь опыт решили собрать в одном продукте, который должен быть гибким и настраиваться под разные задачи. Так появилась идея Cloudlink.
С самого начала мы решили, что ядро Cloudlink будет построено на наших собственных микросервисах. Это дало нам полный контроль над архитектурой и возможность оперативно вносить изменения в функциональность платформы.
Но мы также понимали, что не стоит изобретать велосипед там, где уже есть проверенные решения. Поэтому для некоторых специфических задач мы адаптировали лучшие из существующих Open Source-инструментов. Это касается, в частности, identity management system и оркестратора k8s.
![](https://habrastorage.org/getpro/habr/upload_files/08d/5e5/c7e/08d5e5c7eb0cd1b9824e9bf518a73627.png)
Cloudlink предлагает две конфигурации установки:
All in one: для тех, кому надо запустить MVP и протестировать платформу;
Отказоустойчивый кластер: для проектов, где надежность – ключевой приоритет.
Обе конфигурации разворачиваются «из коробки».
Cloudlink в большинстве случаев позволяет запускать новые инфраструктурные и платформенные сервисы без ожидания обновлений от вендора. Основной инструмент для этого – встроенный конструктор сервисов.
![На скрине лишь малая доля конфигураций платформенных сервисов, которые сейчас можно создавать через Cloudlink На скрине лишь малая доля конфигураций платформенных сервисов, которые сейчас можно создавать через Cloudlink](https://habrastorage.org/getpro/habr/upload_files/e59/485/b51/e59485b516cb7a7ce25a12d4c3dfe7e2.png)
С помощью конструктора можно:
Создать сценарий развертывания нужного продукта (Cloudlink позволяет включать в него в том числе обращение к другим информационным системам);
Настроить входные и выходные параметры;
Установить стоимость атрибутов для биллинга.
И сразу после тестирования новый сервис доступен конечным пользователям.
![Пример сценария развертывания продукта Nova Container Cluster Пример сценария развертывания продукта Nova Container Cluster](https://habrastorage.org/getpro/habr/upload_files/1c1/ba7/d78/1c1ba7d783a190aabd5a08df54a15328.png)
Cloudlink совместим со следующими платформами виртуализации:
VMware vSphere;
OpenStack и его производные;
Hyper-V;
РЕД Виртуализация;
Все версии платформы zVirt.
Cloudlink также интегрируется с публичными облаками, например с тенантами в Яндекс.Облаке. Это открывает возможность для централизованного управления ресурсами, в том числе теми, которые ранее использовались в обход корпоративных процессов, — так называемым теневым ИТ.
Кроме того, наша CMP совместима с платформой для управления контейнеризацией Nova Container Platform. В результате под одним порталом самообслуживания Cloudlink можно объединить виртуальные машины на платформах виртуализации, физическое серверное оборудование и кластеры k8s с возможностью предоставлять пользователям сервисы по заказу ресурсов в кластерах.
Облако — это не обязательно больно
Есть мнение, что частное облако — это много денег и трудочасов, вложение которых может еще и не окупиться. И это правда… но лишь отчасти. Такой сценарий возможен, когда ИТ-отдел пытается создать собственное решение с нуля на базе Open Source продуктов.
Фреймворки, включенные в Cloudlink, обеспечивают поэтапное и плавное внедрение систем. Такой подход позволяет постепенно наращивать как объем подключаемой инфраструктуры, так и количество пользователей, сделать процесс запуска и поддержки облака относительно быстрым, доступным и безболезненным. Можно начать с небольшого пилотного проекта, а затем масштабироваться по мере роста уверенности и компетенций.
В следующих постах я разберу:
Как работает Cloudlink в некоторых частных сценариях;
Результаты внедрения CMP с конкретными метриками и цифрами;
Как посчитать экономическую выгоду от внедрения и когда оно окупится.
Если вам интересно подробнее почитать о фичах Cloudlink, это можно сделать в нашем телеграм-канале: https://t.me/cloudlink_cmp.
А с какими проблемами вы сталкивались при управлении разными системами виртуализации? Какие функции CMP-платформ кажутся вам наиболее полезными?