2.3.1 Сервис-ориентированная архитектура

Облачная платформа TIONIX Cloud Platform 3.0 состоит из основообразующих сервисов OpenStack [1] и дополнительных служб, поставляемых модулями TIONIX.

[1]https://ru.wikipedia.org/wiki/OpenStack

Каждый сервис имеет свой набор REST API, утилит командной строки и программные интерфейсы (API).

В состав базовых сервисов OpenStack входят:

  • OpenStack Compute (Nova), является одним из основных сервисов и устанавливается на всех узлах. На управляющих узлах сервис предоставляет уровень абстракции виртуального оборудования (процессоры, память, блочные устройства, сетевые адаптеры). На вычислительных узлах Nova обеспечивает управление экземплярами виртуальных машин, обращаясь к гипервизору и отдавая такие команды, как, запуск и остановка виртуальных машин и т.п.
  • OpenStack Networking (Neutron) отвечает за управление виртуальной сетью. Пользователи могут самостоятельно создавать виртуальные сети, маршрутизаторы, назначать IР-адреса. Один из механизмов, обеспечиваемых Neutron, называется «плавающие адреса». Благодаря этому механизму виртуальные машины могут получать внешние фиксированные IР­ адреса. Через механизм подключаемых модулей можно реализовать такие сетевые сервисы, как балансировка сетевой нагрузки как сервис, брандмауэр как сервис или VPN как сервис.
  • OpenStack Keystone (сервис идентификации) представляет собой централизованный каталог пользователей и сервисов, к которым они имеют доступ. Keystone выступает в виде единой системы аутентификации и авторизации облачной платформы. Keystone проверяет действительность учетных записей пользователей, осуществляет сопоставление пользователей проектам OpenStack и ролям, управляет выдачей токенов для доступа. Keystone ведет каталог служб облачной платформы. Доступна интеграция сервиса с LDAP каталогами, а также с Tionix Virtual Security по LDAP и SSO.
  • OpenStack lmage (Glance) – управляет каталогом образов виртуальных машин, которые пользователи могут использовать как шаблоны для запуска экземпляров виртуальных машин в облаке. Glance поддерживает множество различных форматов образов виртуальных дисков.
  • OpenStack Block Storage (Cinder) – управляет блочным хранилищем, которое могут использовать запущенные экземпляры виртуальных машин. Также, данный сервис предоставляет функциональность резервного копирования и создания моментальных снимков.
  • OpenStack Dashboard (Horizon) – позволяет управлять ресурсами облака через веб-консоль.
  • OpenStack Telemetry (Celiometer) – централизованный источник информации по метрикам объектов облачной платформы и данным мониторинга.
  • OpenStack Orchestration (Heat) – обеспечивает автоматизацию процедур в рамках жизненного цикла приложения в облачной инфраструктуре. При помощи механизма шаблонов, описывающих отношения между ресурсами в облачной инфраструктуре, сервис позволяет управлять большинством объектом облачной платформы (виртуальные машины, тома, плавающие IP, пользователи, группы безопасности и т. д.)
  • OpenStack Placement – обеспечивает отслеживание и контроль использования ресурсов, а также для использования различных ресурсов.

Модули облачной платформы (TIONIX Cloud Platform) обеспечивают следующий функционал:

TIONIX.NodeControl – сервис, расширяющий функции платформы OpenStack, связанные с управлением аппаратными ресурсами облачной инфраструктуры.

TIONIX.Dashboard – сервис, расширяющий функции OpenStack Horizon. Модуль дополняет стандартный функционал графическими инструментами, взаимодействующими с остальными модулями ОП TIONIX (BCL).

TIONIX.Monitor – сервис, расширяющий функции платформы OpenStack, связанные с получением статистических данных об основных характеристиках производительности виртуальных машин. Также модуль предоставляет возможности для интеграции с внешними системами мониторинга.

TIONIX.Scheduler – сервис, обеспечивающий отложенный запуск функций остальных модулей TIONIX или платформы OpenStack.

TIONIX.Agent – сервис, предоставляющий сервис для непосредственного управления узлами через RPC-вызовы.

TIONIX Drivers – сервис, предоставляющий драйверы для расширения возможностей служб OpenStack.

TIONIX Client – служебный сервис, необходимый для предоставления доступа к функциональности других сервисов TIONIX.

TIONIX.Approvie – модуль, расширяющий функции ролевой модели OpenStack. Модуль позволяет использовать сторонний сервис для обработки разрешений доступа к ресурсам платформы (OpenStack).

Также, для обеспечения работоспособности данных сервисов используется:

  • система управления базами данных MariaDb – для хранения данных облака (машины, сети, диски и т.д);
  • шина обмена данными RabbitMQ – для обмена данными между распределенными сервисами;
  • memcached – система кеширования данных сервисов;
  • веб-сервер Apache – для обеспечения работоспособности сервисов Keystone, Dashboard и Placement.
../_images/111.png

Рис. 2.3 Схема взаимодействия данных между сервисами