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

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 для работы с изображениями.

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