Эластичность (системный ресурс)
В распределенной системе и системном ресурсе эластичность определяется как «степень, в которой система способна адаптироваться к изменениям рабочей нагрузки путем выделения и отмены выделения ресурсов автономным образом, так что в каждый момент времени доступные ресурсы соответствуют текущим». требовать как можно ближе». [1] [2] Эластичность — это определяющая характеристика, которая отличает облачные вычисления от ранее предложенных парадигм вычислений, таких как грид-вычисления . Динамическая адаптация мощности, например, путем изменения использования вычислительных ресурсов для удовлетворения изменяющейся рабочей нагрузки, называется «эластичными вычислениями». [3] [4]
По мнению авторов, в мире распределенных систем существует несколько определений, некоторые из которых считают концепцию масштабируемости частью эластичности, другие — отдельными понятиями.
Пример
[ редактировать ]Давайте проиллюстрируем эластичность на простом примере поставщика услуг, который хочет запустить веб-сайт в облаке IaaS . На данный момент , веб-сайт непопулярен, и одной машины (чаще всего виртуальной машины ) достаточно для обслуживания всех пользователей Интернета. На данный момент , веб-сайт внезапно становится популярным, например, в результате большого количества посетителей , и одной машины уже недостаточно для обслуживания всех пользователей. Учитывая количество веб-пользователей, одновременно получающих доступ к веб-сайту, и требования к ресурсам веб-сервера , может потребоваться десять машин. Эластичная система должна немедленно обнаружить это состояние и предоставить девять дополнительных компьютеров из облака, чтобы оперативно обслуживать всех веб-пользователей.
Во время , сайт снова становится непопулярным. Десять машин, которые в настоящее время выделены для веб-сайта, в основном простаивают, и одной машины будет достаточно для обслуживания небольшого числа пользователей, обращающихся к веб-сайту. Эластичная система должна немедленно обнаружить это состояние, деинициализировать девять машин и переместить их в облако.
Цель
[ редактировать ]Эластичность направлена на сопоставление объема ресурсов, выделенных для услуги, с объемом ресурсов, которые ей фактически необходимы, избегая избыточного или недостаточного выделения ресурсов. Следует избегать избыточного выделения ресурсов , то есть выделения большего количества ресурсов, чем требуется, поскольку поставщику услуг часто приходится платить за ресурсы, выделенные для услуги. Например, Amazon EC2 сверхбольшой экземпляр M4 стоит 0,239 доллара США в час. Если служба выделила две виртуальные машины, а требуется только одна, поставщик услуг тратит впустую 2095 долларов США каждый год. поставщика услуг Следовательно, расходы превышают оптимальные, а его прибыль снижается.
Следует избегать недостаточного выделения ресурсов , то есть выделения меньшего количества ресурсов, чем требуется, иначе служба не сможет предоставлять своим пользователям хороший сервис. В приведенном выше примере недостаточное предоставление веб-сайта может сделать его медленным или недоступным. Пользователи Интернета со временем отказываются от доступа к нему, таким образом, поставщик услуг теряет клиентов. провайдера В долгосрочной перспективе доходы снизятся, что также уменьшит их прибыль.
Проблемы
[ редактировать ]Время предоставления ресурсов
[ редактировать ]Одна из потенциальных проблем заключается в том, что эластичность требует времени. Облачная виртуальная машина (ВМ) может быть приобретена пользователем в любое время; однако подготовка приобретенной виртуальной машины к использованию может занять до нескольких минут. Время запуска виртуальной машины зависит от таких факторов, как размер образа, тип виртуальной машины, расположение центра обработки данных, количество виртуальных машин и т. д. [5] Поставщики облачных услуг имеют разную производительность запуска виртуальных машин. Это означает, что любой механизм управления, разработанный для эластичных приложений, в процессе принятия решения должен учитывать время, необходимое для того, чтобы действия по эластичности вступили в силу. [6] например, предоставление другой виртуальной машины для определенного компонента приложения.
Мониторинг эластичных приложений
[ редактировать ]Эластичные приложения могут выделять и освобождать ресурсы (например, виртуальные машины) по требованию для определенных компонентов приложения. Это делает облачные ресурсы нестабильными, а традиционные инструменты мониторинга, которые связывают данные мониторинга с конкретным ресурсом (например, виртуальной машиной), например Ganglia или Nagios , больше не подходят для мониторинга поведения эластичных приложений. Например, в течение своего существования уровень хранения данных эластичного приложения может добавлять и удалять виртуальные машины хранения данных из-за требований к стоимости и производительности, изменяя количество используемых виртуальных машин. Таким образом, для мониторинга эластичных приложений необходима дополнительная информация, например, связывание логической структуры приложения с базовой виртуальной инфраструктурой. [7] Это, в свою очередь, порождает другие проблемы, например, как агрегировать данные от нескольких виртуальных машин для извлечения поведения компонента приложения, работающего поверх этих виртуальных машин, поскольку разные показатели, возможно, придется агрегировать по-разному (например, использование процессора может быть усреднено, сеть трансфер можно подвести).
Требования эластичности
[ редактировать ]При развертывании приложений в облачных инфраструктурах (IaaS/PaaS) необходимо учитывать требования заинтересованных сторон, чтобы обеспечить надлежащее поведение эластичности. Несмотря на то, что традиционно можно было бы попытаться найти оптимальный компромисс между стоимостью и качеством или производительностью, для реальных пользователей облака требования к поведению более сложны и нацелены на несколько измерений эластичности (например, SYBL [8] ).
Несколько уровней контроля
[ редактировать ]Облачные приложения могут быть разных типов и сложности, с несколькими уровнями артефактов, развернутыми в слоях. Управление такими структурами должно учитывать множество проблем, и в этом смысле подходом является rSYBL . [9] Для многоуровневого контроля системы управления должны учитывать влияние контроля более низкого уровня на более высокий уровень и наоборот (например, одновременное управление виртуальными машинами, веб-контейнерами или веб-сервисами), а также конфликты, которые могут возникнуть. между различными стратегиями управления на разных уровнях. [10] Эластичные стратегии в облаках могут использовать преимущества методов теории управления (например, прогнозирующее управление было экспериментировано в облачных сценариях и продемонстрировало значительные преимущества по сравнению с реактивными методами). [11]
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ Хербст, Николас; Самуил Кунев; Ральф Ройсснер (2013). «Эластичность в облачных вычислениях: что это такое и чем не является» (PDF) . Материалы 10-й Международной конференции по автономным вычислениям (ICAC 2013), Сан-Хосе, Калифорния, 24–28 июня .
- ^ Николас Хербст, Рувен Кребс, Гиоргос Ойконому, Джордж Кусюрис, Атанасия Евангелину, Александру Иосуп и Самуэль Кунев. Готовы к дождю? Взгляд исследования SPEC на будущее облачных метрик. Технический отчет SPEC-RG-2016-01, Исследовательская группа SPEC — Рабочая группа по облачным технологиям, Standard Performance Evaluation Corporation (SPEC), 2016. [1]
- ^ Принципы и парадигмы облачных вычислений , Джон Уайли и сыновья, 2011, ISBN 978-0-470-88799-8
- ^ Перес; и др. (15 июня 2009 г.), Адаптивные эластичные вычисления , Ассоциация вычислительной техники, ISBN 978-1-60558-578-9
- ^ Мао, Мин; М. Хамфри (2012). «Исследование производительности времени запуска виртуальной машины в облаке». 2012 Пятая международная конференция IEEE по облачным вычислениям . п. 423. дои : 10.1109/ОБЛАКО.2012.103 . ISBN 978-1-4673-2892-0 . S2CID 1285357 .
- ^ Гамби, Алессио; Дэниел Молдован; Джорджиана Копил; Хун-Линь Чыонг; Шахрам Дустдар (2013). «Об оценке задержек срабатывания в упругих вычислительных системах». 2013 8-й Международный симпозиум по разработке программного обеспечения для адаптивных и самоуправляемых систем (SEAMS) . стр. 33–42. CiteSeerX 10.1.1.353.691 . дои : 10.1109/SEAMS.2013.6595490 . ISBN 978-1-4673-4401-2 . S2CID 13269185 .
{{cite book}}
: CS1 maint: дата и год ( ссылка ) - ^ Молдаванин, Даниэль; Джорджиана Копил; Хун-Линь Чыонг; Шахрам Дустдар (2013). «MELA: Мониторинг и анализ эластичности облачных сервисов». 2013 5-я Международная конференция IEEE по технологиям и науке облачных вычислений . Том. 1. С. 80–87. дои : 10.1109/CloudCom.2013.18 . ISBN 978-0-7695-5095-4 . S2CID 8362285 .
- ^ Джорджиана Копил, Дэниел Молдован, Хонг-Линь Труонг, Шахрам Дустдар, «SYBL: расширяемый язык для управления эластичностью в облачных приложениях» , Материалы 13-го Международного симпозиума IEEE / ACM по кластерным, облачным и грид-вычислениям (CCGrid) , май 14–16 ноября 2013 г., Делфт, Нидерланды
- ^ Джорджиана Копил, Дэниел Молдован, Хонг-Линь Труонг, Шахрам Дустдар, «Определение, мониторинг и управление эластичностью облачных сервисов» , Материалы 11-й Международной конференции по сервис-ориентированным вычислениям . Берлин, Германия, 2–5 декабря 2013 г. doi=10.1007/978-3-642-45005-1_31.
- ^ Кранас, Павлос (2012). «ElaaS: инновационная эластичность как сервисная платформа для динамического управления на уровнях облачного стека». 2012 Шестая международная конференция по сложным, интеллектуальным и программно-емким системам . стр. 1042–1049. дои : 10.1109/CISIS.2012.117 . ISBN 978-1-4673-1233-2 . S2CID 18233634 .
- ^ Менкальи, Габриэле; Ваннески, Марко (6 февраля 2014 г.). «На пути к системному подходу к динамической адаптации структурированных параллельных вычислений с использованием прогнозирующего управления моделью». Кластерные вычисления . 17 (4): 1443–1463. дои : 10.1007/s10586-014-0346-3 . S2CID 254374635 .
Внешние ссылки
[ редактировать ]- Определение облачных вычислений NIST . Питер Мелл и Тимоти Гранс, специальная публикация NIST 800–145 (сентябрь 2011 г.). Национальный институт стандартов и технологий Министерства торговли США.