Модель вычислительных сервисов облачной системы с поддержкой программно-конфигурируемых сетей и контейнеров

ШЕСТОЙ ТЕХНОЛОГИЧЕСКИЙ УКЛАД: МЕХАНИЗМЫ И ПЕРСПЕКТИВЫ РАЗВИТИЯ

13-14 ноября 2015 г.

УДК 519.687

МОДЕЛЬ ВЫЧИСЛИТЕЛЬНЫХ СЕРВИСОВ ОБЛАЧНОЙ СИСТЕМЫ С ПОДДЕРЖКОЙ ПРОГРАММНО-КОНФИГУРИРУЕМЫХ СЕТЕЙ

И КОНТЕЙНЕРОВ

П. Н. Полежаев

Многие современные средние и крупные компании в области информационных технологий используют облачные системы с целью размещения собственных бизнес-приложений. Это дает возможность снизить стоимость их эксплуатации и сопровождения, а также потреблять и оплачивать только необходимые вычислительные и сетевые ресурсы.

Технология контейнеров позволяет на уровне ОС Linux запускать приложения в изолированных окружениях с изолированной файловой системой, памятью, квотами и собственной сетью. В отличие от тяжеловесной технологии виртуализации, контейнеры используют общее ядро Linux и являются очень легковесными в плане издержек потребления оперативной памяти и процессорного времени. Контейнеры также упрощают развертывание и перенос программ со всеми зависимостями - файлами и библиотеками. Однако, контейнеры не поддерживают живую миграцию (перенос на другое место без остановки), а также работают только с ОС Linux. Одной из активно используемых в настоящее время технологий контейнеризации приложений является Docker [ 1].

В рамках настоящего исследования планируется соединить технологию виртуализации с технологией контейнеров. Предлагается поверх физических ресурсов центра обработки данных (ЦОД) развернуть облачную систему с поддержкой IaaS (InfrastructureasaService), что позволит запускать виртуальные машины на серверах и обеспечит должный уровень изоляции. Внутри виртуальных машин в среде ОС Linux предлагается запускать Docker с контейнерами, содержащими облачные сервисы. Планируется найти баланс между количеством виртуальных машин и количеством контейнеров внутри них, чтобы обеспечить должный уровень интерактивности разворачиваемых внутри контейнеров сервисов и обеспечить максимально эффективное использование физических ресурсов серверов.

Данная статья призвана описать модель вычислительного сервиса облачной системы с поддержкой вышеупомянутых технологий.

Каждый вычислительный сервис облачной системы может быть представлен в виде динамического взвешенного ориентированного графа:

G(t) = (V, E, d (e, t), w(v)),

где V - множество вершин, представляющих собой компоненты сервиса;

E - максимальное полное множество дуг (сетевых соединений), допустимых между вершинами V;

d(e,t) - функция, определяющая количество передаваемых данных по дуге e е E в момент времени t е {0,1,2,...};

w(v) - характеристики вершины v е V .

Если d (e, t) = 0, то дуга e отсутствует в момент времени t.

Множество компонентов представляет собой следующее объединение:

V = P и Q и D и S,

где P - набор запущенных программ (процессов),

q - множество используемых очередей,

D - множество хранилищ данных,

S - множество точек взаимодействия со стандартными сервисами облачной системы (например, сервис СУБД, Hadoop, Machine Learning).

П. Н. Полежаев

Каждое запущенное приложение p е P представляет собой параллельную программу, которая характеризуется следующим вектором:

w( p) = (n, m(t ), u(t), c).

Здесь n - количество создаваемых потоков,

m(t) - объем используемой оперативной памяти в момент времени t, u(t) - средняя загруженность вычислительных ядер в момент времени t, c - контейнер облачной системы, назначенный для исполнения программы. Очередь q е Q характеризуется следующими параметрами:

w(q) = (/(t), a(t), c),

где /(t) и a(t) - соответственно размер очереди и общий объем хранимых в ней данных в момент времени t ,

c - контейнер, используемый для размещения очереди.

Каждое хранилище данных d е D имеет следующий набор параметров:

w(d ) = (G, g (t ), c),

где G и g (t ) - соответственно максимальный размер и текущий размер в момент времени t, с - контейнер, содержащий данное хранилище данных.

Данный динамический граф описывает отображение компонентов сервиса на контейнеры, развернутые поверх виртуальных машин, которые запущены на серверах облачной системы. Он будет использован при разработке алгоритма проактивной маршрутизации сетевого трафика с использованием технологии программно-конфигурируемых сетей.

Основная идея технологии программно-конфигурируемых сетей (ПКС, SoftwareDefined-Networks) [2] заключается в отделении уровня управления от уровня передачи данных на сетевых устройствах и в вынесении уровня управления на отдельный сервер, называемый контроллером. ПО данного сервера (контроллер OpenFlow) предоставляет некоторый высокоуровневый API, позволяющий разрабатывать собственные сетевые приложения, включая алгоритмы маршрутизации и балансировки нагрузки [3, 4, 5].

Суть проактивной маршрутизации заключается в возможности устанавливать заранее (до его запуска) маршруты передачи данных между компонентами облачного сервиса. Это позволит снизить время передачи данных по сети и увеличить пропускную способность облачных сервисов (количество обрабатываемых запросов в единицу времени).

Разработанная модель позволяет описать структуру облачных сервисов, компоненты которых разворачиваются в контейнерах, запускаемых внутри виртуальных машин облачной системы. Исследования выполнены при поддержке РФФИ (проекты № 15-07-06071 и № 1547-02686), Президента Российской Федерации, стипендии для молодых ученых и аспирантов (СП-2179.2015.5).

ЛИТЕРАТУРА

1. Docker - Build, Ship, and Run Any App, Anywhere. - URL: https://www.docker.com/. -Последнееобращение 22.09.2015.

2. Konnov A. L., Legashev L. V., Polezhaev P. N., Shukhman A. E. Concept of Cloud Educational Resource Datacenters for Remote Access to Software // Proceedings of 11th International Conference on Remote Engineering and Virtual Instrumentation. - 2014. - PP.246247.

3. Полежаев П. Н., Ушаков Ю. А., Поляк Р. И., Миронов А. П. Применение методов муравьиной колонии в разработке эффективных алгоритмов маршрутизации и обеспечения QoS для корпоративных программно-конфигурируемых сетей // Интеллект. Инновации. Инвестиции, 2014. -№ 4. - C. 106-113.

4. Полежаев П. Н., Бахарева Н. Ф., Шухман А. Е. Разработка эффективного генетического алгоритма маршрутизации и обеспечения качества обслуживания для программно-

Модель вычислительных сервисов облачной системы с поддержкой программно-конфигурируемых сетей

и контейнеров

конфигурируемой сети. - Вестник Оренбургского государственного университета. -2015. -№ 1 (176). С. 213-217. 5. Polezhaev P., Shukhman A., Konnov A. Development of educational resource datacenters based on software defined networks // Proceedings of 2014 International Science and Technology Conference "Modern Networking Technologies", 2014. - PP. 133-139.