Сегодня продолжим знакомство с новой версией платформы автоматизации Ansible и расскажем о появившемся в ней контроллере автоматизации Automation Controller 4.0. На самом деле это улучшенный и переименованный Ansible Tower, и он представляет собой стандартизованный механизм для определения автоматизаций, эксплуатации и делегирования в масштабе предприятия. Контроллер получил ряд интересных технологий и новую архитектуру, помогающих быстро масштабировать и внедрять автоматизации в ответ на растущие требования бизнеса.
Зачем Ansible Tower переименовали в контроллер автоматизации
В Automation Platform 2 произошла (и в версии 2.1 продолжится) определенная функциональная декомпозиция того, раньше входило в состав Ansible Tower. Кроме того, новое название лучше отражает роль этого компонента в составе Ansible Automation Platform.
Целевая аудитория контроллера автоматизации
Прямо или косвенно с контроллером автоматизации взаимодействуют все члены команды автоматизации:
Разработчики, создающие плейбуки Ansible, роли и модули.
Архитекторы, которые расширяют использование автоматизации на уровне различных команд для поддержки ИТ-процессов и оптимизации внедрения.
Операторы, отвечающие за верификацию работоспособности платформы и фреймворков автоматизации.
Во многих организациях некоторые или все эти роли совмещаются, а определенные задачи автоматизации могут передаваться на аутсорсинг.
По своей работе с контроллером автоматизации чаще всего непосредственно взаимодействуют операторы. Поэтому мы будем рассматривать функциональные и архитектурные преимущества новой версии Ansible, прежде всего, с их позиций.
Улучшенная архитектура
Улучшенная распределенная архитектура позволяет операторам развертывать инстансы платформы автоматизации Ansible на разнообразных платформах и быстро масштабировать ее, когда требуются дополнительные мощности.
Сравним архитектуры Ansible Tower и контроллера автоматизации.
Жесткая система, тесная связь
Командам автоматизации нужно уметь добиваться результатов как автономно, так и в координации и сотрудничестве с другими группами.
В Ansible Tower плоскости управления и исполнения тесно связаны друг с другом, что ведет к росту затрат и неэффективности при масштабировании.
Допустим, сетевики создают автоматизации, опираясь на Python-пакет netaddr 0.7.20. А безопасники разрабатывают свои автоматизации с использованием более поздней версии этого пакета. Тогда в эксплуатации надо иметь обе версии netaddr.
В результате, операторы вынуждены сопровождать различные версии netaddr в инстансах Ansible Automation Platform, или совместно управлять этими зависимостями с сетевиками и безопасниками – а это лишнее время и трудозатраты.
Теперь представьте, что к созданию автоматизаций подключаются новые группы со своей спецификой, количество автоматизаций и инстансов растет – все это сильно повышает затраты на то, чтобы все работало как надо.
Несогласованности на этапе выполнения
Командам автоматизации необходимо контролировать согласованность выполнения автоматизаций в масштабе предприятия.
Чтобы обеспечить согласованность на этапе выполнения автоматизаций, операторам требуются вспомогательные инструменты для развертывания и управления зависимостями на инстансах Ansible Automation Platform. Под зависимостями мы понимаем пакеты Python, версии Python, фреймворки, а также контент Ansible.
Для управления зависимостями в Ansible Tower используются виртуальные среды Python, но такой подход имеет ряд проблем.
Сопровождение виртуальных сред Python при наличии множества инстансов Ansible Tower замедляет цикл разработки, поскольку требуется контролировать и устранять несовместимости между продакшн и не-продакшн-средой.
С ростом числа развертываний Ansible Automation Platform и количества ее пользователей, становится все сложнее контролировать, что кастомные зависимости правильно работают на инстансах Ansible Tower.
Виртуальные среды Python сложно переносятся между инстансами Ansible Tower и тесно связаны с плоскостью управления.
Для управления кастомными зависимостями в рамках Ansible Automation Platform нет никаких инструментов, которые бы поддерживались и сопровождались Red Hat.
Все это сильно затрудняло масштабирование автоматизации, поэтому мы разработали улучшенную распределенную архитектуру.
Новая, улучшенная архитектура контроллера автоматизации 4.0
Команды автоматизации должны быть способны быстро предоставлять автоматизацию там и тогда, где и когда это нужно бизнесу. Они должны поддерживать рост своих организаций за счет автоматизации.
Контроллер автоматизации получил распределенную модульную архитектуру, где плоскость управления отделена от плоскости исполнения. Эта архитектура позволяет масштабировать и предоставлять автоматизацию быстрее и с меньшими затратами.
Среды выполнения автоматизации
Переносимость = надежность
В Ansible Automation Platform 2 появились среды выполнения автоматизации –самодостаточные образы, в которых выполняются все компоненты автоматизации, включая Ansible Core, весь контент Ansible и все дополнительные зависимости.
За счет сред выполнения автоматизации единообразно выполняются на различных платформах. Все пользовательские зависимости задаются на этапе разработки и больше не имеют жесткой связи с плоскостью управления, что ускоряет цикл разработки, повышает масштабируемость, надежность и переносимость между средами.
PostgreSQL 12
Ansible Automation Platform 2 по умолчанию идет с PostgreSQL 12 из состава Red Hat Enterprise Linux 8.
PostgreSQL 12 предлагает целый ряд значительных улучшений, в частности, Ansible Automation Platform 2 использует доступ к секционированием (partitioned access) для повышения производительности.
Установка контроллера автоматизации
Командам автоматизации требуется одно универсальное решение, охватывающее все составляющие гибридного облака.
Ansible Automation Platform 2 предлагает простой и удобный опыт установки в физических, виртуальных и контейнерных средах.
Ansible Automation Platform Operator
Появившись в Ansible Automation Platform 2, этот оператор обеспечивает простое UI-развертывание новых инстансов Ansible Automation Platform в среде OpenShift, а также упрощает управление данными, миграцию и обновление платформы.
Кроме того, Resource Operator упрощает интеграцию автоматизаций в облачно-ориентированные процессы.
Удобный пользовательский интерфейс
Обеспечивая привычный опыт, интерфейс контроллера автоматизации получил целый ряд улучшений для более простой миграции и внедрения Ansible Automation Platform 2.
PatternFly 4
Графический интерфейс использует фреймворк PatternFly 4, что позволило повысить производительность и обеспечить единообразие с другими компонентами Ansible Automation Platform 2 и продуктами Red Hat.
Улучшения в части наблюдаемости, взаимодействия и безопасности
В ответ на многочисленные просьбы, улучшенный графический интерфейс получил специальные представления объектов и компонентов контроллера автоматизации с возможностью редактирования.
Контроллер автоматизации также предлагает интуитивные фильтры для быстрого отбора информацию по той или иной задаче. В частности, на скрине ниже показана фильтрация вывода задания контроллера автоматизации 4.0 по событиям 'Host Unreachable' при поиске и устранении ошибок.
Политика безопасности контента
Среди других улучшений интерфейс контроллера автоматизации получил политику Content Security Policy, обеспечивающую дополнительный уровень защиты при выявлении и устранения типовых угроз безопасности.
Прочие улучшения
Контроллер автоматизации 4.0 – это улучшения на всех уровнях платформы Ansible, включая API с возможностью просмотра, доступ на основе ролей, диспетчер заданий, интегрированные уведомления, графический интерфейс для работы с inventory и функции визуализации рабочих процессов.
И завершая список, приведем еще несколько улучшений:
Контроллер автоматизации использует Python 3.8.
Nginx обновлен до версии 1.18 и использует профили криптографии RHEL 8.
Оператор системы автоматизации может запретить создание локальных пользователей на контроллере автоматизации и разрешить авторизацию только через заданный identity provider.
Контроллер автоматизации 4.0 предлагает новые Prometheus-метрики для отслеживания и отладки событий, связанных с производительностью заданий.
Утилита awx-manage для работы с хостом автоматизации.
Поддержка GitHub Enterprise в качестве identity provider.
Подробнее обо всех новшествах и доработках контроллера автоматизации 4.0 см. файл примечаний к версии.
Соображения по миграции
Ansible Automation Platform 2 предлагает целый ряд новых полезных возможностей. Однако вместе с ними появляются и новые требования, и зависимости, которые необходимо тщательно изучить, прежде чем планировать миграцию на новую версию Ansible. Ниже мы рассмотрим лишь некоторые из них, полный список можно найти на странице установки контроллера автоматизации.
Будет ли Ansible Automation Platform 2 поддерживать изолированные ноды?
Доступный сейчас Ansible Automation Platform 2.0 не поддерживает изолированные ноды. Однако такая поддержка запланирована в Ansible Automation Platform 2.1, выход которой намечен на ноябрь 2021.
Поддерживает ли Ansible Automation Platform 2 предыдущие версии PostgreSQL?
Нет. В данный момент PostgreSQL 12 – это единственная СУБД, поддерживаемая Ansible Automation Platform 2. Пожалуйста, обратите на это внимание, если планируете миграцию.
Нужен ли мне Red Hat OpenShift to для запуска сред выполнения автоматизаций?
Нет. Наша цель в том, чтобы Ansible Automation Platform поддерживал все платформы Red Hat. Поэтому Ansible Automation Platform 2 может быть развернута на Red Hat Enterprise Linux (x86_64), Red Hat OpenShift или на комбинации этих платформ в корпоративном дата-центре, в облаке и на edge-системах.
На какие ОС можно установить Ansible Automation Platform 2?
Ansible Automation Platform 2 может быть установлена на Red Hat Enterprise Linux 8.3 (x86_64) и выше в виртуальных и физических средах.
Ключевые выводы
Неспособность масштабировать автоматизацию не дает многим организациям полностью реализовать ее потенциал.
Развитие ИТ-систем и все более активное использование автоматизаций повышает запрос на мощности автоматизации. Контроллер автоматизации 4.0 призван помочь специалистам по автоматизации удовлетворить этот запрос за счет масштабирования.
Наша цель – упростить миграцию и внедрение Ansible Automation Platform 2. С контроллером автоматизации 4.0 мы предлагаем привычный и хорошо знакомый опыт работы и поддержку виртуальных, физических и контейнерных сред.
Новая архитектура контроллера автоматизации, опирающаяся на среды выполнения автоматизаций, упрощает управление зависимостями, помогает повысить надежность и согласованность, ускоряет доставку контента автоматизации на инстансы Ansible Automation Platform.
Доработанный пользовательский интерфейс контроллера автоматизации обеспечивает повышенную безопасность и производительность, улучшает наблюдаемость благодаря новым возможностям фильтрации и специальным представлениям.
Ansible Automation Platform Operator обеспечивает облачное развертывание и управление инстансами Ansible Automation Platform 2 на платформе Red Hat OpenShift, а resource operator упрощает интеграцию автоматизации с облачно-ориентированными процессами.
Ansible Automation Platform 2, включающая контроллер автоматизации 4.0, – это целый ряд новых, интересных технологий и улучшенный опыт работы с системой как специалистов по автоматизации, так и для руководителей и конечных пользователей.
Что дальше
В следующих статьях этой серии мы подробнее расскажем о частном хабе, о навигаторе по автоматизационному контенту, а также подробнее остановимся на миграции на Ansible Automation Platform 2.
Кроме того, уже сейчас доступны следующие полезные ресурсы:
Обновленная обзорная страница продукта на сайте ansible.com – поможет узнать больше о новых функциях и компонентах Ansible Automation Platform. Также мы подготовили новое интерактивное руководство по функциям продукта.
Если готовы опробовать новую версию Ansible на практике, то у нас есть для этого интерактивные лабы.
Также рекомендуем бесплатный вебинар «Red Hat Ansible Automation Platform предлагает новые способы автоматизации», который пройдет 2 ноября и затем будет выложен в записи.
При наличии действующей подписки Red Hat можно зайти на страницу раннего доступа на портале Red Hat Customer Portal, где собраны официальные ресурсы по новой версии Ansible, включая официальную документацию по продукту.