Исследование вопросов оптимизации в облачных сетях с точки зрения различных участников бизнес-процесса
Ключевые слова: облачные вычисления, облачные технологии, оптимизация, SaaS, PaaS, IaaS.
Проводится исследование различных аспектов оптимизации облачных вычислений с целью улучшения качества предоставления услуг, снижения расходов, выявления ресурсоемких операций и прогнозирования требований к вычислительным ресурсам. Рассматривается многоуровневая модель предоставления услуг, включающая различных участников бизнес-процесса: провайдеров архитектуры, платформы, сервис-провайдеров и абонентов услуг.
Ефимушкин И.В.
Ведущий специалист ООО "Светец Технолоджи", [email protected]
Введение
Модель облачных вычислений позволила пользователям сместить собственные затраты в операционную сферу, передав функции построения, развития и эксплуатации центров обработки данных (ЦОД) на аутсорсинг специалистам. Такой подход особенно актуален для компаний среднего и малого бизнеса (СМБ), у которых могут отсутствовать компетентные в этой сфере сотрудники и ресурсы для настройки и поддержки аппаратного и программного обеспечения (ПО). Создание данной модели стало возможным благодаря следующим двум технологиям:
• виртуализация — процесс представления физических ресурсов в виде множества логических, при котором сохраняются все свойства оригинальных ресурсов [ 1 ]. Такой подход позволяет уйти от ограничений связанных с реализацией, географическим положением, конфигурацией и организовать изоляцию вычислительных процессов и ресурсов;
• предоставление ПО как услуги (SaaS) — бизнес-модель продажи ПО, при котором выполнение, размещение и администрирование осуществляется удаленно через Интернет.
На сегодняшний день основная мотивация перехода компаний к облачным услугам — экономическая. Услуги, предоставляемые по бизнес-модели SaaS могут быть доступны даже компаниям, у которых нет ни ресурсов для настройки и поддержки ПО, ни сотрудников с компетенциями в данной сфере деятельности. Прежде всего это компании СМБ, для которых использование облачных вычислений позволяет избежать дополнительных затрат, связанных с установкой и обслуживанием оборудования и технической поддержкой программного обеспечения. Все эти функции берет на себя сервис-провайдер услуги.
Исключение капитальных затрат и небольшие операционные расходы при использовании облачных вычислений предоставляют компаниям возможности сначала попробовать услуги, прежде чем внедрять их в собственные бизнес-процессы. При этом прозрачные модели ценообразования и гибкие средства увеличения/ снижения ресурсов услуги позволяют заранее планировать возможные расходы компании. Такой подход особенно актуален для молодых компаний, которые только начинают развивать свой бизнес.
Согласно исследованием компании Parallels спрос на услуги SaaS будет расти и к 2015 г. доля услуг SaaS среди всех IT решений компаний СМБ составит 67%, рис.1.
В настоящее время облачные технологии активно развиваются по всему миру. С точки зрения Национального института стандартов
и технологий США (NIST, The National Institute of Standards and Technology) современные облачные вычисления характеризуются следующими свойствами:
• самообслуживание по требованию (On-Demand Self-Service) — предоставление пользователю возможности самостоятельного определения и изменения потребностей в ресурсах (производительность процессора, скорость доступа, объем данных и др.);
• универсальный доступ (Broad Network Access) — предоставление пользователям доступа по сети передачи данных вне зависимости от используемых терминальных устройств;
• единый пул ресурсов (Resource Pooling) — объединение ресурсов для обслуживания большого числа пользователей с возможностью динамического перераспределения мощностей;
• быстрая эластичность (Rapid Elasticity) — предоставление пользователям возможностей в любой момент времени сузить или расширить услуги, в части одного или нескольких ресурсов без дополнительных издержек на взаимодействие с поставщиком;
• средства измерения (Measured Service) — автоматическое измерение потребленных ресурсов (например, объем хранимых данных, пропускная способность, число пользователей, количество транзакций) всех пользователей услуг.
Модель многоуровневой облачной сети
Далее в статье исследуется модель многоуровневой облачной сети со следующими участниками бизнес-процесса предоставления услуги:
• провайдеры инфраструктуры (IaaS-provider);
• провайдеры платформы (PaaS-provider);
• провайдеры ПО и приложений (SaaS-provider);
• конечные абоненты услуг.
Анализ опирается на современные тенденции облачных вычислений. В настоящее время проводится множество исследований в
сфере облачных вычислений, и в частности по вопросам оптимизации ресурсов [2]. Тем не менее, на сегодняшний день нет четкого видения, каким-образом различные участники бизнес-процесса могут сотрудничать с целью общей выгоды.
Рассмотрим многоуровневую облачную архитектуру со следующими тремя уровнями виртуализации:
• уровень 1ааБ — виртуализация аппаратного уровня и различных вычислительных ресурсов (процессор, оперативная память, дисковое пространство). Ресурсы выделяются по требованию и оплачиваются по времени потребления;
• уровень РааБ — разработчикам предлагается среда для разработки, тестирования и развертывания своих приложений, которая может включать различное базовое ПО, средства горизонтального и вертикального масштабирования, возможности балансировки нагрузки и пр. Уровень РааБ использует виртуальные ресурсы и средства управления ресурсами уровня 1ааБ. На одном уровне виртуализации 1ааБ может быть развернуто несколько решений РааБ;
• уровень БааБ состоит из простых или композитных услуг (приложений), которые предлагаются конечным абонентам. В модели данные приложения развертываются на базе платформ РааБ.
Каждый уровень в соответствии с основными свойствами облачных вычислений включает средства управления предоставляемыми ресурсами и приложениями. Рассмотрим случай, при котором уровни 1ааБ, РааБ и БааБ принадлежат разным участникам бизнес-процесса [3]. При этом каждый уровень будет использовать только ресурсы и приложения нижнего слоя в режиме закрытой архитектуры.
В силу отличия бизнес-целей каждый слой будет иметь различные цели оптимизации, критерии и механизмы.
Рассмотрим основные цели участников бизнес-процесса предоставления услуги БааБ, а также доступные средства оптимизации и критерии оптимизации, рис. 2.
В каждом слое отражены основные экономические интересы владельца — увеличение прибыли или увеличение удовлетворенности конечных пользователей услуг [4].
Для владельцев ЦОД уровень доходов зависит во многом от количества потребляемых вычислительных ресурсов и капитальных и операционных затрат на данные ресурсы. В связи с этим основной задачей оптимизации является минимизация количества оборудования при обслуживании запросов уровня PaaS в условиях обеспечения договорных обязательств на предоставление установленного количества сетевых и вычислительных ресурсов.
Уровень IaaS имеет средства мониторинга информации о загрузке, наличии и расположении ресурсов, как для аппаратного обеспечения, так и для виртуальных машин (ВМ). Основными средствами оптимизации уровня IaaS является перераспределение вычислительных мощностей и дискового пространства для ВМ.
Доходы уровня PaaS связаны с приложениями и услугами SaaS, которые были размещены разработчиками: потребляемые ресурсы и лицензии на программное обеспечение. Провайдер PaaS оплачивает ресурсы, предоставленные уровнем IaaS (виртуальные машины, дисковое пространство, сети передачи данных), стоимость лицензий третьих сторон (например, на серверы приложений или базы данных) и нарушения соглашений об уровне обслуживания (SLA).
В связи с этим, основными бизнес-целями уровня PaaS являются:
• увеличение нагрузки на платформу со стороны разработчиков приложений SaaS;
• минимизация используемых вычислительных, дисковых и сетевых ресурсов;
• минимизация штрафов — выполнение условий SLA
На уровне PaaS доступна возможность мониторинга ресурсов ВМ, контейнеров для приложений SaaS и используемых лицензий третьих сторон. Основными средствами оптимизации являются следующие действия:
• изменение количества, размера и типа ВМ;
• распределение контейнеров в ВМ.
Для владельцев SaaS уровень доходов, как правило, зависит от числа конечных пользователей и/или используемых разовых возможностей приложения, например, посекундная тарификация услуг
Рис. 2. Бизнес-цели участников процесса предоставления услуги SaaS
телефонной связи в рамках виртуальной IP-АТС. Расходы, в свою очередь, включают оплату ресурсов и возможностей уровня PaaS (по объему использования или согласно подписке).
На уровне SaaS доступна возможность контроля качества предоставления услуг (QoS) с целью оптимизации в соответствии с собственными задачами. В зависимости от типа предоставляемых услуг, могут использоваться различные параметры QoS, например, время отклика для запроса пользователя [5].
При этом для владельцев приложений SaaS основными средствами оптимизации являются:
• контроль количества и качества ресурсов, предоставляемых PaaS;
• изменения топологии решения — настройка контейнеров развертывания приложений;
• настройка параметров приложений;
• исследование ПО — поиск узких мест в собственном приложении, требующих значительного количества ресурсов.
В результате изучения целей, критериев и средств оптимизации можно выделить общий момент, единый для всех участников бизнес-процесса — это поддержка заданного уровня качества предоставляемой услуги.
В облаке, находящемся в процессе эксплуатации, процесс оптимизации выполняется непрерывно [6]. Это связано с постоянными изменениями условий нагрузки на все уровни модели облачных вычислений:
• внедряются новые услуги и платформы;
• изменяется абонентская база услуг;
• выходят из строя аппаратные и программные компоненты;
• проводятся мероприятия по обслуживанию и пр.
Для уровней IaaS и PaaS решение по оптимизации осуществляется автоматически на базе текущего состояния облака, включающего информацию о приложениях и выделенных ресурсов и о сценариях оптимизации, отслеживающих производительность каждого приложения в облаке. В настоящее время подобные алгоритмы уже разработаны и используются на практике [5].
Для уровня SaaS вопрос оптимизации используемых облачных ресурсов несколько сложнее в силу следующих факторов:
• небольшие сроки разработки;
• в программный код приложения SaaS должны быть заложены возможности оптимизации ресурсов согласно требованиям уровня PaaS (интерфейсы управления ресурсами различны для каждой платформы PaaS);
• для разработчиков приложений SaaS вопросы оптимизации являются второстепенной задачей: особенно это актуально для стар-
я конечных пользователей
Сервер балансировки нагрузки
Сервер приложения (экземпляр 1)
Сервер приложения
(зкэемпляр2)
Сервер приложения (экземпляр п)
Рис. 3. Имитационная модель контроля и оптимизации ресурсов облачных вычислений
Рис. 4. Топология приложения БааБ
тапов, у которых отсутствуют необходимые ресурсы;
• подходы к реализации ПО являются уникальными для всех приложений: трудно применить единые правила для оптимизации ресурсов облачных вычислений.
В статье исследуется имитационная модель, позволяющая разработчикам приложений БааБ упростить процесс контроля и оптимизации используемых ресурсов, рис. 3.
В модели предполагается, что каждое приложение БааБ можно условно разбить на к независимых функций Е, і = 1,к . Предположим, что выполнение каждой функции Е, по запросу конечного пользователя услуги БааБ потребует определенное количество ресурсов уровня РааБ (Кр, і = 1, I) в течение заданных интервалов времени
т,,, й).
В данной модели под ресурсами подразумеваются виртуальные вычислительные мощности предоставляемые контейнеру приложения на уровне РааБ, например:
• процессорные ресурсы различных платформ по запросу (данный ресурс имеет физические ограничения для одного контейнера);
• объем памяти различных платформ по запросу (данный ресурс имеет физические ограничения для одного контейнера);
• дисковое пространство и дисковые операции для СУБД и обычных хранилищ;
• сетевые ресурсы по запросу (внутренние и внешние) и др.
Отдельно можно выделить лицензии на программные платформы уровня РааБ, которые будут учитываться в зависимости от используемой топологии приложения БааБ, рис. 4.
Определив частоту поступления заявок на выполнение функций приложения БааБ X,, I = 1, к, можно провести моделирование нагрузки и исследовать используемые облачные ресурсы с точки зрения
• отображения используемых ресурсов для каждой отдельной функции приложения БааБ;
• отображения суммарной нагрузки на каждый ресурс всеми функции приложения БааБ;
• превышения установленных ограничений по использованию ресурса РааБ (требуется корректировка топологии приложения) и др.
При разработке ПО данной имитационной модели дополнительно реализуются следующие возможности:
• определение параметров потока поступающих заявок на выполнение функций приложения (с учетом часа наибольшей нагрузки);
• определение топологии приложения БааБ;
• определение стоимости использования ресурсов РааБ;
• графическая визуализация.
В дальнейшем в имитационной модели планируется добавить следующие возможности:
• ограничивающие ресурсы на уровне 1ааБ (например, каналы телефонной связи или лицензии на ПО);
• возможность моделирования нагрузки для компаний, реализующих одновременно два уровня виртуализации — БааБ и РааБ;
• учет различных зависимостей использования ресурсов для функций приложения БааБ.
Заключение
В заключение сформулируем основные подходы при разработке ПО БааБ, которых рекомендуется придерживаться для успешного продвижения приложений:
1. ПО должно поддерживать возможность предоставления услуг большому числу (тысячам) абонентов.
2. Приложение должно обеспечивать средства разделения данных абонентов (включая сокрытие данных от администраторов ПО).
3. Приложение должно поддерживать возможности быстрого масштабирования.
4. При разработке и размещении ПО должен быть решен вопрос доступности к услуге согласно требованиям Б1Л.
5. При разработке ПО должна учитываться скорость выполнения каждой транзакции.
6. Приложение должно предоставлять возможность каждому абоненту настраивать услугу в соответствии с собственными производственными задачами, не затрагивая настройки других абонентов.
7. Приложение должно допускать глобальное использование без географических ограничений, включая языковые.
Литература
1. KephartJ, Chess D. The vision of autonomic computing // IEEE Computer Journal, 2003. — № 1. — Pp. 41-50.
2. Суханов В.И. Минимизация трафика в облачной инфраструктуре // Научный журнал КубГАУ, 2012. — №78 (04).
3. Орлов С. Оптимизация глобальной сети // Журнал сетевых решений, 201 1. — № 9.
4. Litoiu M., Woodside M, Wong J, Ng J., Iszlai G. A business driven cloud optimization architecture // Symposium on Applied Computing, 2010. — Pp. 380-385.
5. Li J., Chineck J., Woodside M, Litoiu M. Fast Scalable Optimization to Configure Service Systems Having Cost and Quality of Service Constraints // In.: ACM/IEEE International Conference on Autonomic Computing, Barcelona, June 2009. — Pp 159-168.
6. Brun Y Engineering Self-Adaptive System through Feedback Loops // Software Engineering for Self-Adaptive Systems., 2009. — Pp.48-70.
The study of the optimization in cloud networks from the point of view of different members of a business process
Ilya Efimushkin Abstract
In this paper different aspects of the optimization of cloud computing are investigated in order to improve service quality, cost reduction, identify resource-intensive operations and forecasting requirements for computational resources. The paper considers the multilevel model of service delivery, including various members of the business process: laaS-provider, PaaS-provider, SaaS-provider and customers.
Cloud computing model enabled users to shift their costs to the operating area, outsourcing the function of construction, development and operation of data center. This model is made possible by the following two technologies:
• virtualization — the process of presenting the physical resources as a set of logical resources, which preserves all the properties of the original resources. This approach allows the escape from the constraints associated with the implementation, geographic location, configuration and and allows you to organize isolation of computing processes and resources
• providing software as a service — a business model of selling software, in which the implementation, deployment and administration is carried out remotely via the Internet.
Keywords: cloud computing, cloud technologies, optimization, SaaS, PaaS, IaaS.