Облачные вычисления
Облачные вычисления (англ. cloud computing) — модель обеспечения удобного сетевого доступа по требованию к некоторому общему фонду конфигурируемых вычислительных ресурсов (например, сетям передачи данных, серверам, устройствам хранения данных, приложениям и сервисам — как вместе, так и по отдельности), которые могут быть оперативно предоставлены и освобождены с минимальными эксплуатационными затратами или обращениями к провайдеру[1].
Потребители облачных вычислений могут значительно уменьшить расходы на инфраструктуру информационных технологий (в краткосрочном и среднесрочном планах) и гибко реагировать на изменения вычислительных потребностей, используя свойства эластичных вычислений (англ. elastic computing) облачных услуг.
С момента появления в 2006 году концепция глубоко проникает в различные ИТ-сферы и занимает всё более и более весомую роль в практике: по оценке IDC рынок публичных облачных вычислений уже к 2009 году составил $17 млрд — около 5 % от всего рынка информационных технологий[2], а в 2014 году суммарные затраты организаций на инфраструктуру и услуги, связанные с облачными вычислениями, оцениваются почти в 175 млрд $[3].
История
Ранние концепции использования вычислительных ресурсов по принципу системы коммунального хозяйства относят к 1960-м годам (к Джону Маккарти или Джозефу Ликлайдеру)[4].
Следующими шагами к концептуализации облачных вычислений считаются появление CRM-системы Salesforce.com, предоставляемой по подписке в виде веб-сайта (1999) и начало предоставления услуг по доступу к вычислительным ресурсам через Интернет книжным магазином Amazon.com (2002)[4]. Развитие сервисов Amazon, фактически превратившейся благодаря этим услугам в технологическую компанию, привело к формулировке идеи эластичных вычислений и запуску в августе 2006 года проекта под названием Elastic Computing Cloud (Amazon EC2). Практически одновременно с запуском ECC термины cloud и cloud computing прозвучали в одном из выступлений главы Google Эрика Шмидта[5][6][7], начиная с этого времени встречаются многочисленные упоминания облачных вычислений в СМИ, в публикациях специалистов по информационным технологиям, в научно-исследовательской среде. Отсылка к «облаку» использовалась как метафора, основанная на изображении Интернета на диаграмме компьютерной сети, или как образ сложной инфраструктуры, за которой скрываются все технические детали.
В начале 2008 года OpenNebula NASA в рамках проекта, финансируемого Европейской комиссией RESERVOIR, стала первым программным обеспечением с открытым исходным кодом для развертывания частных и гибридных облаков. В апреле 2008 года Google выпустил Google App Engine в бета-версии.
К середине 2008 года Gartner увидел возможность с помощью облачных вычислений «сформировать отношения между потребителями ИТ-услуг, теми, кто использует ИТ-услуги, и теми, кто их продает», и отметил, что «организации переходят от принадлежащих компании аппаратных и программных активов к использованию сервисно-ориентированных моделей», так что «прогнозируемый переход к вычислениям приведет к резкому росту ИТ-продукции в некоторых областях и значительному сокращению в других областях».
Запуск в 2009 году приложений Google Apps отмечается как следующий важный шаг к популяризации и осмыслению облачных вычислений[4]. В 2009—2011 годах были сформулированы несколько важных обобщений представлений об облачных вычислениях, в частности, выдвинута модель частных облачных вычислений, актуальная для применения внутри организаций, выделены различные модели обслуживания (SaaS, PaaS, IaaS). В 2011 году Национальный институт стандартов и технологий сформировал определение, которое структурировало и зафиксировало все возникшие к этому времени трактовки и вариации относительно облачных вычислений в едином понятии[8].
Характеристики
Национальным институтом стандартов и технологий США зафиксированы следующие обязательные характеристики облачных вычислений[9]:
- Самообслуживание по требованию (англ. self service on demand) — потребитель самостоятельно определяет свои вычислительные потребности: серверное время, скорости доступа и обработки данных, объём хранимых данных - без взаимодействия с представителем поставщика услуг;
- Универсальный доступ по сети — услуги доступны потребителям по сети передачи данных вне зависимости от используемого терминального устройства;
- Объединение ресурсов (англ. resource pooling) — поставщик услуг объединяет ресурсы для обслуживания большого числа потребителей в единый пул для динамического перераспределения мощностей между потребителями в условиях постоянного изменения спроса на мощности; при этом потребители управляют только основными параметрами услуги (например, объёмом данных, скоростью доступа), но фактическое распределение ресурсов, предоставляемых потребителю, осуществляет поставщик (в некоторых случаях потребители всё-таки могут управлять некоторыми физическими параметрами перераспределения, например, указывать желаемый центр обработки данных из соображений географической близости);
- Эластичность — услуги могут быть предоставлены, расширены, сужены в любой момент времени, без дополнительных издержек на взаимодействие с поставщиком, как правило, в автоматическом режиме;
- Учёт потребления — поставщик услуг автоматически исчисляет потреблённые ресурсы на определённом уровне абстракции (например, объём хранимых данных, пропускная способность, количество пользователей, количество транзакций) и на основе этих данных оценивает объём предоставленных потребителям услуг.
С точки зрения поставщика, благодаря объединению ресурсов и непостоянному характеру потребления со стороны потребителей, облачные вычисления позволяют экономить на масштабах, используя меньшие аппаратные ресурсы, чем требовались бы при выделенных аппаратных мощностях для каждого потребителя, а за счёт автоматизации процедур модификации выделения ресурсов существенно снижаются затраты на абонентское обслуживание.
С точки зрения потребителя эти характеристики позволяют получить услуги с высоким уровнем доступности (англ. high availability) и низкими рисками неработоспособности, обеспечить быстрое масштабирование вычислительной системы благодаря эластичности без необходимости создания, обслуживания и модернизации собственной аппаратной инфраструктуры.
Удобство и универсальность доступа обеспечивается широкой доступностью услуг и поддержкой различного класса терминальных устройств (персональных компьютеров, мобильных телефонов, интернет-планшетов).
Модели развёртывания
Частное облако
Частное облако (англ. private cloud) — инфраструктура, предназначенная для использования одной организацией, включающей несколько потребителей (например, подразделений одной организации), возможно также клиентами и подрядчиками данной организации. Частное облако может находиться в собственности, управлении и эксплуатации как самой организации, так и третьей стороны (или какой-либо их комбинации), и оно может физически существовать как внутри, так и вне юрисдикции владельца.
Публичное облако
Публичное облако (англ. public cloud) — инфраструктура, предназначенная для свободного использования широкой публикой. Публичное облако может находиться в собственности, управлении и эксплуатации коммерческих, научных и правительственных организаций (или какой-либо их комбинации). Публичное облако физически существует в юрисдикции владельца — поставщика услуг.
Общественное облако
Общественное облако (англ. community cloud) — вид инфраструктуры, предназначенный для использования конкретным сообществом потребителей из организаций, имеющих общие задачи (например, миссии, требований безопасности, политики, и соответствия различным требованиям). Общественное облако может находиться в кооперативной (совместной) собственности, управлении и эксплуатации одной или более из организаций сообщества или третьей стороны (или какой-либо их комбинации), и оно может физически существовать как внутри, так и вне юрисдикции владельца.
Гибридное облако
Гибридное облако (англ. hybrid cloud) — это комбинация из двух или более различных облачных инфраструктур (частных, публичных или общественных), остающихся уникальными объектами, но связанных между собой стандартизованными или частными технологиями передачи данных и приложений (например, кратковременное использование ресурсов публичных облаков для балансировки нагрузки между облаками).
Модели обслуживания
Программное обеспечение как услуга
Программное обеспечение как услуга (SaaS, англ. Software-as-a-Service) — модель, в которой потребителю предоставляется возможность использования прикладного программного обеспечения провайдера, работающего в облачной инфраструктуре и доступного из различных клиентских устройств или посредством тонкого клиента, например, из браузера (например, веб-почта) или посредством интерфейса программы. Контроль и управление основной физической и виртуальной инфраструктурой облака, в том числе сети, серверов, операционных систем, хранения, или даже индивидуальных возможностей приложения (за исключением ограниченного набора пользовательских настроек конфигурации приложения) осуществляется облачным провайдером.
Платформа как услуга
Платформа как услуга (PaaS, англ. Platform-as-a-Service) — модель, когда потребителю предоставляется возможность использования облачной инфраструктуры для размещения базового программного обеспечения для последующего размещения на нём новых или существующих приложений (собственных, разработанных на заказ или приобретённых тиражируемых приложений). В состав таких платформ входят инструментальные средства создания, тестирования и выполнения прикладного программного обеспечения — системы управления базами данных, связующее программное обеспечение, среды исполнения языков программирования — предоставляемые облачным провайдером.
Контроль и управление основной физической и виртуальной инфраструктурой облака, в том числе сети, серверов, операционных систем, хранения осуществляется облачным провайдером, за исключением разработанных или установленных приложений, а также, по возможности, параметров конфигурации среды (платформы).
Инфраструктура как услуга
Инфраструктура как услуга (IaaS, англ. Infrastructure-as-a-Service) предоставляется как возможность использования облачной инфраструктуры для самостоятельного управления ресурсами обработки, хранения, сетями и другими фундаментальными вычислительными ресурсами, например, потребитель может устанавливать и запускать произвольное программное обеспечение, которое может включать в себя операционные системы, платформенное и прикладное программное обеспечение. Потребитель может контролировать операционные системы, виртуальные системы хранения данных и установленные приложения, а также обладать ограниченным контролем за набором доступных сетевых сервисов (например, межсетевым экраном, DNS). Контроль и управление основной физической и виртуальной инфраструктурой облака, в том числе сети, серверов, типов используемых операционных систем, систем хранения осуществляется облачным провайдером.
Безопасность и конфиденциальность
Облачные вычисления создают проблемы с конфиденциальностью, поскольку поставщик услуг может получить доступ к данным, находящимся в облаке, в любое время. Он может случайно или намеренно изменить или удалить информацию.[10] Многие облачные провайдеры могут обмениваться информацией с третьими сторонами, если это необходимо в целях правопорядка, без ордера. Это разрешено их политиками конфиденциальности, с которыми пользователи должны согласиться, прежде чем они начнут использовать облачные сервисы. Решения по обеспечению конфиденциальности включают политику и законодательство, а также выбор конечными пользователями способа хранения данных. Пользователи могут шифровать данные, которые обрабатываются или хранятся в облаке, чтобы предотвратить несанкционированный доступ.[11] Системы управления идентификацией также могут предоставить практические решения проблем конфиденциальности в облачных вычислениях. Эти системы различают авторизованных и неавторизованных пользователей и определяют объем данных, доступных каждому объекту.[12] Системы работают, создавая и описывая личности, записывая действия и избавляясь от неиспользуемых идентичностей.
Экономические аспекты
При использовании облачных вычислений потребители информационных технологий могут существенно снизить капитальные расходы — на построение центров обработки данных, закупку серверного и сетевого оборудования, аппаратных и программных решений по обеспечению непрерывности и работоспособности — так как эти расходы поглощаются провайдером облачных услуг. Кроме того, длительное время построения и ввода в эксплуатацию крупных объектов инфраструктуры информационных технологий и высокая их начальная стоимость ограничивают способность потребителей гибко реагировать на требования рынка, тогда как облачные технологии обеспечивают возможность практически мгновенно реагировать на увеличение спроса на вычислительные мощности.
При использовании облачных вычислений затраты потребителя смещаются в сторону операционных — таким образом классифицируются расходы на оплату услуг облачных провайдеров.
Для объяснения экономической составляющей облачных подходов к вычислениям часто используется аналогия с услугами водо- или электроснабжения, предоставляемыми в развитых инфраструктурах по соответствующим коммунальным сетям, легкодоступными и оплачиваемыми по мере потребления, в сравнении с разработкой каждым потребителем собственного водозабора или монтированием собственной электроустановки[6].
Технологии
Для обеспечения согласованной работы узлов вычислительной сети на стороне облачного провайдера используется специализированное связующее программное обеспечение, обеспечивающее мониторинг состояния оборудования и программ, балансировку нагрузки, обеспечение ресурсов для решения задачи.
Облачные сервисы являются комбинацией существующих технологических решений, которые взаимно интегрированы для обеспечения максимального автоматизма и минимизации участия человека в работе комплекса. Можно выделить основные блоки, которые в первую очередь отличают «облачный» сервис от классического:
- Портал самообслуживания – инструмент, посредством которого пользователь может заказать для себя заранее предопределённый сервис с потенциальным уточнением деталей конфигурации (например, в случае с IaaS, виртуальную машину, уточнив объём требуемой оперативной памяти, число процессорных ядер, размер дискового пространства и т.п.), изменить параметры ранее заказанного сервиса или отказаться от него
- Каталог сервисов – список доступных пользователю сервисов и связанные с каждым из сервисов шаблоны их создания, то есть правила, по которым средства автоматизации будут данный сервис конфигурировать на реальном оборудовании и программном обеспечении
- Оркестратор – механизм, выполняющий последовательность операций, определённых в шаблоне для каждого сервиса
- Система тарификации и выставления счетов (биллинга) – механизм, определяющий объём потреблённых пользователем ресурсов и соотнесение с пользователем соответствующих финансовых затрат.
Одним из основных (но не обязательных) решений для сглаживания неравномерности нагрузки на услуги является размещение слоя серверной виртуализации между слоем программных услуг и аппаратным обеспечением. В условиях виртуализации балансировка нагрузки может осуществляться посредством программного распределения виртуальных серверов по реальным, перенос виртуальных серверов происходит посредством живой миграции.
Критика
Концепция облачных вычислений с публичной моделью подвергалась критике со стороны сообщества свободного программного обеспечения и, в частности, со стороны Ричарда Столлмана, считавшего, что использование стороннего веб-приложения, детали реализации которого не известны пользователю, ничем не отличается от применения проприетарного программного обеспечения с точки зрения пользовательского контроля за информацией[13]. Существует вероятность, что с повсеместным приходом этой технологии станет очевидной проблема создания неконтролируемых данных, когда информация, оставленная пользователем, будет храниться годами, либо без его ведома, либо он будет не в состоянии изменить какую-то её часть. Примером того могут служить сервисы Google, где пользователь не в состоянии удалить неиспользуемые им сервисы и даже удалить отдельные группы данных, созданные в некоторых из них (FeedBurner, Google Friend Connect и, возможно, другие).
Кроме того, некоторые аналитики предполагали появление к 2010 году проблем с облачными вычислениями. Так, например, Марк Андерсон, руководитель отраслевого IT-издания Strategic News Service, считал, что из-за значительного притока пользователей сервисов, использующих облачные вычисления (например, Flickr или Amazon), растёт стоимость ошибок и утечек информации с подобных ресурсов, а в 2010 году должны были произойти крупные «катастрофы типа выхода из строя, или катастрофы, связанные с безопасностью». Так, например, в 2009 году сервис для хранения закладок Magnolia потерял все свои данные. Тем не менее, многие эксперты придерживаются той точки зрения, что преимущества и удобства перевешивают возможные риски использования подобных сервисов[14].
См. также
Примечания
- NIST, 2011, “Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction”, p. 6.
- Gens, Frank. IDC’s New IT Cloud Services Forecast: 2009-2013 (англ.) (недоступная ссылка). IDC (5 октября 2009). Дата обращения: 12 ноября 2011. Архивировано 21 марта 2012 года.
- Louis Columbus. Roundup Of Cloud Computing Forecasts And Market Estimates, 2014 (англ.). Forbes Tech (14 марта 2014). — «In 2014, global business spending for infrastructure and services related to the cloud will reach an estimated $174.2B, up 20% from the amount spent in 2013». Дата обращения: 20 октября 2014.
- Arif Mohamed. A history of cloud computing (англ.). Computer Weekly (27 марта 2009). — «One of the first milestones for cloud computing was the arrival of Salesforce.com in 1999 <…> The next development was Amazon Web Services in 2002 <…> Then in 2006, Amazon launched its Elastic Compute cloud (EC2) <…> Another big milestone came in 2009, as Web 2.0 hit its stride, and Google and others started to offer browser-based enterprise applications, though services such as Google Apps». Дата обращения: 24 сентября 2013.
- Eric Schmidt. Eric Schmidt, Web 2.0 vs. Web 3.0 (англ.). Youtube (20 октября 2011). Дата обращения: 6 ноября 2011.
- Черняк, 2011.
- Cloud Computing Group. Who invented the term Cloud Computing? (англ.). Google Groups (20 октября 2011). Дата обращения: 6 ноября 2011.
- NIST, 2011.
- NIST, 2011, p. 6.
- Ryan, Mark D. Cloud Computing Privacy Concerns on Our Doorstep . cacm.acm.org.
- Haghighat, Mohammad; Zonouz, Saman; Abdel-Mottaleb, Mohamed (2015). “CloudID: Trustworthy cloud-based and cross-enterprise biometric identification”. Expert Systems with Applications. 42 (21): 7905—7916. DOI:10.1016/j.eswa.2015.06.025.
- Indu, I.; Anand, P.M. Rubesh; Bhaskar, Vidhyacharan (2018-08-01). “Identity and access management in cloud environment: Mechanisms and challenges”. Engineering Science and Technology. 21 (4): 574—588. DOI:10.1016/j.jestch.2018.05.010 – via www.sciencedirect.com.
-
- «Катастрофа облачных вычислений» в 2010 г?
Литература
- Gillam, Lee. Cloud Computing: Principles, Systems and Applications / Nick Antonopoulos, Lee Gillam. — L.: Springer, 2010. — 379 p. — (Computer Communications and Networks). — ISBN 9781849962407.
- SoCC ’10: Proceedings of the 1st ACM symposium on Cloud computing / Hellerstein, Joseph M. — N. Y.: ACM, 2010. — ISBN 978-1-4503-0036-0.
Ссылки
- Mell, Peter and Grance, Timothy. The NIST Definition of Cloud Computing (англ.). Recommendations of the National Institute of Standards and Technology. NIST (20 октября 2011). Дата обращения: 6 ноября 2011. Архивировано 21 марта 2012 года.
- Hunsberger, Kelly. Both Sides (англ.) (недоступная ссылка). PMI (1 мая 2011). Дата обращения: 5 ноября 2011. Архивировано 21 марта 2012 года.
- Martin, Richard J. and Hoover, Nicholas. Guide To Cloud Computing (англ.). InformationWeek (21 июня 2008). Дата обращения: 6 ноября 2011. Архивировано 21 марта 2012 года.
- Андрей Крупин. Cloud Computing: высокая облачность . Компьютерра (25 сентября 2009). Дата обращения: 30 сентября 2009.
- Владимир Романченко. Облачные вычисления на каждый день . 3DNews (6 сентября 2009). Дата обращения: 30 сентября 2009.
- Игорь Терехов. Не рано ли Cloud Computing в массы? . Компьютерра (19 октября 2009). Дата обращения: 19 октября 2009.
- Александр Самойленко. Cloud Computing: при чем тут виртуализация? (недоступная ссылка). CNews (23 декабря 2009). Дата обращения: 29 октября 2018. Архивировано 18 августа 2012 года.
- Антон Булусов. ИТ-руководители пока избегают «облачных» технологий . CNews (21 апреля 2010). Дата обращения: 28 апреля 2010.
- Леонид Черняк. Интеграция – основа облака . Открытые системы. СУБД (16 сентября 2011). Дата обращения: 7 февраля 2012.
- Cloud Computing Group. Who invented the term Cloud Computing? (англ.). Google Groups (20 октября 2011). Дата обращения: 6 ноября 2011.