Основными причинами возникновения и продвижения "облачных" технологий явились следующие:
Потребители облачных вычислений могут значительно уменьшить расходы на инфраструктуру информационных технологий (в краткосрочном - для "стартапов", и среднесрочном планах) и гибко реагировать на изменения вычислительных потребностей, используя свойства вычислительной эластичности (англ. elastic computing) облачных услуг, но полностью теряют свою независимость: информационную, стратегически деловую, идеологическую, политическую.
По оценке IDC рынок публичных облачных вычислений в 2009 году составил $17 млрд - около 5 % от всего рынка информационных технологий.
Первоначально концепция использования вычислительных ресурсов по принципу системы разделения времени была предложена в 1960-е годы и до 1990 широко использовалась в больших организациях, где были "мейнфреймы" - большие вычислительные машины и где много пользователей были подключены к этим ЭВМ. Это была эра мэйнфреймов и коллективного использования ЭВМ. В 1980-х годах появились первые персональные компьютеры: Apple, IBM, и с 1990-х началась эра индивидуальных вычислительных средств, которая длится по сей день. Параллельное развитие сетей и возникновение Интернет наполнило персональные компьютеры морем информации и сделала их основным инструментом эпохи информатизации общества.
Новая волна обобществления вычислительные ресурсов возникла в последнее десятилетие и активно пропагандируется корпорациями - собственниками суперкомпьютеров и и больших сетей. Они стали активно подбрасывать эту идею в массы через интернет-конференции. В результате дискуссии выдвигались различные версии, по одной из которых термин сloud был впервые использован главой компании Google Эриком Шмидтом в выступлении и получил распространение в средствах массовой информации. Другая популярная версия предполагает, что термин cloud computing стал широко употребляться в США с 2005 года после запуска компанией Amazon.com проекта Elastic Compute Cloud (Amazon EC2) и широко распространился в бизнесе, среди поставщиков информационных технологий и в научно-исследовательской среде. Термин “облако” используется как метафора, основанная на изображении Интернета на диаграмме компьютерной сети, или как образ сложной инфраструктуры, за которой скрываются все технические детали.
Национальным институтом стандартов и технологий США зафиксированы следующие обязательные характеристики облачных вычислений:
Самообслуживание по требованию (англ. self service on demand), потребитель самостоятельно определяет и изменяет вычислительные потребности, такие как серверное время, скорости доступа и обработки данных, объём хранимых данных без взаимодействия с представителем поставщика услуг;
Универсальный доступ по сети, услуги доступны потребителям по сети передачи данных вне зависимости от используемого терминального устройства;
Объединение ресурсов (англ. resource pooling), поставщик услуг объединяет ресурсы для обслуживания большого числа потребителей в единый пул для динамического перераспределения мощностей между потребителями в условиях постоянного изменения спроса на мощности; при этом потребители контролируют только основные параметры услуги (например, объём данных, скорость доступа), но фактическое распределение ресурсов, предоставляемых потребителю, осуществляет поставщик (в некоторых случаях потребители всё-таки могут управлять некоторыми физическими параметрами перераспределения, например, указывать желаемый центр обработки данных из соображений географической близости);
Эластичность, услуги могут быть предоставлены, расширены, сужены в любой момент времени, без дополнительных издержек на взаимодействие с поставщиком, как правило, в автоматическом режиме;
Учёт потребления, поставщик услуг автоматически исчисляет потреблённые ресурсы на определённом уровне абстракции (например, объём хранимых данных, пропускная способность, количество пользователей, количество транзакций), и на основе этих данных оценивает объём предоставленных потребителям услуг.
С точки зрения поставщика, благодаря объединению ресурсов и непостоянному характеру потребления со стороны потребителей, облачные вычисления позволяют экономить на масштабах, используя меньшие аппаратные ресурсы, чем требовались бы при выделенных аппаратных мощностях для каждого потребителя, а за счёт автоматизации процедур модификации выделения ресурсов существенно снижаются затраты на абонентское обслуживание.
С точки зрения потребителя, эти характеристики позволяют получить услуги с высоким уровнем доступности (англ. high availability) и низкими рисками неработоспособности, обеспечить быстрое масштабирование вычислительной системы благодаря эластичности без необходимости создания, обслуживания и модернизации собственной аппаратной инфраструктуры.
Удобство и универсальность доступа обеспечивается широкой доступностью услуг и поддержкой различного класса терминальных устройств (персональных компьютеров, мобильных телефонов, интернет-планшетов).
Программное обеспечение как услуга (SaaS, англ. Software-as-a-Service) — модель, в которой потребителю предоставляется возможность использования прикладного программного обеспечения провайдера, работающего в облачной инфраструктуре и доступного из различных клиентских устройств или посредством тонкого клиента, например, из браузера (например, веб-почта) или интерфейс программы. Контроль и управление основной физической и виртуальной инфраструктурой облака, в том числе сети, серверов, операционных систем, хранения, или даже индивидуальных возможностей приложения (за исключением ограниченного набора пользовательских настроек конфигурации приложения) осуществляется облачным провайдером.
Платформа как услуга (PaaS, англ. Platform-as-a-Service) — модель, когда потребителю предоставляется возможность использования облачной инфраструктуры для размещения базового программного обеспечения для последующего размещения на нём новых или существующих приложений (собственных, разработанных на заказ или приобретённых тиражируемых приложений). В состав таких платформ входят инструментальные средства создания, тестирования и выполнения прикладного программного обеспечения — системы управления базами данных, связующее программное обеспечение, среды исполнения языков программирования — предоставляемые облачным провайдером.
Контроль и управление основной физической и виртуальной инфраструктурой облака, в том числе сети, серверов, операционных систем, хранения осуществляется облачным провайдером, за исключением разработанных или установленных приложений, а также, по возможности, параметров конфигурации среды (платформы).
Инфраструктура как услуга (IaaS, англ. IaaS or Infrastructure-as-a-Service) предоставляется как возможность использования облачной инфраструктуры для самостоятельного управления ресурсами обработки, хранения, сетей и другими фундаментальными вычислительными ресурсами, например, потребитель может устанавливать и запускать произвольное программное обеспечение, которое может включать в себя операционные системы, платформенное и прикладное программное обеспечение. Потребитель может контролировать операционные системы, виртуальные системы хранения данных и установленные приложения, а также ограниченный контроль набора доступных сервисов (например, межсетевой экран, DNS). Контроль и управление основной физической и виртуальной инфраструктурой облака, в том числе сети, серверов, типов используемых операционных систем, систем хранения осуществляется облачным провайдером.
При использовании облачных вычислений потребители информационных технологий могут существенно снизить капитальные расходы — на построение центров обработки данных, закупку серверного и сетевого оборудования, аппаратных и программных решений по обеспечению непрерывности и работоспособности — так как эти расходы поглощаются провайдером облачных услуг. Кроме того, длительное время построения и ввода в эксплуатацию крупных объектов инфраструктуры информационных технологий и высокая их начальная стоимость ограничивают способность потребителей гибко реагировать на требования рынка, тогда как облачные технологии обеспечивают возможность практически мгновенно реагировать на увеличение спроса на вычислительные мощности.
При использовании облачных вычислений затраты потребителя смещаются в сторону операционных — таким образом классифицируются расходы на оплату услуг облачных провайдеров.
Для объяснения экономической составляющей облачных подходов к вычислениям часто используется аналогия с услугами водо- или электроснабжения, предоставляемыми в развитых инфраструктурах по соответствующим коммунальным сетям, легкодоступными и оплачиваемыми по мере потребления, в сравнении с разработкой каждым потребителем собственного водозабора или монтированием собственной электроустановки. На самом деле наиболее близкая аналогия - это банковская система, когда предпринимателям даются финансовые средства в виде кредитов, позволяющие осуществлять экономическую деятельность большего масштаба с малым собственным капиталом. Кредиты банков - это "дешевые", "воздушные" деньги, которыми обладает банк в результате своей спекулятивной деятельности. У рядового предпринимателя нет возможности самому "делать" такие "легкие" деньги по причине иной формы деятельности, и он вынужден обращаться к банкам.
Для обеспечения согласованной работы узлов вычислительной сети на стороне облачного провайдера используется специализированное промежуточное программное обеспечение, обеспечивающее мониторинг состояния оборудования и программ, балансировку нагрузки, обеспечение ресурсов для решения задачи.
Одним из основных решений для сглаживания неравномерности нагрузки на услуги является размещение слоя серверной виртуализации между слоем программных услуг и аппаратным обеспечением. В условиях виртуализации балансировка нагрузки может осуществляться посредством программного распределения виртуальных серверов по реальным, перенос виртуальных серверов происходит посредством живой миграции.
Концепция облачных вычислений с публичной моделью подвергалась критике со стороны сообщества свободного программного обеспечения и, в частности, со стороны Ричарда Столлмана:
Использовать веб-приложения для своих вычислительных процессов не следует, например, потому, что вы теряете над ними контроль. И это не лучше, чем использовать любую проприетарную программу. Делайте свои вычисления на своём компьютере, используя программы, уважающие вашу свободу. Если вы используете любую проприетарную программу или чужой веб-сервер, вы становитесь беззащитными. Вы становитесь игрушкой в руках того, кто разработал это ПО.
— “Cloud computing is a trap, warns GNU founder Richard Stallman”, интервью газете The Guardian [6] (англ.)
Существует вероятность, что с повсеместным приходом этой технологии станет очевидной проблема создания неконтролируемых данных, когда информация, оставленная пользователем, будет храниться годами, либо без его ведома, либо он будет не в состоянии изменить какую-то её часть. Примером того могут служить сервисы Google, где пользователь не в состоянии удалить неиспользуемые им сервисы и даже удалить отдельные группы данных, созданные в некоторых из них (FeedBurner, Google Friend Connect и, возможно, другие). В качестве альтернативы “очистке” своего профиля предлагается создать новый. Однако не стоит забывать о том, что имя пользователя уже занято предыдущей учётной записью, а новые — наподобие John22441 — устраивают не всех. Поскольку облачные вычисления будут всецело проприетарны (открытый API не исправляет ситуацию), пока нет надежды на то, что пользователю предоставят средство для удаления своих же данных на подобных серверах.
Кроме того, некоторые аналитики предполагали появление в 2010 году проблем с облачными вычислениями. Так, например, Марк Андерсон, руководитель отраслевого IT-издания Strategic News Service, считал, что из-за значительного притока пользователей сервисов, использующих облачные вычисления (например, Flickr или Amazon), растёт стоимость ошибок и утечек информации с подобных ресурсов, а в 2010 году должны были произойти крупные “катастрофы типа выхода из строя, или катастрофы, связанные с безопасностью”. Так, например, в 2009 году сервис для хранения закладок Magnolia потерял все свои данные. Тем не менее, многие эксперты придерживаются той точки зрения, что преимущества и удобства перевешивают возможные риски использования подобных сервисов[8].
Хотя переход к облачной среде еще не стал всеобщим, нет никаких сомнений, что это превалирующая тенденция, которая будет расти и развиваться. По данным опроса, проведенного компанией Advanced Micro Devices в 2011 году, уже около 37 % компаний пользуются облачной инфраструктурой. И 24 % участников опроса, проведенного в сентябре 2011 года компанией Emerson Network Power среди менеджеров ЦОД, реселлеров и инженеров, подтвердили, что они планируют внедрить или разработать стратегию использования облачных вычислений в ближайшие 18 месяцев. По оценкам компании IDC, объемы продаж на рынке продуктов и услуг публичной облачной среды вырастет с 16 млрд долл. США в 2010 году до 56 млрд в 2014 году. Специалисты Gartner еще более оптимистичны: по их оценкам объем продаж облачных услуг к 2013 году достигнет 150 млрд долл. Независимо от того, чьи прогнозы окажутся более точными, очевидно то, что облачные технологии развиваются, и они — далеко не разрекламированная пустышка, как многие предполагали всего год назад.
Почему же некоторые еще сомневаются и колеблются? Хотя, с момента возникновения облачной среды, провайдеры значительно улучшили механизмы защиты данных и сохранения конфиденциальности, опасения относительно доступа к информации, ее размещения и передачи сохраняются, что препятствует повсеместному применению облачных технологий. Вопрос гибкости системы в целом — еще одна проблема публичной облачной среды. Кроме того, перебои в работе некоторых известных провайдеров облачных услуг, вероятно, являются достаточно весомой причиной сдержанности некоторых компаний, деятельность которых целиком зависит от стабильной доступности сети.
Пропаганда корпораций, предоставляющих облачные сервисы, внушает массам потребителей, что переход к облачной среде позволит навсегда забыть о сбоях и простоях. Так ли это?
Когда компания начинает пользоваться облачными услугами внешнего провайдера, вероятные отказы просто перемещаются из центра данных компании в центр данных провайдера. Единственное, что изменяется, — степень контроля над ситуацией. В собственном центре обработки данных вы сами управляете инфраструктурой и контролируете доступность сети и данных. Такой контроль, естественно, влечет за собой ряд вопросов, связанных с собственностью и ответственностью, которые могут послужить первоочередной причиной перехода к облачной среде. Управление всегда подразумевает ответственность, а некоторые менеджеры отделов информационных технологий предпочитают снять со своих плеч бремя ответственности за обеспечение надежности сети.
При переходе к облачной среде управление инфраструктурой, защищающей ваши данные, в значительной степени переходит к провайдеру облачных услуг. Перед переходом важно проанализировать информационную инфраструктуру и надежность ЦОД провайдера, изучив историю сбоев. Вполне возможно, что инфраструктура ЦОД провайдера более надежна, чем в вашей компании, однако перед переходом лучше присмотреться к провайдеру, чтобы обеспечить максимальную добросовестность, ответственность и надежность SLA.
Если организация делает выбор в пользу собственной частной облачной среды, она может оградить себя от проблем, связанных с неполадками на одном сервере, однако ущерб от возможных перебоев в работе всего центра обработки данных будет очень велик. Обеспечение надежной системы электроснабжения и охлаждения исключительно важно для поддержания частной облачной среды, а контроль и управление инфраструктурой центра данных приобретает еще большее значение.
В конечном счете, важно помнить, что сам по себе переход в облачную среду не гарантирует, что в случае простоев вы сможете избежать ущерба для вашей деятельности. Клиенты запомнят, что сбой произошел в вашей сети, а не то, что виноват в этом провайдера облачных услуг.
Пропаганда корпораций, предоставляющих облачные сервисы утверждает, что пользователи в любом случае при переходе на облачные вычисления снизят свои затраты и нагрузку на свою вычислительную технику. Так ли Это?
Это обычный аргумент в пользу перехода к облачной среде, однако, в зависимости от приложений, которые вы планируете разместить в облачной инфраструктуре, он может быть, а может и не быть истиной. По крайней мере, в краткосрочной перспективе, переход к облачной среде будет трудоемким. Компании, переходящие к облачной среде, делают это чтобы решить конкретные задачи и использовать ранее недоступные ресурсы (особенно серверы), которые в облачной среде доступны по требованию. Однако, адаптация облачных услуг к специфическим нуждам компании потребует изменений в организации труда, осуществить которые может оказаться непросто. И, даже если, конфигурация среды вам полностью подходит, отбор задач для перемещения в облачную инфраструктуру занимает много времени. Увеличение эффективности работы может быть светом в конце тоннеля, но вы должны понимать, что двигаться до этой точки предстоит еще долго.
Что касается уменьшения затрат для заказчиков, работающих в облачной среде, согласно аналитическому документу McKinsey and Co. 2009 года, они сокращаются, только если в облачной инфраструктуре функционируют определенные виды платформ. В ином случае, утверждается в исследовании, поддержание собственного ЦОД остается более рентабельным. Поставщики облачных услуг пытаются оспаривать эти утверждения (и делают это), но можно с уверенностью сказать, что конечная экономия при переходе к облачной среде — спорный вопрос. Если правильно применить облачные технологии, экономия вполне вероятна, но как обычно, это проще сказать, чем сделать.