Облачные вычисления: определения и решения.

МОДЕЛИ РАЗВЁРТЫВАНИЯ

  • Частное облако

Частное облако (англ. private cloud ) - инфраструктура, предназначенная для использования одной организацией, включающей несколько потребителей (например, подразделений одной организации), возможно также клиентами и подрядчиками данной организации. Частное облако может находиться в собственности, управлении и эксплуатации как самой организации, так и третьей стороны (или какой-либо их комбинации), и она может физически существовать как внутри так и вне юрисдикции владельца.

  • Публичное облако

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

  • Гибридное облако

Гибридное облако (англ. hybrid cloud ) - это комбинация из двух или более различных облачных инфраструктур (частных, публичных или общественных), остающихся уникальными объектами, но связанных между собой стандартизованными или частными технологиями передачи данных и приложений (например, кратковременное использование ресурсов публичных облаков для балансировки нагрузки между облаками).

  • Общественное облако

Общественное облако (англ. community cloud ) - вид инфраструктуры, предназначенный для использования конкретным сообществом потребителей из организаций, имеющих общие задачи (например, миссии, требований безопасности, политики, и соответствия различным требованиям). Общественное облако может находиться в кооперативной (совместной) собственности, управлении и эксплуатации одной или более из организаций сообщества или третьей стороны (или какой-либо их комбинации), и она может физически существовать как внутри так и вне юрисдикции владельца.

МОДЕЛИ ОБСЛУЖИВАНИЯ

  • Программное обеспечение как услуга

Программное обеспечение как услуга (SaaS , англ. Software-as-a-Service) - модель, в которой потребителю предоставляется возможность использования прикладного программного обеспечения провайдера, работающего в облачной инфраструктуре и доступного из различных клиентских устройств или посредством тонкого клиента, например, из браузера (например, веб-почта) или интерфейс программы. Контроль и управление основной физической и виртуальной инфраструктурой облака в том числе сети, серверов, операционных систем, хранения, или даже индивидуальных возможностей приложения (за исключением ограниченного набора пользовательских настроек конфигурации приложения) осуществляется облачным провайдером.

  • Платформа как услуга

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

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

  • Инфраструктура как услуга

Инфраструктура как услуга (IaaS , англ. IaaS or Infrastructure-as-a-Service) предоставляется как возможность использования облачной инфраструктуры для самостоятельного управления ресурсами обработки, хранения, сетей и другими фундаментальными вычислительными ресурсами, например потребитель может устанавливать и запускать произвольное программное обеспечение, которое может включать в себя операционные системы, платформенное и прикладное программное обеспечение. Потребитель может контролировать операционные системы, виртуальные системы хранения данных и установленные приложения, а также ограниченный контроль набора доступных сервисов (например, межсетевой экран, DNS). Контроль и управление основной физической и виртуальной инфраструктурой облака, в том числе сети, серверов, типов используемых операционных систем, систем хранения осуществляется облачным провайдером.

Cloud computing, что в переводе с английского означает - облачные вычисления. Cloud computing -- технология предоставления пользователю по средствам сети Интернет возможности использования удаленных ресурсов и мощностей. Данная технологи происходит по принципу распределенной обработки данных. Ее суть заключается в обеспечении пользователя удаленным доступом к предоставляемым в облаке услугам. Потребность в экономии средств за счет эффективных мер по оказанию услуг в сфере хостинга повлияла на развитие технологииПриходько А.Я. Словарь-справочник по информационной безопасности. М.СИНТЕГ, 2001. 124 с..

Под термином «облачные вычисления» сегодня понимают набор различных сервисов, доступ к которым осуществляется через сеть Интернет. Облачные технологии представляют собой мощное решение, связанное с решением ресурсоемких задач. Популярность использования все время растет. Все пользователи персональных компьютеров либо обращались к услугам облачных сервисов, либо уже активно их используют.

Виды «облаков»

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

1) SaaS: программное обеспечение как услуга

