В облачных вычислениях , эластичность определяются как «степень , в которой система способна адаптироваться к изменениям нагрузки путем инициализации и де-выделение ресурсов в вегетативном образом, таким образом, что в каждый момент времени имеющихся ресурсы соответствуют текущей потребности как тесно по возможности ". [1] [2] Эластичность - это определяющая характеристика, которая отличает облачные вычисления от ранее предложенных вычислительных парадигм, таких как grid-вычисления . Динамическая адаптация емкости, например, путем изменения использования вычислительных ресурсов для удовлетворения меняющейся рабочей нагрузки, называется «эластичными вычислениями». [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 июня .
- ^ Nikolas Herbst, Rouven Кребса, Йоргос Oikonomou, Джордж Kousiouris, Афанасия Evangelinou, Александр Iosup, и Самуил Kounev. Готовы к дождю? Взгляд SPEC Research на будущее облачных метрик. Технический отчет SPEC-RG-2016-01, SPEC Research Group - Cloud Working Group, Standard Performance Evaluation Corporation (SPEC), 2016. [1]
- ^ Принципы и парадигмы облачных вычислений , Джон Вили и сыновья, 2011 г., ISBN 978-0-470-88799-8
- ^ Перес; и др., Responsive Elastic Computing , ISBN. 978-1-60558-578-9
- ^ Мао, Мин; М. Хамфри (2012). Исследование производительности времени запуска виртуальной машины в облаке . Труды 5-й Международной конференции IEEE 2012 г. по облачным вычислениям (Cloud2012) . п. 423. DOI : 10,1109 / CLOUD.2012.103 . ISBN 978-1-4673-2892-0.
- ^ Гамби, Алессио; Даниэль Молдован; Джорджиана Копил; Хонг-Линь Чыонг; Шахрам Дустдар (2013). Об оценке задержки срабатывания в упругих вычислительных системах . Труды семинара ICSE по разработке программного обеспечения для адаптивных и самоуправляемых систем (SEAMS) . С. 33–42. CiteSeerX 10.1.1.353.691 . DOI : 10.1109 / SEAMS.2013.6595490 . ISBN 978-1-4673-4401-2.
- ^ Молдован, Даниил; Джорджиана Копил; Хонг-Линь Чыонг; Шахрам Дустдар (2013). MELA: мониторинг и анализ эластичности облачных сервисов . Труды 5-й Международной конференции IEEE по технологиям и науке облачных вычислений (CloudCom 2013) . 1 . С. 80–87. DOI : 10.1109 / CloudCom.2013.18 . ISBN 978-0-7695-5095-4.
- ^ Джорджиана Копил, Даниэль Молдован, Хонг-Лин Чыонг, Шахрам Дустдар, «SYBL: расширяемый язык для управления эластичностью в облачных приложениях» , Материалы 13-го Международного симпозиума IEEE / ACM по кластерным, облачным и сетевым вычислениям (CCGrid) , май 14–16, 2013 г., Делфт, Нидерланды
- ^ Джорджиана Копил, Даниэль Молдован, Хонг-Лин Чыонг, Шахрам Дустдар, «Определение, мониторинг и контроль эластичности облачных сервисов» , Труды 11-й Международной конференции по сервис-ориентированным вычислениям . Берлин, Германия, 2–5 декабря 2013 г. doi = 10.1007 / 978-3-642-45005-1_31
- ^ Кранас, Павлос (2012). ElaaS: инновационная эластичность как платформа услуг для динамического управления на уровнях облачного стека . Труды VI Международной конференции по сложным, интеллектуальным и программному обеспечению интенсивных систем (CISIS) 4-6 июля 2012 года . С. 1042–1049. DOI : 10,1109 / CISIS.2012.117 . ISBN 978-1-4673-1233-2.
- ^ Менкагли, Габриэле; Ваннески, Марко (6 февраля 2014 г.). «На пути к системному подходу к динамической адаптации структурированных параллельных вычислений с использованием модели управления с прогнозированием». Кластерные вычисления . 17 (4): 1443–1463. DOI : 10.1007 / s10586-014-0346-3 .
Внешние ссылки
- Определение облачных вычислений NIST . Питер Мелл и Тимоти Гранс, Специальная публикация NIST 800-145 (сентябрь 2011 г.). Национальный институт стандартов и технологий Министерства торговли США.