Как стать автором
Обновить

Облачные вычисления (обзор)

Время на прочтение 6 мин
Количество просмотров 4.2K
Облачные вычисления (англ.«cloud computing», также используется термин «облачная обработка данных») ― технология обработки данных, в которой программное и/или аппаратное обеспечение предоставляется пользователю как услуга.

Облаком называют удаленные сервера, на которых разворачиваются виртуальные среды и программное обеспечение. Прямого доступа к аппаратному обеспечению пользователь не имеет, и обычно для доступа к серверам используется интернет. В облачных вычислениях различают несколько видов сервисов, для удобства в их обозначении используют аббривеатуру «as a service», то есть «как сервис», или «в виде услуги».

SaaS (Software as a service; программное обеспечение как услуга) ― модель предоставления программного обеспечения, при которой поставщик разрабатывает веб-приложение и самостоятельно управляет им, предоставляя пользователям доступ к нему через интернет.

PaaS (Platform as a service; платформа как услуга) ― это предоставление интегрированной платформы для разработки, тестирования, развертывания и поддержки приложений как услуги. В облаке функционирует некоторый набор программ, основных сервисов и библиотек, на основе которых предлагается разрабатывать свои приложения. Помимо этого, под PaaS понимают также и отдельные части сложных систем, например системы базы данных или коммуникаций.

IaaS (Infrastructure as a service; инфраструктура как услуга) — это предоставление аппаратных ресурсов, как правило, объединенных на основе виртуализации, как услуги. IaaS состоит из трех основных компонентов ― аппаратные обеспечение (серверы, системы хранения данных, клиентские системы, сетевое оборудование), операционные системы и системное ПО (средства виртуализации, автоматизации, основные средства управления ресурсами), и связующее ПО для управления аппартаным и программным обеспечением.

СaaS (Communication as a service; связь, как услуга) ― подразумевается, что в качестве сервисов предоставляются услуги связи; обычно это IP-телефония, почта и мгновенные коммуникации (чаты, IM).

WaaS (Workplace as a service; рабочее место, как услуга) ―это предоставление рабочего места как услуги, частный случай инфраструктуры, как услуги.

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


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

Разделяют программную и аппаратную виртуализацию. Программная виртуализация в данный момент превалирует над аппаратной ввиду того, что долгое время производители процессоров не могли должным образом реализовать поддержку виртуализации. Процесс внедрения новой технологии в процессоры требовал серьезного изменения их архитектуры, введения дополнительных инструкций и режимов работы процессоров. Несмотря на то, что программные платформы весьма продвинулись в отношении быстродействия и предоставления средств управления виртуальными машинами, технология аппаратной виртуализации имеет некоторые неоспоримые преимущества перед программной:
  • Упрощение разработки платформ виртуализации за счет предоставления аппаратных интерфейсов управления и поддержки виртуальных гостевых систем. Это способствует появлению и развитию новых платформ виртуализации и средств управления, в связи с уменьшением трудоемкости и времени их разработки.
  • Возможность увеличения быстродействия платформ виртуализации. Поскольку управление виртуальными гостевыми системами производится с помощью небольшого промежуточного слоя программного обеспечения (гипервизора) напрямую, в перспективе ожидается увеличение быстродействия платформ виртуализации на основе аппаратных техник.
  • Возможность независимого запуска нескольких виртуальных платформ с возможностью переключения между ними на аппаратном уровне. Несколько виртуальных машин могут работать независимо, каждая в своем пространстве аппаратных ресурсов, что позволит устранить потери быстродействия на поддержание хостовой платформы, а также увеличить защищенность виртуальных машин за счет их полной изоляции.
  • Отвязывание гостевой системы от архитектуры хостовой платформы и реализации платформы виртуализации. С помощью технологий аппаратной виртуализации возможен запуск 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 для работы с изображениями.

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

Недостатки облачных вычислений.
  • Облако обеспечивает более слабую правовую защиту ― данные в облаке оказываются в меньшей степени защищены в случае каких-либо действий, предпринимаемых правоохранительными и другими структурами. Государственные органы или адвокаты, проводящие расследования, вполне могут получить такие данные без ордера на обыск.
  • Пользователь не являетесь владельцем аппаратного обеспечения ― компаниям, которые хотят вести аудит своих провайдеров и проводят свое собственное тестирование, необходимо помнить, что аппаратное обеспечение им не принадлежит. Сканирование с целью поиска уязвимых мест или тщательное тестирование требует недвусмысленного разрешения от провайдера сервисов облака. В противном случае это будет равнозначно тому, что клиент пытается получить неавторизованный доступ к системам провайдера.
  • Необходимы строгие правила работы и обучение пользователей. Постоянная готовность к обслуживанию из любой точки, подключенной к интеренет означает, что атаки фишинга, которым подвергаются сотрудники дома, могут угрожать и компании, в которой они работают.
Теги:
Хабы:
+10
Комментарии 4
Комментарии Комментарии 4

Публикации

Истории

Ближайшие события

Московский туристический хакатон
Дата 23 марта – 7 апреля
Место
Москва Онлайн
Геймтон «DatsEdenSpace» от DatsTeam
Дата 5 – 6 апреля
Время 17:00 – 20:00
Место
Онлайн
PG Bootcamp 2024
Дата 16 апреля
Время 09:30 – 21:00
Место
Минск Онлайн
EvaConf 2024
Дата 16 апреля
Время 11:00 – 16:00
Место
Москва Онлайн