Привет, Хабр! Сегодня мы поговорим о 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 на одном скриншоте
16 ключевых сервисов 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 позволяет решать типовые задачи.

Автоматизация процесса провижининга виртуальной машины

  1. Заказ виртуальной машины из портала vRA.

  2. Аппрув со стороны ответственного за инфраструктуру лица и/или руководителя.

  3. Выбор правильного кластера/хоста сети.

  4. Запрос IP-адреса в IPAM (i.e. Infoblox), получение сетевой конфигурации.

  5. Создание учетной записи в Active Directory/записи DNS.

  6. Деплой машины.

  7. Отправка e-mail оповещения заказчику по ее готовности.

Единый блюпринт для Linux-based ВМ

  1. Один объект в каталоге с возможностью выбора дата-центра, роли и среды (dev, test, prod).

  2. В зависимости от набора опций выше выбираются правильные vCenter, сети и СХД.

  3. Резервируются IP-адреса и регистрируются DNS. Если ВМ развертывается в среде prod, она добавляется в backup job.

  4. Деплой машины.

  5. Интеграция с разными 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.