Анонсы Explore 2022: эволюция VMware Data Services Manager в Project Moneta
Анонсы Explore 2022: эволюция VMware Data Services Manager в Project Moneta
Автор: Александр Самойленко Дата: 28/11/2022
Мы уже много писали об анонсах продуктов и технологий конференций Explore 2022 и Explore 2022 Europe, которые VMware представила осенью этого года. Среди анонсов новых проектов мы еще не упоминали о Project Moneta - это решение, которое препятствует рассредоточению данных в вашей виртуальной ИТ-инфраструктуре и дает контроль администраторам и разработчикам средства контроля над их данными.
Ключевым продуктом, решающим эти задачи, является VMware Data Services Manager, принципы работы с которым были показаны в рамках сессии VIB1487US на конференции Explore 2022. Об этом продукте, а также его развитии в виде Project Moneta написал Cormac Hogan.
В процессе работы с данными в виртуальной инфраструктуре разработчики и администраторы участвуют в работе с данными не на уровне блоков и файлов, а на уровне баз данных, систем обработки сообщений, стриминговых приложений, K/V-хранилищ, объектных хранилищ S3 и других сущностей.
Суть проблем заключается в том, что при развертывании новых приложений требуется развертывание некоторых из перечисленных компонентов, за которые отвечают и разработчики, и администраторы, поэтому нужно соблюдать некоторый порядок операций и организацию компонентов, чтобы данные не "расползались" по виртуальным и физическим средам.
В итоге, развертывание новой БД (создание тикета, апрув и деплой) может занять несколько часов и даже дней в крупной инфраструктуре. Вот тут и помогает VMware Data Services Manager (DSM) - он дает разработчикам средства самообслуживания, которые позволяют регулировать потребление ресурсов, обеспечить комплаенс и соответствие политикам резервного копирования компании, а также дает другие полезные инструменты.
Ключевой концепцией продукта является пространство имен (namespace) - способ задания ресурсов в vSphere, который дает возможность контроля над ресурсами для баз данных. С помощью DSM администратор создает набор баз данных, соответствующих требованиям бизнеса, и раздает их разработчикам, ресурсы которых они потребляют.
Это избавляет инфраструктуру от слабозащищенных СУБД без патчей, а также баз данных, конфигурация которых не соответствует требованиям комплаенса. На данный момент DSM поддерживает MySQL, PostgreSQL и Microsoft SQL Server.
При логине в DSM администратор видит на дэшборде доступные ресурсы БД, использованное хранилище и созданные резервные копии:
В разделе Databases разработчики могут самостоятельно создавать свои базы данных, но только в тех конфигурациях (версия и тип), которые были разрешены администраторами. Вот пример развертывания БД SQL Server в рамках пространства имен, к которому имеет доступ разработчик. Сами разработчики могут настраивать размер виртуальных машин, но не могут превышать порог ресурсов данного неймспейса. Развертывание БД, таким образом, происходит из шаблона:
Далее можно задать параметры конфигурации, такие как имя пользователя и пароль, а также определить расписание резервного копирования и окно РК для этой БД:
Также разработчикам доступны Day-2 операции с БД. Они могут клонировать ее, выключить, изменить владельца, удалить или восстановить ее из копии point-in-time (PIT). То есть разработчику не нужно контактировать с администраторами через систему тикетов для данных операций:
Для администратора DSM дает централизованную консоль для контроля над всеми развертываниями БД в ИТ-инфраструктуре. Также там доступны разные метрики - от состояния баз до их производительности, включая наиболее потребляющие ресурсы БД. На скриншоте ниже представлена ситуация, когда в инфраструктуре все в порядке:
Раздел Host Metrics отображает информацию о хостах ESXi в плане использования сети, а также ресурсов CPU и Memory. Метрики баз данных содержат информацию о топ-10 БД, потребляющих ресурсы процессора и память за заданный период (например, последние 12 часов). Storage Metrics позволяют проанализировать хранилища с точки зрения операций чтения и записи, также во времени. Консоль DSM позволяет собирать логи с разных БД и экспортировать их во внешние системы анализа логов.
Кроме того, администраторы могут накатывать минорные обновления, но только во время окон обслуживания, которые определены разработчиками. Ну и DSM имеет полноценный REST API для автоматизации развертывания баз данных с помощью сценариев и внешних систем:
На текущий момент VMware Data Services Manager работает только с онпремизными инсталляциями в одной локации. Между тем, многие клиенты VMware имеют целую сеть географически распределенных облачных датацентров, где размещены их ресурсы. Чтобы управлять этим всем существует решение vSphere+, которое управляет всеми продуктами и ресурсами на базе подписочной SaaS-модели.
Суть разрабатываемого сейчас Project Moneta заключается в тесной интеграции vSphere+ и облачного интерфейса Cloud Consumption Interface (CCI). Цель CCI - предоставить универсальный интерфейс для разработчиков и администраторов, чтобы они получали доступ ко всем ресурсам инфраструктуры vSphere (онпремизной и облачной). Долгосрочная цель Project Moneta - расширение служб Cloud Services в рамках подписки vSphere+, чтобы предоставить сервис databases as a service (DBaaS). Это должно добавить в портфель облачных провайдеров услугу DBaaS в их облаках.
Вот как это может выглядеть в будущем:
Важный момент Project Moneta - это то, что он будет интегрирован с GitHub / GitLab. Каждая БД, развертываемая через консоль CCI, будет генерировать шаблонный YAML manifest. Он будет автоматически сохраняться в аккаунте GitHub или GitLab. Для него можно отслеживать изменения и обновления, а сам манифест может быть интегрировать в рабочий процесс CI/CD.
Если нужно изменить конфигурацию инфраструктуры баз данных, например, с точки зрения ресурсов, то в рамках пайплайна может происходить автоматическое развертывание новых БД. Это главное отличие VMware Data Services Manager и Project Moneta. DSM развертывание базы данных как набор виртуальных машин, а Project Moneta сможет развернуть базы данных как в ВМ, так и в контейнерах, в зависимости от типа БД, которая развертывается. Через консоль CCI можно просматривать полную конфигурацию YAML manifest:
Также развертывание БД можно отслеживать с позиции задачи пайплайна рабочего процесса CI/CD. Сначала выполняются команды kubectl и другие для настройки кластера Kubernetes, после чего развертывается база данных:
В итоге, цель Project Moneta - предоставить большим компаниям единый инструмент для создания открытой экосистемы баз данных, которая позволить обеспечить контроль над всеми данными и поддерживать актуальность конфигураций БД, уровня их производительности и обновлений.