Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Kursach_Ekonomika Стодеревский.docx
Скачиваний:
7
Добавлен:
25.08.2019
Размер:
77 Кб
Скачать
☆

1.2 Архитектура облачных вычислений

Облако построено на одном или нескольких серверах, объединенных между собой системами виртуализации. Также технологии виртуализации позволяют разделить аппаратные мощности на части, которые соответствуют текущим потребностям пользователей, обращающихся к аппаратному обеспечению, как к услуге. В результате пользователь переходит от приобретения, управления и амортизации аппаратных ресурсов к покупке серверного времени, дискового пространства, сетевой пропускной способности, необходимой для выполнения своих задач.

Разделяют программную и аппаратную виртуализацию. Программная виртуализация в данный момент превалирует над аппаратной ввиду того, что долгое время производители процессоров не могли должным образом реализовать поддержку виртуализации. Процесс внедрения новой технологии в процессоры требовал серьезного изменения их архитектуры, введения дополнительных инструкций и режимов работы процессоров. Несмотря на то, что программные платформы весьма продвинулись в отношении быстродействия и предоставления средств управления виртуальными машинами, технология аппаратной виртуализации имеет некоторые неоспоримые преимущества перед программной:

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

  • Возможность увеличения быстродействия платформ виртуализации. Поскольку управление виртуальными гостевыми системами производится с помощью небольшого промежуточного слоя программного обеспечения (гипервизора) напрямую, в перспективе ожидается увеличение быстродействия платформ виртуализации на основе аппаратных техник.

  • Возможность независимого запуска нескольких виртуальных платформ с возможностью переключения между ними на аппаратном уровне. Несколько виртуальных машин могут работать независимо, каждая в своем пространстве аппаратных ресурсов, что позволит устранить потери быстродействия на поддержание хостовой платформы, а также увеличить защищенность виртуальных машин за счет их полной изоляции.

  • Отвязывание гостевой системы от архитектуры хостовой платформы и реализации платформы виртуализации. С помощью технологий аппаратной виртуализации возможен запуск 64-битных гостевых систем из 32-битных хостовых системах, с запущенными в них 32-битными средами виртуализации.

Подход к облачным системам различается степенью контроля над низким уровнем, который предоставляется клиенту.

IaaS ― в модели «инфраструктура, как услуга» предоставляется виртуализированная среда на базе некоторых серверов, объединенных в кластеры. Фактически, пользователю предоставляется виртуальная машина, которая работает на системах провайдера, внутри которой есть все возможности для установки сначала ОС, а потом уже настройки необходимого ПО. Предоставляемые аппаратные ресурсы могут быть гибко и почти мгновенно изменены в большую или меньшую сторону. Также возможно взять как услугу несколько таких виртуальных серверов; соответственно, можно создать между ними свою локальную сеть. Пользователю не предоставляется доступ к уровню ниже, чем слой виртуализации (наиболее часто используется Xen или Vmware).

PaaS ― модель «платформа, как сервис» обладает максимальной гибкостью и расширяемостью, но это оборачивается предоставлением не просто виртуальной машины или некоторых ресурсов, но целых библиотек и API. Пользователю предоставляется возможность запускать собственные приложения, часто серьезно ограничивая в выборе языка программирования и дополнительных библиотек. Зато такое приложение сможет гибко получать ресурсы по запросу. В данной модели пользователь не имеет доступа не только к аппаратному обеспечению, но и к операционной системе и среде виртуализации. Все, с чем работает пользователь – это вызовы API и библиотек, предоставленных сервисом.

Существует зависимость: чем проще язык и API, в рамках, которых работают программы, тем легче и гибче их масштабировать. Поэтому крайне сложно встретить в облачных системах привычные для веб-разработчиков ресурсы, по крайней мере, в стандартном виде, например, традиционные SQL-реляционные СУБД крайне плохо подходят для масштабируемых систем (за редким исключением, вроде Oracle или DB2). Вместо них используются собственные разработки, а также сторонние открытые решения. Одним из самых популярных решений стали key-value хранилища данных и системы на базе Google BigTable, а также его открытых аналогов. Это очень похоже на обычный кэш – любые данные приложение записывает в хранилище, ассоциируя их с некоторым ключом, цифровым или простой строкой, потом извлекает или удаляет, указывая ключ. Более продвинутые системы реализуют целые структуры данных, списки, очереди и даже допускают приближенные к SQL выборки с сортировкой и фильтрами. Зачастую изменяется доступ и к файловой системе, которая заменяется подобием привычного хранилища, дополненного системой map/reduce для обработки больших объемов данных.

SaaS ― в модели «приложение, как услуга» пользователь имеет доступ лишь к конкретному приложению. Ни к API, ни к программному коду приложения пользователь доступа не имеет. Все что ему доступно ― это программная среда, обычно в окне браузера и файловое хранилище для своих документов. Ярким примером такого сервиса можно назвать Google Docs для работы с офисными документами и Adobe Air для работы с изображениями.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]