SaaS - услуга облачных приложений или "Software as a Service ", вероятно, наиболее популярная простая в использовании форма облачных вычислений. SaaS использует сеть Интернет для доставки приложений, которые управляются сторонними поставщиками и чей интерфейс доступен клиентской стороне. Большинство SaaS приложений можно запускать непосредственно из веб-браузера, без необходимости загрузки или предварительной установки. SaaS избавляет от необходимости устанавливать и запускать приложения на персональных компьютерах. С использованием SaaS, упрощается задача предприятий по рационализированию технического обслуживания и поддержки, потому что в услуги поставщика входит обслуживание: приложений, времени выполнения, данных, промежуточного ПО, операционных систем, виртуализации серверов, хранилищ и сеть. Gmail является одним известным примером почтового оператора SaaS.

2) PaaS: платформа как услуга

PaaS - самый сложный из трех видов - облачная платформа услуг или "Platformas as Service" распределяет вычислительным ресурсы через платформу. Разработчики получают с PaaS возможность, где они могут создать для разработки или настройки приложений. PaaS делает разработку, тестирование и развертывание приложений быстрее, проще и экономично эффективным, избавляя пользователя от необходимости покупать нижележащие слои аппаратного и программного обеспечения. Одно различие между SaaS и PaaS связано с тем, что некоторые аспекты в PaaS должны уже управляться пользователями, а не поставщиками: С PaaS, поставщики до сих пор контролируют: время выполнения, промежуточное ПО, операционную систему, виртуализацию серверов, хранилище и сети, но пользователям управлять приложениями и данными.

PaaS предоставляет вычислительные инфраструктуры, оборудование и платформы, которые установлены на верхней части аппаратного обеспечения. Подобно тому, как вы можете создавать макросы в Excel, PaaS позволяет создавать приложения, используя программные компоненты, которые управляются с помощью стороннего поставщика. PaaS является хорошо масштабируемым, и пользователям не придется беспокоиться об обновлении платформы или их сайт выйдет из строя во время технического обслуживания. Пользователи, которые получают наибольшую отдачу от PaaS, составляют компанию, которая хочет повысить эффективность и интерактивность большого штата. Для нужд крупных компаний и независимых поставщиков программного обеспечения Apprenda является одним поставщиком для личного PaaS разработки и развертывания бизнес-приложений.

3) IaaS: инфраструктура как услуга

IaaS - облачная инфраструктура услуг, известная как "Infrastructure as a Service " поставляет компьютеру инфраструктуру (например, платформу виртуализации среды), хранилище и сеть. Вместо того, чтобы приобретать программное обеспечение, сервера или сетевое оборудование, пользователь может купить все это как полностью внешний сервис, счет за который обычно зависимости от количества потребляемых ресурсов. Другими словами, третья сторона за арендную плату позволяет установить виртуальный сервер на их ИТ-инфраструктуре. По сравнению с SaaS и PaaS, IaaS пользователи несут большую ответственность за управление: приложениями, данными, временем выполнения, промежуточным ПО и операционными системами. Поставщики услуги по-прежнему контролируют виртуализацию, сервера, жесткие диски, хранилища и сеть. Пользователи IaaS получают возможность полного доступа к готовой информационной инфраструктуре, внутри которой они могут установить необходимые платформы. Пользователи несут ответственность за обновление, если новые версии платформ вышли.

