Обзор архитектуры#

Astra Automation является гибридной платформой, объединяющей облачный сервис (Astra Automation Hub), доступный всем пользователем платформы, и компоненты управления, устанавливаемые в пространстве организации.

Структура платформы#

Платформа включает ряд компонентов для управления инфраструктурой заказчика (Managed IT infrastructure).

../_images/architecture.svg

К платформе относятся следующие компоненты:

  • Контроллер (Astra Automation Controller) представляет собой плоскость управления (control plane) на основе кластера. Он предоставляет пользователю удобные средства управления через графический web-интерфейс, вызовы API, командный интерфейс (CLI, command-line interface) и специальную коллекцию Ansible.

  • Плоскость исполнения (Execution plane) является частью общего кластера, объединяющей узлы, которые выполняют задания контроллера. Особенности плоскости исполнения:

    • Она обеспечивает эффективное управление распределенной инфраструктурой путем расположения узлов в одном сетевом окружении с узлами управляемой инфраструктуры.

    • Непосредственным исполнителем заданий в виде playbook является среда исполнения (EE, Execution Environment), выполненная в виде контейнера Podman.

    • Контроллер позволяет назначать различные задания на исполнение определенным группам узлов плоскости исполнения, а также выполнять их с помощью указанных образов EE.

  • Сеть прикладного уровня (Mesh) объединяет плоскость управления и плоскость исполнения в единый кластер. Настройки платформы позволяют гибко определять связи (топологию) между компонентами этих плоскостей.

  • Astra Automation Hub является облачным реестром инфраструктурного кода для реализации требуемых задач автоматизации. В состав реестра входят различные типы инфраструктурного кода:

    • набор готовых сценариев;

    • сертифицированные коллекции Ansible для выполнения различных задач автоматизации;

    • набор модулей Terraform для развертывания базовой инфраструктуры в виртуальном окружении.

  • Собственный реестр инфраструктурного кода (Private Automation Hub) позволяет организации использовать контент, предоставляемый через Astra Automation Hub или другие источники, а также хранить и использовать собственный контент и образы EE. При создании собственного реестра последний получает контент из Astra Automation Hub.

  • Средства разработки (CDK, content development kit) содержат необходимые инструменты для организации полноценного процесса разработки собственного инфраструктурного кода и образов EE. Созданные артефакты следует сохранять в собственном реестре инфраструктурного кода.

  • Служба управления событиями (Event-Driven Ansible) позволяет отслеживать события, возникающие в различных компонентах инфраструктуры пользователя. Применение этой службы приводит к существенному снижению объема ручной работы а также к быстрому своевременному реагированию на изменившуюся ситуацию в инфраструктуре.

  • Средства аналитики (Analytics) позволяют собирать данные о работе контроллера и формировать отчеты для анализа эффективности организации процессов автоматизации.

Структура кластера#

Центральное место в структуре Astra Automation занимает кластер управления, состоящий из набора узлов, объединенных сетью Mesh.

../_images/architecture-light.svg ../_images/architecture-dark.svg

В Astra Automation используются узлы четырех типов:

  • Управляющие узлы (control nodes) управляют работой контроллера и формируют задания автоматизации.

  • Исполняющие узлы (execution nodes) используются для непосредственного запуска заданий автоматизации, сформированных управляющими узлами.

  • Промежуточные (переходные) узлы (hop nodes) используются в качестве посредников между управляющими и исполняющими узлами. Их назначение – связывать узлы, когда прямой доступ управляющих узлов к исполняющим по какой-либо причине невозможен, например, из-за технических ограничений или соображений безопасности.

    Примечание

    Промежуточные узлы нельзя использовать для запуска заданий.

  • Гибридные узлы (hybrid nodes) выполняют функции управляющих и исполняющих узлов.

Astra Automation Hub – это облачный сервис ПАО Группа Астра, предоставляющий зарегистрированным пользователям доступ к хранилищу инфраструктурного кода.

Сеть#

С помощью полносвязной сети прикладного уровня с автоматическим обнаружением узлов (automation mesh) кластер Astra Automation объединяет узлы разных типов в две плоскости – плоскость управления (control plane) и плоскость исполнения (execution plane). При объединении узлов в сеть происходит настройка связей между узлами плоскостей.

Плоскость управления представляет собой Astra Automation Controller и состоит из управляющих и гибридных узлов, а плоскость исполнения – из промежуточных и исполняющих узлов.

Узлы кластера объединяются в сеть с помощью службы рецепторов, установленной на каждом узле.

СУБД#

СУБД на базе PostgreSQL используется для хранения данных контроллера. Она должна быть доступна для всех узлов из плоскости управления.

По умолчанию СУБД развертывается вместе с контроллером, однако, можно использовать и уже существующую СУБД, развернутую на собственном оборудовании или в одном из облачных сервисов управляемых баз данных.

При развертывании СУБД средствами контроллера необходимо выделить для нее отдельный узел, который не должен использоваться для других целей.

Astra Automation Controller не имеет поддержки кластеризации СУБД. Это значит, что высокую доступность СУБД следует обеспечить самостоятельно.

Использование внешней СУБД накладывает следующие ограничения:

  • Контроллер не поддерживает автоматическое переключение на новый мастер в случае переключения мастера в кластере СУБД.

  • Не рекомендуется использовать менеджеры соединений типа pgBouncer.

  • Нельзя использовать менеджер соединений в режиме «Transaction pooling».