Привет, Хабр! Сегодня мы поговорим о vRealize Automation. Статья в первую очередь ориентирована на пользователей, которые ранее не сталкивались с этим решением, поэтому под катом мы познакомим вас с его функциями и поделимся сценариями использования.
vRealize Automation позволяет заказчикам повысить адаптивность, производительность и эффективность работы за счет упрощения ИТ-среды, оптимизации ИТ-процессов и предоставления платформы автоматизации, готовой для реализации принципов DevOps.
Несмотря на то, что новая 8 версия vRealize Automation была официально выпущена еще осенью 2019 года, актуальной информации об этом решении и его обновленном функционале в рунете до сих пор мало. Исправим эту несправедливость.
Что такое vRealize Automation
Это программный продукт в рамках экосистемы VMware. Он позволяет автоматизировать некоторые аспекты управления вашей инфраструктурой и приложениями.
Фактически vRealize Automation — это портал, с помощью которого администраторы, разработчики и бизнес-пользователи могут запрашивать ИТ-службы и управлять облачными и локальными ресурсами с соблюдением требуемых политик.
vRealize Automation доступен в виде облачного SaaS-сервиса, либо может быть установлен в частном облаке заказчика.
Самый распространенный сценарий для локальных проектов — комплексная инсталляция на стеке VMware: vSphere, ESXi-хосты, vCenter Server, vRealize Operation и т.п.
К примеру, вашему бизнесу требуется гибко и быстро создавать виртуальные машины. Не всегда рационально прописывать адреса, коммутировать сети, устанавливать ОС и делать прочие рутинные вещи вручную. vRealize Automation позволяет создавать и публиковать схемы элементов для развертывания машин. Это могут быть как простые схемы, так и сложные, включающие стек пользовательских приложений. Готовые опубликованные схемы размещаются в каталоге служб.
Порталы vRealize Automation
После установки vRealize Automation главному администратору становится доступна консоль управления. В ней можно создать большое количество порталов cloud service для разных категорий пользователей. Например, один — для администраторов. Второй — для сетевых инженеров. Третий — для менеджеров. Каждый портал может иметь собственные blueprints (схемы). Каждая группа пользователей может обращаться только к одобренным для нее сервисам.
Блюпринты описываются с помощью легко читаемых сценариев на YAML и поддерживают отслеживание версионности и процессов Git:
Подробнее о внутреннем устройстве и возможностях vRealize Automation вы можете прочитать в серии блогов здесь.
vRealize Automation 8: что нового
16 ключевых сервисов vRealize Automation 8 на одном скриншоте
С подробными релизными комментариями вы можете ознакомиться на странице VMware, мы же приведем наиболее интересные особенности новой версии:
vRealize Automation 8 полностью переписан и построен на базе микросервисной архитектуры.
Для установки необходимо иметь в инфраструктуре VMware Identity Manager и LifeCycle Manager. Можно воспользоваться Easy Install, который поочередно установит и сконфигурирует компоненты.
vRealize Automation 8 не требует установки дополнительных IaaS-серверов на базе MS Windows Server, как это было в версиях 7.х.
vRealize Automation установлен на базе Photon OS 3.0. Все ключевые сервисы работают как K8S Pods. Контейнеры внутри pod’ов работают на Docker.
PostgreSQL — единственная поддерживаемая СУБД. Pod’ы используют для хранения данных Persistent Volume. Под ключевые сервисы выделена отдельная база данных.
Пройдемся по компонентам vRealize Automation 8.
Cloud Assembly используется для деплоя ВМ, приложений и прочих сервисов в различные публичные облака и vCenter Servers. Работает на базе Infrastructure as Code, позволяет оптимизировать предоставление инфраструктуры в соответствии с принципами DevOps.
Также доступны различные out-of-the-box интеграции:
В этом сервисе «пользователи» создают шаблоны в формате YAML и в виде схемы компонентов.
Для использования Marketplace и предподготовленных сервисов можно «привязаться» с аккаунта My VMware.
Администраторы могут использовать vRealize Orchestrator Workflows для связки с дополнительными объектами инфраструктуры (например MS AD/DNS и пр.).
Можно сделать связку vRA с VMware Enterprise PKS для деплоя кластеров K8S.
В разделе Deployments мы видим уже установленные ресурсы.
Code Stream — это решение для автоматизации выпуска и непрерывного предоставления ПО, которое обеспечивает стабильный и регулярный релиз приложений и программного кода. Доступно огромное количество интеграций — Jenkins, Bamboo, Git, Docker, Jira и др.
Service Broker — сервис, предоставляющий каталог для энтерпрайз-пользователей:
В Service Broker администраторы могут настроить политики аппрувов по определенным параметрам.
Сценарии использования vRealize Automation
Все в одном
Сейчас в мире существует много разных решений для виртуализации — VMware, Hyper-V, KVM. Нередко бизнес прибегает к использованию глобальных облаков типа Azure, AWS и Google Cloud. Управлять этим «зоопарком» с каждым годом все сложнее и сложнее. Кому-то эта проблема может показаться надуманной: почему бы, мол, не пользоваться в рамках компании только одним решением? Дело в том, что для каких-то задач действительно может хватить недорогого KVM. А более серьезным проектам понадобится весь функционал VMware. Выбрать что-то одно бывает невозможно как минимум по экономическим причинам.
Вместе с увеличением количества используемых решений растет и объем задач. Например, у вас может появиться необходимость автоматизировать поставку ПО, управление конфигурацией и развертывание приложений. До появления vRealize Automation не было единого инструмента, который мог бы «впитать» в себя управление всеми этими платформами в режиме одного окна.
Каким бы стеком решений и площадок вы ни пользовались, есть возможность управлять ими через единый портал.
Автоматизируем типовые процессы
В рамках vRealize Automation возможен подобный сценарий:
Администратору приложения требуется развернуть дополнительную ВМ. С vRealize Automation ему не придется делать что-то вручную или договариваться с соответствующими специалистами. Достаточно будет нажать на условную кнопку «Хочу ВМ и побыстрее», и заявка отправится дальше.
Заявку получает системный администратор. Он изучает запрос, смотрит, есть ли достаточное количество свободных ресурсов, и аппрувит его.
Следующим в очереди стоит менеджер. Его задача — оценить, готова ли компания выделить средства для реализации проекта. Если все в порядке, он тоже нажимает Approve.
Мы сознательно выбрали максимально простой процесс и сократили количество его звеньев, чтобы выделить главную мысль:
vRealize Automation, помимо ИТ-процессов, затрагивает плоскость бизнес-процессов. Каждый специалист «закрывает» свою часть задачи в режиме конвейера.
Приведенную в виде примера задачу можно решить с помощью других систем — например, ServiceNow или Jira. Но vRealize Automation находится «ближе» к инфраструктуре и в нем возможны более сложные кейсы, чем развертывание виртуальной машины. Можно «в режиме одной кнопки» автоматически проверять наличие места в хранилище, при необходимости создавать новые луны. Технически даже возможно построить нестандартное решение и заскриптовать запросы к облачному провайдеру.
DevOps и CI/CD
Помимо сбора всех площадок и облаков в одном окне, vRealize Automation позволяет управлять всеми доступными средами в соответствиями с принципами DevOps. Разработчики сервисов могут разрабатывать и выпускать приложения без привязки к каждой конкретной платформе.
Как видно на схеме, над уровнем платформы находится Developer Ready Infrastructure, которая реализует функции интеграции и доставки, а также управления различными сценариями по развертыванию ИТ-систем вне зависимости от платформы, используемой на уровень ниже.
Consumption, или уровень потребителя услуг, представляет из себя среду взаимодействия пользователей/администраторов с конечными ИТ-системами:
Content Development позволяет выстроить взаимодействие с Dev-уровнем и управлять изменениями, версионностью и обращаться к репозиторию.
Service Catalog позволяет доставлять сервисы конечным потребителям: откатывать/публиковать новые и получать обратную связь.
Projects позволяет наладить внутренние ИТ-процессы принятия решений, когда каждое изменение или делегирование прав проходит процесс согласования, что актуально для компаний из энтерпрайза.
Немного практики
С теорией и сценариями использования покончено. Давайте посмотрим, как vRA позволяет решать типовые задачи.
Автоматизация процесса провижининга виртуальной машины
Заказ виртуальной машины из портала vRA.
Аппрув со стороны ответственного за инфраструктуру лица и/или руководителя.
Выбор правильного кластера/хоста сети.
Запрос IP-адреса в IPAM (i.e. Infoblox), получение сетевой конфигурации.
Создание учетной записи в Active Directory/записи DNS.
Деплой машины.
Отправка e-mail оповещения заказчику по ее готовности.
Единый блюпринт для Linux-based ВМ
Один объект в каталоге с возможностью выбора дата-центра, роли и среды (dev, test, prod).
В зависимости от набора опций выше выбираются правильные vCenter, сети и СХД.
Резервируются IP-адреса и регистрируются DNS. Если ВМ развертывается в среде prod, она добавляется в backup job.
Деплой машины.
Интеграция с разными Configuration Management системами (к примеру, Ansible -> запуск корректного playbook).
Внутренний портал администрирования в едином каталоге через различные API сторонних продуктов
Создание/удаление и управление учетными записями пользователей в AD по правилам наименования компании:
В случае создания учетной записи пользователя письмо с данными для входа направляется руководителю подразделения/отдела. На основании выбранного отдела и должности пользователю присваиваются необходимые права (RBAC).
Данные для входа в сервисную учетную запись отправляются непосредственно тому пользователю, который запрашивает ее создание.
Управление backup-сервисами.
Управление SDN firewall rules, security groups, ipsec tunnels, etc. применяются по подтверждению от ответственных лиц за сервис.
Итог
vRA — чисто бизнесовый продукт, гибкий и легко масштабируемый. Он постоянно развивается, имеет довольно сильную поддержку и отражает современные «веяния». Например, это один из первых продуктов которой перешел на микросервисную архитектуру на базе контейнеров.
С его помощью можно реализовать практически любые сценарии автоматизации в рамках гибридных облаков. По сути, в том или ином виде поддерживается все, что обладает API. Вдобавок это отличный инструмент для предоставления сервисов конечным пользователям параллельно с их доставкой и разработкой DevOps, которые опираются на ИТ-отдел, занимающийся вопросами безопасности и управления непосредственно платформой.
Еще один плюс vRealize Automation — это решение от VMware. Оно подойдет большинству клиентов, поскольку они уже пользуются продуктами этой компании. Не придется ничего перекраивать.
Разумеется, мы не претендуем на детальное описание решения. В будущих статьях мы развернуто опишем некоторые специфические возможности vRealize Automation и дадим ответы на ваши вопросы, если они возникнут в комментариях.
Если решение и сценарии его использования заинтересовали, будем рады видеть вас на нашем вебинаре, посвященном автоматизации ИТ-процессов с помощью vRealize Automation.