Еще необходимо назвать одно ключевое разделение облаков: публичные и частные. Услуги, предоставляемые публичными облаками, могут быть доступны любому пользователю. Ярким примером публичного облака является Amazon Web Services. Главная разница между публичными и частными облаками в том, что к последним осуществляется закрытый доступ только для ограниченного числа пользователей.

  • Разработка под e-commerce
  • Раньше, чтобы развернуть какое-либо приложение, приходилось покупать и настраивать собственные физические серверы. Такой подход обладал большим количеством недостатков, например, если для нормальной работы приложения ему достаточно «полтора сервера», платить все равно приходилось за два – расходы на содержание и обслуживание инфраструктуры оказывались неоправданно высокими.

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

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

    «Однако инженеры и исследователи быстро поняли, что такой подход плохо масштабируется, – говорит Прадип Падала (Pradeep Padala), учредитель ContainerX. – Поэтому начались поиски альтернативных способов проведения вычислений: начали разрабатываться распределенные системы, объединяющие в себе мощности огромного количества компьютеров».

    Появились такие академические проекты, как Condor – это распределённая сеть компьютеров, развернутая в Висконсинском университете в Мадисоне. На сегодняшний день там установлено 350 настольных UNIX-станций, которые предоставляют доступ для работы пользователям со всего мира. Были и другие проекты, например distributed.net и SETI@home – на тот момент эта идея была инновационной, да и заниматься поиском внеземных цивилизаций тоже достаточно интересно.

    Затем появился БАК от ЦЕРН, который породил бессчётное количество исследовательских проектов, на которые уходили миллиарды долларов. Как часть всего этого движения в моду вошли грид-вычисления. Определение грид-вычислений очень близко к тому, что мы называем «вычисления как услуга». В качестве примера можно привести Globus Toolkit .

    Одновременно со всем этим, в технической индустрии, VMware и Xen занимались популяризацией виртуализации, которая позволяла запускать сразу несколько машин на одной физической машине. Это преобразило IT-индустрию, а простота использования привлекла внимание стартапов, которым было сложно покупать и содержать свое собственное оборудование.

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

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

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

    Широкая доступность означает, что все возможности, предлагаемые поставщиком доступны через сеть. Работа с ними осуществляется на основе стандартных механизмов – это дает возможность использовать различные клиентские платформы, например мобильные телефоны, планшетные и персональные компьютеры.

    Свои вычислительные ресурсы поставщик объединяет в пул, чтобы их можно было динамически перераспределять в соответствии с нуждами пользователей – это так называемый принцип множественной аренды (Multi-tenancy). Возникает ощущение независимости от местоположения, когда заказчик не знает, где именно находятся ресурсы, но может определять их расположение на абстрактном уровне (страна или регион).

    Способность к быстрой адаптации – это возможность быстро ресурсы под нужды заказчика. С точки зрения клиента, предлагаемые ему возможности выглядят неограниченными, которыми он может воспользоваться в любой момент.

    Облачные системы автоматически контролируют и оптимизируют использование ресурсов. Это осуществляется путем измерения различных параметров (размер хранилища данных, вычислительная мощность, пропускная способность). Таким образом, как поставщик, так и потребитель получают полную информацию об объеме оказанных/потребленных услуг.

    Что касается стоимости услуг, то процесс их формирования может быть достаточно сложным, а ценник изменяться от поставщика к поставщику. Джейсон Лемкин (Jason M. Lemkin), партнер SaaStr Ventures, считает , что если ваш продукт лучше, то не стоит стесняться завышать цену.

    Если вы вводите какую-нибудь новую функцию, которая способна кардинально изменить пользовательский опыт, то нет ничего плохого в том, если вы постараетесь извлечь из этого максимальную выгоду. «Если ваш продукт в пять раз серьезнее, чем у конкурента, то вы можете просить за него в 5 раз больше», – утверждает Джейсон.

    Помимо характеристик выделяют еще три модели обслуживания: программное обеспечение как услуга (SaaS), платформа как услуга (PaaS) и инфраструктура как услуга (IaaS). Отличаются они степенью предоставляемого контроля.

    В случае IaaS клиент получает возможность использовать облачную инфраструктуру по своему усмотрению и самостоятельно управлять ресурсами обработки и хранения, а также сетями. «Пользователь может создать виртуальную инфраструктуру и изменить её в любой момент», – говорит консультант Эван Лейт (Ewan Leith). Аутсорсинг стал популярным еще в те времена, когда компании хотели использовать компьютеры, но не хотели нести издержки по их содержанию и обслуживанию. По этой причине мы сегодня имеем технологию виртуализации.

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

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

    Второй слой – это платформа как услуга или PaaS. При переходе от модели IaaS к модели PaaS (Platform as a Service) дополнительно на сторону облачного провайдера передается управление операционными системами и базами данных. В этом случае клиентам не приходится думать о дисковом пространстве, которое необходимо выделить, и распределении нагрузки между серверами. Примерами PaaS являются Google App Engine, Heroku и Force.com.

    Программное обеспечение как услуга (SaaS) – последний уровень облачных вычислений, обычно дополняющий PaaS. Это программное обеспечение для конечного пользователя, например, обеспечивающее работу с электронной почтой или текстом. Очень часто оно предоставляется по подписке. Примерами SaaS могут служить Google Apps, Salesforce.com и Business Productivity Online Suite от Microsoft.

    Для варианта SaaS на сторону облачного провайдера дополнительно передаются вопросы установки и настройки приложений, мониторинга, резервного копирования, защищенной передачи в Интернет – то есть все задачи. Если вы решили воспользоваться этой моделью, то вам даже не обязательно держать в команде технического специалиста, поскольку всем управляет поставщик услуг.

    Существует несколько моделей развертывания: частное облако, публичное облако, общественное облако, гибридное облако.

    Частное облако (private cloud) – это инфраструктура, которая располагается в пределах одной организации. Данная модель развертывания создана с целью удовлетворить потребности внутреннего рабочего персонала, обеспечивая высокий уровень безопасности данных. Частное облако создается, например, для обеспечения какой-либо дочерней компании сервисом корпоративной почты.

    Публичное облако (public cloud) – это инфраструктура, предназначенная для свободного использования широкой публикой. Этот тип облака может находиться в собственности, например, коммерческих, научных и правительственных организаций.

    Однако слово «публичное» совсем не означает, что данные пользователей доступны абсолютно всем – здесь по-прежнему реализуются механизмы безопасности для контроля доступа. Основным достоинством использования публичного облака является простота настройки и низкая стоимость. Поставщик услуги делает всю работу, необходимую для создания облака, а потребитель лишь настраивает необходимое количество ресурсов.

    Общественное облако (community cloud) имеет схожие черты с частным и публичным облаком. Это вид инфраструктуры, предназначенный для использования конкретным сообществом потребителей из организаций, имеющих общие задачи. Общественное облако может управляться организациями третьей стороны и существовать как внутри, так и вне юрисдикции владельца. В этом случае ответственность по содержанию облака перекладывается с плеч организаций-членов на все сообщество целиком.

    Гибридным же облаком (hybrid cloud) называют композицию из двух или более типов облаков, которые связываются между собой стандартизированными технологиями передачи данных. Очень часто компании запускают бизнес-критические приложения в приватном облаке, в то время как остальные приложения работают в публичном облаке.

    P.S. Пара наших публикаций по теме на Хабре:

    Раньше, чтобы развернуть какое-либо приложение, приходилось покупать и настраивать собственные физические серверы. Такой подход обладал большим количеством недостатков, например, если для нормальной работы приложения ему достаточно «полтора сервера», платить все равно приходилось за два – расходы на содержание и обслуживание инфраструктуры оказывались неоправданно высокими.

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

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

    «Однако инженеры и исследователи быстро поняли, что такой подход плохо масштабируется, – говорит Прадип Падала (Pradeep Padala), учредитель ContainerX. – Поэтому начались поиски альтернативных способов проведения вычислений: начали разрабатываться распределенные системы, объединяющие в себе мощности огромного количества компьютеров».

    Появились такие академические проекты, как Condor – это распределённая сеть компьютеров, развернутая в Висконсинском университете в Мадисоне. На сегодняшний день там установлено 350 настольных UNIX-станций, которые предоставляют доступ для работы пользователям со всего мира. Были и другие проекты, например distributed.net и SETI@home – на тот момент эта идея была инновационной, да и заниматься поиском внеземных цивилизаций тоже достаточно интересно.

    Затем появился БАК от ЦЕРН, который породил бессчётное количество исследовательских проектов, на которые уходили миллиарды долларов. Как часть всего этого движения в моду вошли грид-вычисления. Определение грид-вычислений очень близко к тому, что мы называем «вычисления как услуга». В качестве примера можно привести Globus Toolkit .

    Одновременно со всем этим, в технической индустрии, VMware и Xen занимались популяризацией виртуализации, которая позволяла запускать сразу несколько машин на одной физической машине. Это преобразило IT-индустрию, а простота использования привлекла внимание стартапов, которым было сложно покупать и содержать свое собственное оборудование.

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

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

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

    Широкая доступность означает, что все возможности, предлагаемые поставщиком доступны через сеть. Работа с ними осуществляется на основе стандартных механизмов – это дает возможность использовать различные клиентские платформы, например мобильные телефоны, планшетные и персональные компьютеры.

    Свои вычислительные ресурсы поставщик объединяет в пул, чтобы их можно было динамически перераспределять в соответствии с нуждами пользователей – это так называемый принцип множественной аренды (Multi-tenancy). Возникает ощущение независимости от местоположения, когда заказчик не знает, где именно находятся ресурсы, но может определять их расположение на абстрактном уровне (страна или регион).

    Способность к быстрой адаптации – это возможность быстро масштабировать ресурсы под нужды заказчика. С точки зрения клиента, предлагаемые ему возможности выглядят неограниченными, которыми он может воспользоваться в любой момент.

    Облачные системы автоматически контролируют и оптимизируют использование ресурсов. Это осуществляется путем измерения различных параметров (размер хранилища данных, вычислительная мощность, пропускная способность). Таким образом, как поставщик, так и потребитель получают полную информацию об объеме оказанных/потребленных услуг.

    Что касается стоимости услуг, то процесс их формирования может быть достаточно сложным, а ценник изменяться от поставщика к поставщику. Джейсон Лемкин (Jason M. Lemkin), партнер SaaStr Ventures, считает , что если ваш продукт лучше, то не стоит стесняться завышать цену.

    Если вы вводите какую-нибудь новую функцию, которая способна кардинально изменить пользовательский опыт, то нет ничего плохого в том, если вы постараетесь извлечь из этого максимальную выгоду. «Если ваш продукт в пять раз серьезнее, чем у конкурента, то вы можете просить за него в 5 раз больше», – утверждает Джейсон.

    Помимо характеристик выделяют еще три модели обслуживания: программное обеспечение как услуга (SaaS), платформа как услуга (PaaS) и инфраструктура как услуга (IaaS). Отличаются они степенью предоставляемого контроля.

    В случае IaaS клиент получает возможность использовать облачную инфраструктуру по своему усмотрению и самостоятельно управлять ресурсами обработки и хранения, а также сетями. «Пользователь может создать виртуальную инфраструктуру и изменить её в любой момент», – говорит консультант Эван Лейт (Ewan Leith). Аутсорсинг стал популярным еще в те времена, когда компании хотели использовать компьютеры, но не хотели нести издержки по их содержанию и обслуживанию. По этой причине мы сегодня имеем технологию виртуализации.

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

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

    Второй слой – это платформа как услуга или PaaS. При переходе от модели IaaS к модели PaaS (Platform as a Service) дополнительно на сторону облачного провайдера передается управление операционными системами и базами данных. В этом случае клиентам не приходится думать о дисковом пространстве, которое необходимо выделить, и распределении нагрузки между серверами. Примерами PaaS являются Google App Engine, Heroku и Force.com.

    Программное обеспечение как услуга (SaaS) – последний уровень облачных вычислений, обычно дополняющий PaaS. Это программное обеспечение для конечного пользователя, например, обеспечивающее работу с электронной почтой или текстом. Очень часто оно предоставляется по подписке. Примерами SaaS могут служить Google Apps, Salesforce.com и Business Productivity Online Suite от Microsoft.

    Для варианта SaaS на сторону облачного провайдера дополнительно передаются вопросы установки и настройки приложений, мониторинга, резервного копирования, защищенной передачи в Интернет – то есть все задачи. Если вы решили воспользоваться этой моделью, то вам даже не обязательно держать в команде технического специалиста, поскольку всем управляет поставщик услуг.

    Существует несколько моделей развертывания: частное облако, публичное облако, общественное облако, гибридное облако.

    Частное облако (private cloud) – это инфраструктура, которая располагается в пределах одной организации. Данная модель развертывания создана с целью удовлетворить потребности внутреннего рабочего персонала, обеспечивая высокий уровень безопасности данных. Частное облако создается, например, для обеспечения какой-либо дочерней компании сервисом корпоративной почты.

    Публичное облако (public cloud) – это инфраструктура, предназначенная для свободного использования широкой публикой. Этот тип облака может находиться в собственности, например, коммерческих, научных и правительственных организаций.

    Однако слово «публичное» совсем не означает, что данные пользователей доступны абсолютно всем – здесь по-прежнему реализуются механизмы безопасности для контроля доступа. Основным достоинством использования публичного облака является простота настройки и низкая стоимость. Поставщик услуги делает всю работу, необходимую для создания облака, а потребитель лишь настраивает необходимое количество ресурсов.

    Общественное облако (community cloud) имеет схожие черты с частным и публичным облаком. Это вид инфраструктуры, предназначенный для использования конкретным сообществом потребителей из организаций, имеющих общие задачи. Общественное облако может управляться организациями третьей стороны и существовать как внутри, так и вне юрисдикции владельца. В этом случае ответственность по содержанию облака перекладывается с плеч организаций-членов на все сообщество целиком.

    Гибридным же облаком (hybrid cloud) называют композицию из двух или более типов облаков, которые связываются между собой стандартизированными технологиями передачи данных. Очень часто компании запускают бизнес-критические приложения в приватном облаке, в то время как остальные приложения работают в публичном облаке.

    P.S. Пара наших публикаций по теме на Хабре:

    В этом разделе показано, как можно использовать облачные вычисления при обучении основам программирования. Приводится подробный пример работы с Web -сервисом, позволяющим создавать и отлаживать учебные программы на любом языке программирования с помощью облачного сервиса сайта http://ideone.com .

    Современная практика программирования предполагает активное использование специализированных интегрированных средств разработки ( IDE – Integrated Development Environment ). Их использование связано со следующими двумя сложностями:

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

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

    Более того, затраты образовательного учреждения могут возрасти вследствие того, что современные IDE требуют наличия высокопроизводительных вычислительных машин. Например, одна из самых распространенных IDE Microsoft Visual Studio 2012 требует для нормальной работы процессор мощностью 1,6 ГГц или выше, 1 ГБ ОЗУ (или 1,5 ГБ для виртуальной машины), 10 ГБ свободного дискового пространства . Для большинства задач образовательных учреждений не требуется компьютеров с такой высокой производительностью, поэтому их покупка может оказаться недопустимой роскошью.

    Обе указанные проблемы позволяет решить применение облачных технологий при обучении программированию. В настоящее время существуют большое количество так называемых онлайн - IDE , которые не требуют установки на компьютер пользователя и которые требуют для запуска лишь наличие Интернет -браузера. Системные требования браузеров к оборудованию вычислительной машины традиционно являются скромными. Например, популярный Веб- браузер Mozilla Firefox 17 требует для установки процессор от 1300 МГц, 512 МБ ОЗЦ и 200 МБ свободного дискового пространства , что существенно меньше приведённых ранее цифр для IDE Microsoft Visual Studio 2012.

    Рассмотрим ниже, как можно использовать онлайн - IDE в учебных заведениях для обучения основам программирования на примере http://ideone.com . Этот сервис позволяет в режиме онлайн создавать тексты программ на разных языках программирования и запускать эти программы на исполнение с возможностью анализа полученных результатов. Основные рабочие элементы Ideone показаны на рис. 2.1 .


    Рис. 2.1.

    В поле "А " необходимо ввести текст программы, а в поле "В " нужно выбрать используемый язык программирования , затем нужно нажать кнопку "Отправить ". В указано, что Ideone поддерживает работу со следующими 55 популярными языками программирования: Ada , Assembler , AWK , Bash , bc, Brainf**k, C, C#, C++, C++ 0x, C99 strict , CLIPS , Clojure, COBOL , Common Lisp (clisp), D (dmd), Erlang, F#, Factor, Falcon, Forth , Fortran, Go , Groovy, Haskell, Icon , Intercal, Java , JavaScript, Lua, Nemerle, Nice, Nimrod, Node .js, Objective-C, Ocaml, Oz, PARI/GP, Pascal , Perl, PHP , Pike, Prolog, Python , R, Ruby , Scala, Scheme (guile), Smalltalk, SQL , Tcl, Text , Unlambda, VB. NET , Whitespace. Очевидно, что этого перечня достаточно при обучении основам программирования практически в любом учебном заведении мира. Более того, при использовании сервиса ideone.com у преподавателя появляется возможность использовать при обучении сразу несколько языков программирования без необходимости поддерживать работу нескольких IDE .

    Покажем на примере, как может быть организована работа в группе при обучении основам программирования. Рис 2.2 иллюстрирует способ запуска простой программы на языке Си . Как можно видеть, в тексте программы используется подсветка синтаксиса , аналогичная той, что пользователи привыкли использовать в обычных офлайн- IDE . Однако при желании подсветка может быть отключена с помощью элемента управления "А ". С помощью элемента управления "В " можно указать перечень входных данных для программы, что позволяет реализовать более сложную логику работы программы, чем в приведённом примере.

    Очень важным является элемент управления "С ", который позволяет персонифицировать работу с программой. Данная возможность крайне ценна при организации учебного процесса. Если преподаватель попросит всех студентов зарегистрироваться в Ideone (или использовать для входа свою учётную запись Facebook), то появляется возможность сделать процесс работы с программой коллективным, а процесс совместной работы с программой будет проходить с использованием современных технологий Web 2.0. Подробнее об этом расскажем, используя рис. 2.3 .

    Этот элемент управления позволяет выбрать из списка в правой части экрана один из виджетов популярных сайтов социальных сетей.

    К сожалению, онлайн - IDE Ideone позволяет реализовать не все из функций традиционных офлайн- IDE . Например, отсутствует возможность использовать функции работы с сетью, обращения к файлам и некоторые другие. Также невозможно запустить программу, время выполнения которой займёт более 15 секунд или потребности в оперативной памяти превысят 256 МБ, или объём программы превысит 64 КБ . Все эти ограничения являются достаточно серьёзными, если планируется использовать Ideone для разработки профессионального программного обеспечения. Однако для образовательных целей эти ограничения более чем приемлемы. Кроме того, для более требовательных преподавателей существуют платные и бесплатные сервисы, аналогичные Ideone, которые при этом в большей степени реализуют функционал традиционных офлайн- анализ результатов выполнения в консольком режиме, компиляцию под разные платформы и операционные системы можно выполнить в режиме онлайн . В идеале окончанием работы программиста будет скачивание готовых бинарных файлов с работающей программой. Такой подход позволяет сэкономить используемой офлайн дисковое пространство , а также позволяет компилировать проект существенно более быстро, чем на рабочем месте пользователя, если это рабочее место оборудовано устаревшим аппаратным обеспечением. Итогом этого является возможная финансовая экономия для образовательного учреждения.

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