Привет, Хабр! Сегодня мы поговорим о vRealize Automation. Статья в первую очередь ориентирована на пользователей, которые ранее не сталкивались с этим решением, поэтому под катом мы познакомим вас с его функциями и поделимся сценариями использования. vRealize Automation позволяет заказчикам повысить адаптивность, производительность и эффективность работы за счет упрощения ИТ-среды, оптимизации ИТ-процессов и предоставления платформы автоматизации, готовой для реализации принципов DevOps. Несмотря на то, что новая 8 версия vRealize Automation была официально выпущена еще осенью 2019 года, актуальной информации об этом решении и его обновленном функционале в рунете до сих пор мало. Исправим эту несправедливость.  Это программный продукт в рамках экосистемы VMware. Он позволяет автоматизировать некоторые аспекты управления вашей инфраструктурой и приложениями.  Фактически vRealize Automation — это портал, с помощью которого администраторы, разработчики и бизнес-пользователи могут запрашивать ИТ-службы и управлять облачными и локальными ресурсами с соблюдением требуемых политик. vRealize Automation доступен в виде облачного SaaS-сервиса, либо может быть установлен в частном облаке заказчика. Самый распространенный сценарий для локальных проектов — комплексная инсталляция на стеке VMware: vSphere, ESXi-хосты, vCenter Server, vRealize Operation и т.п.  К примеру, вашему бизнесу требуется гибко и быстро создавать виртуальные машины. Не всегда рационально прописывать адреса, коммутировать сети, устанавливать ОС и делать прочие рутинные вещи вручную. vRealize Automation позволяет создавать и публиковать схемы элементов для развертывания машин. Это могут быть как простые схемы, так и сложные, включающие стек пользовательских приложений. Готовые опубликованные схемы размещаются в каталоге служб.  После установки vRealize Automation главному администратору становится доступна консоль управления. В ней можно создать большое количество порталов cloud service для разных категорий пользователей. Например, один — для администраторов. Второй — для сетевых инженеров. Третий — для менеджеров. Каждый портал может иметь собственные blueprints (схемы). Каждая группа пользователей может обращаться только к одобренным для нее сервисам.  Блюпринты описываются с помощью легко читаемых сценариев на YAML и поддерживают отслеживание версионности и процессов Git:  Подробнее о внутреннем устройстве и возможностях vRealize Automation вы можете прочитать в серии блогов здесь. 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 администраторы могут настроить политики аппрувов по определенным параметрам.  Сейчас в мире существует много разных решений для виртуализации — VMware, Hyper-V, KVM. Нередко бизнес прибегает к использованию глобальных облаков типа Azure, AWS и Google Cloud. Управлять этим «зоопарком» с каждым годом все сложнее и сложнее. Кому-то эта проблема может показаться надуманной: почему бы, мол, не пользоваться в рамках компании только одним решением? Дело в том, что для каких-то задач действительно может хватить недорогого KVM. А более серьезным проектам понадобится весь функционал VMware. Выбрать что-то одно бывает невозможно как минимум по экономическим причинам. Вместе с увеличением количества используемых решений растет и объем задач. Например, у вас может появиться необходимость автоматизировать поставку ПО, управление конфигурацией и развертывание приложений. До появления vRealize Automation не было единого инструмента, который мог бы «впитать» в себя управление всеми этими платформами в режиме одного окна. Каким бы стеком решений и площадок вы ни пользовались, есть возможность управлять ими через единый портал. В рамках vRealize Automation возможен подобный сценарий: Администратору приложения требуется развернуть дополнительную ВМ. С vRealize Automation ему не придется делать что-то вручную или договариваться с соответствующими специалистами. Достаточно будет нажать на условную кнопку «Хочу ВМ и побыстрее», и заявка отправится дальше. Заявку получает системный администратор. Он изучает запрос, смотрит, есть ли достаточное количество свободных ресурсов, и аппрувит его. Следующим в очереди стоит менеджер. Его задача — оценить, готова ли компания выделить средства для реализации проекта. Если все в порядке, он тоже нажимает Approve. Мы сознательно выбрали максимально простой процесс и сократили количество его звеньев, чтобы выделить главную мысль: vRealize Automation, помимо ИТ-процессов, затрагивает плоскость бизнес-процессов. Каждый специалист «закрывает» свою часть задачи в режиме конвейера. Приведенную в виде примера задачу можно решить с помощью других систем — например, ServiceNow или Jira. Но vRealize Automation находится «ближе» к инфраструктуре и в нем возможны более сложные кейсы, чем развертывание виртуальной машины. Можно «в режиме одной кнопки» автоматически проверять наличие места в хранилище, при необходимости создавать новые луны. Технически даже возможно построить нестандартное решение и заскриптовать запросы к облачному провайдеру. Помимо сбора всех площадок и облаков в одном окне, 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.