, Россия
ВАК 05.13.01 Системный анализ, управление и обработка информации (по отраслям)
ВАК 05.13.06 Автоматизация и управление технологическими процессами и производствами (по отраслям)
ВАК 05.13.10 Управление в социальных и экономических системах
ВАК 05.13.18 Математическое моделирование, численные методы и комплексы программ
ВАК 05.13.19 Методы и системы защиты информации, информационная безопасность
ГРНТИ 20.01 Общие вопросы информатики
ГРНТИ 28.01 Общие вопросы кибернетики
ГРНТИ 49.01 Общие вопросы связи
ГРНТИ 50.01 Общие вопросы автоматики и вычислительной техники
ГРНТИ 82.01 Общие вопросы организации и управления
В настоящее время широкое распространение и продвижение получили облачные вычисления (cloud computing) – среда для хранения и обработки данных, которая реализует доступ к ресурсам, распределяемым между многими пользователями. Облачные вычисления – это модель организации удаленного доступа по запросу к разделяемому набору конфигурируемых вычислительных ресурсов, которые могут быть быстро выделены и освобождены с минимальными расходами на управление или взаимодействие с провайдером услуг. Использование облаков заметно сокращает расходы крупных компаний, предприятий, в том числе промышленных. Облачные технологии помогают быстро масштабировать бизнес с минимальными затратами, позволяют улучшить продуктивность наряду с упрощением многих бизнес-процессов. Облачные вычисления значительно расширяют возможности, и поэтому сейчас все крупные компании активно переходят на облачные сервисы, при этом возникают существенные проблемы с потреблением энергии. Потребление энергии облачными вычислениями остается серьезной проблемой, поскольку количество центров обработки данных продолжает расти. Предложен подход к выбору энергоэффективной облачной архитектуры, которая нацелена на снижение энергопотребления облачных приложений во всех моделях развертывания, приведены архитектуры облачных инфраструктур. Архитектура поддерживает энергоэффективность при построении, развертывании и эксплуатации сервисов.
облачные вычисления, виртуальные машины, энергопотребление, энергоэффективность, облачные архитектуры
Введение
Текущие тенденции в индустрии демонстрируют непрерывный рост внедрения и рыночной стоимости облачных вычислений, поскольку многие компании меняют свои бизнес-модели и продукты, чтобы адаптироваться к сервис-ориентированным перспективам. Использование облаков позволяет избежать расходов на создание и поддержание функционирования собственных центров обработки данных. Облачные вычисления как ведущий подход к информационно-коммуника-ционным технологиям (ИКТ) обеспечивают гибкую и востребованную инфраструктуру ИКТ, составляющую значительную долю от общего потребления энергии ИКТ. К 2020 г. прогнозируется нерациональное четырехкратное увеличение потребления энергии и выбросов углерода центрами обработки данных, которые используются для обслуживания облачных служб [1] и выбросы которых сопоставимы с выбросами в авиационной промышленности. Поскольку энергоэффективность находится в центре внимания правительств/учреждений ввиду обеспечения рационального, устойчивого инклюзивного роста в рамках перехода к ресурсоэффективной экономике, рассмотрение и повышение энергоэффективности облачных вычислений имеет первостепенное значение.
Исследования энергоэффективности в облачных средах привлекли значительное внимание крупных компаний и сосредоточены на многих аспектах, включая оборудование ИКТ (серверы, сети), а также программные решения, работающие поверх оборудования ИКТ (например, облачная система управления для управления облачной инфраструктурой) [2]. В этом документе рассматривается актуальный вопрос энергоэффективности в облаках, и особое внимание уделяется проектированию и строительству облачных услуг путем внедрения инструментов в рамках эталонной энергоэффективной и самоадаптирующейся архитектуры. Такая архитектура предоставляет новые методы и инструменты для поддержки разработчиков программного обеспечения, направленные на оптимизацию энергоэффективности и минимизацию углеродного следа в результате проектирования, разработки, внедрения и эксплуатации программного обеспечения в облаках. Облачные службы состоят из нескольких общих программных компонентов, которые используются многократно. Эти компоненты затем могут быть охарактеризованы, что позволяет разработчикам программного обеспечения связать конструирование сервиса и энергопотребление. Эта взаимосвязь будет также зависеть от условий развертывания и правильной работы службы, что может быть достигнуто с помощью адаптивной среды.
Разработчикам программного обеспечения, оценивающим различные сценарии развертывания приложений, потребуются различные конфигурации установки. Например, разработчик моделирует через UML различные сценарии развертывания, которые он хочет оценить для потенциального использования в производственной среде, после чего эти модели преобразуются в описания, например XML, которые могут быть преобразованы в артефакты развертываемого виртуального формата.
Анализ существующих методов управления облачными вычислениями
Исследования специалистов во многих странах мира направлены на поддержку энергоэффективности на различных этапах жизненного цикла облачных услуг. На этапе разработки услуг определение требований включает в себя методы сбора, моделирования и обоснования потребностей в энергии, а также методы, ориентированные на линейку продуктов для моделирования и обоснования конфигурации системы [3, 4]. С точки зрения разработки программного обеспечения в связи с энергопотреблением, некоторые исследования связывают осведомленность об энергопотреблении и оптимизацию на уровне приложения и системы [5], концентрацию на профилировании энергопотребления приложения во время выполнения для итеративного сужения до «горячих точек» [7, 8], или рассматривают модели облачной архитектуры для достижения более экологичных бизнес-процессов. На этапе эксплуатации услуг вопросы энергоэффективности были тщательно изучены и сосредоточены, например, на подходах к управлению энергией для распределенного управления виртуальными машинами в облачных инфраструктурах, где целью является улучшение использования вычислительных ресурсов и снижение энергопотребления при рабочей нагрузке независимо от ограничений качества обслуживания [9–11]. В совокупности автоматизированная конфигурация и реконфигурация облачных приложений, наряду с повышенной осведомленностью об энергопотреблении различных решений по развертыванию, дает возможность применения энергосберегающих технологий.
Энергоэффективная облачная архитектура
Чтобы снизить энергопотребление облачной системы, необходима эталонная архитектура, чтобы, во-первых, обеспечить энергию на всех этапах жизненного цикла вычислений, во-вторых, обеспечить энергией исполнительные механизмы для повышения и оптимизации энергоэффективности.
Рассмотрим облачные архитектуры, которые разделены на три отдельных уровня, соответствующие стандартным моделям развертывания облака.
Программное обеспечение как сервис (Software as a Service – SaaS). Пользователю предоставляется возможность использования прикладного программного обеспечения провайдера, работающего в облачной инфраструктуре и доступного из различных клиентских устройств. Контроль и управление основной физической и виртуальной инфраструктурой облака осуществляется облачным провайдером. На уровне SaaS, показанном на рис. 1, набор компонентов и инструментов взаимодействует для облегчения моделирования, проектирования и создания облачного приложения.
Рис. 1. Архитектура Software as a Service – программное обеспечение как сервис
Компоненты помогают оценить энергопотребление облачного приложения при его создании. Для внешнего интерфейса интегрированной среды разработки (IDE – Integrated Development Environment) предоставляется ряд плагинов, позволяющих разработчикам взаимодействовать с компонентами на этом уровне. Подключаемый модуль для требований и моделирования предоставляет разработчикам инструменты для помощи, основанные на моделировании приложения с учетом энергопотребления, а подключаемый модуль оптимизатора кода предоставляет автономные функции для профилирования энергопотребления приложения во время разработки. Наконец, плагин диспетчер экспериментов развертывания помогает связать выходные данные инструментов моделирования SaaS с рабочими нагрузками и архитектурой, учитывающей энергопотребление.
Уровень PaaS (Platform as a Service – платформа как сервис), показанный на рис. 2, обеспечивает функциональность промежуточного программного обеспечения для облачного приложения и облегчает развертывание и работу приложения в целом.
Рис. 2. Архитектура Platform as a Service – платформа как сервис
Компоненты на этом уровне отвечают за выбор наиболее подходящего поставщика энергии для заданного набора требований к энергии, сохраняемого как свойства OVF (Open Virtualization Format – открытый стандарт для хранения и распространения виртуальных машин), и адаптацию приложения к аппаратной среде выбранного поставщика. Здесь также предусмотрен мониторинг уровня приложения, в дополнение к поддержке согласования соглашения об уровне обслуживания SLA (Service Level Agreemen).
Инфраструктура как сервис (Infrastructure as a Service – IaaS). Пользователю предоставляется возможность использования облачной инфраструктуры для самостоятельного управления ресурсами обработки, хранения. Потребители развертывают собственное программное обеспечение, включая операционные системы и приложения на инфраструктуре провайдера. В слое IaaS, показанном на рис. 3, распределение, прием и управление виртуальным ресурсом выполняются через гармонический ряд компонентов.
Рис. 3. Архитектура Infrastructure as a Service – инфраструктура как сервис
Менеджер виртуальных машин (VMM – Virtual Machine Manager) отвечает за управление полным жизненным циклом виртуальных машин, которые развернуты в конкретном поставщике инфраструктуры. Потребление энергии контролируется, оценивается и оптимизируется с использованием переведенных показателей уровня PaaS.
Облако Stack Адаптация фокусируется на энергоэффективности, необходимой для достижения динамического управления энергопотреблением на каждом из слоев облаков, другими словами:
- Внутриуровневая адаптация: относится к локальной адаптации уровня. Он рассматривает расширения среды выполнения, чтобы иметь возможность организовывать вызов различных компонентов приложения с помощью передовых методов планирования, которые учитывают параметры энергоэффективности.
- Межуровневая адаптация: цель состоит в том, чтобы обеспечить управление информацией между облачными уровнями для запуска других уровней для адаптации их энергетического режима, причем основное внимание уделяется обмену информацией и принятию решений между уровнями SaaS, PaaS и IaaS.
Выводы
1. Внутриуровневая адаптация: относится к локальной адаптации уровня. Она рассматривает расширения среды выполнения, чтобы иметь возможность организовать вызов различных компонентов приложения с помощью передовых методов планирования, которые учитывают параметры энергоэффективности.
2. Межуровневая адаптация: цель состоит в том, чтобы обеспечить управление информацией между облачными уровнями для запуска других уровней для адаптации их энергетического режима, причем основное внимание уделяется обмену информацией и принятию решений между уровнями SaaS, PaaS и IaaS.
3. Главной задачей достижения энергоэффективности является возможность облачных архитектур предпринимать адаптивные действия, основанные на факторах энергопотребления, производительности и стоимости на каждом уровне архитектуры. Правильный выбор энергоэффективной архитектуры приведет к оптимизации эффективности использования энергии и минимизации углеродного следа, возникающего в результате проектирования и разработки программного обеспечения на разных уровнях разработки облачных архитектур, при одновременном поддержании других качественных аспектов программного обеспечения на должном и согласованном уровне.
1. Тутова Н. В. Разработка методики оптимизации распределения ресурсов центров обработки данных в сети Интернет: дис. … канд. техн. наук. М.: Изд-во МТУСИ, 2009. 183 с.
2. Дубинин В. Н., Зинкин С. А. Сетевые модели распределенных систем обработки, хранения и передачи данных. Пенза: Приволж. дом знаний, 2013. 452 с.
3. Губарев В. В., Савульчик С. А., Чистяков Н. А. Введение в облачные вычисления и технологии. Новосибирск: Изд-во НГТУ, 2013. 48 с.
4. Тихомиров П. О., Емельянов П. В., Плотник Н. С., Зырянов А. В. Минимизация времени простоя процессов при их миграции в облачном приложении // Вестн. Новосиб. гос. ун-та. Сер.: Информационные технологии. 2014. Т. 12. № 4. С. 112–120.
5. Тутов А. В., Тутова Н. В., Ворожцов А. С. Моделирование процессов распределения ресурсов в облачных центрах обработки данных // Технологии информационного общества. М.: Издат. дом «Медиа паблишер», 2017. С. 107–108.
6. Альжанова Д. И., Баширов А. В. Модель SAAS в образовательном процессе // Актуальные проблемы гуманитарных и естественных наук. 2016. № 4–5. С. 15–17.
7. Колотилов Ю. В., Короленок А. М., Лим В. Г., Субботин В. А. Разработка облачного хранилища для оценки технического состояния магистральных трубопроводов // Нефть, газ и бизнес. 2015. № 7. С. 59–63.
8. Ворожцов А. С., Тутова Н. В., Тутов А. В. Методика оптимального распределения виртуальных серверов в центрах обработки данных // T-Comm: Телекоммуникации и транспорт. 2015. Т. 9. № 7. С. 5–10.
9. Мамзелев А. И. Основные принципы концепции облачных вычислений // T-Comm: Телекоммуникации и транспорт. 2011. Т. 5. № 10. С. 58–59.
10. Скатков А. В., Шевченко В. И. Расширение референтной модели облачной вычислительной среды в концепции крупномасштабных научных исследований // Тр. Ин-та систем. программирования РАН. 2015. Т. 27. № 6. С. 285–306.
11. Прудникова А., Садовникова Т. Анализ облачных сервисов с точки зрения информационной безопасности // T-Comm: Телекоммуникации и транспорт. 2012. Т. 7. С. 153–156.