Что такое облачные технологии. Что такое облачные сервисы

Начнем с определения облачных вычислений. Явление это новое, поэтому существует не так много авторитетных источников, где определяется это понятие. Наиболее комплексно и фундаментально подошли к данному вопросу американские специалисты Питер Мелл и Тим Гранс из Лаборатории Информационных Технологий Национального Института Стандартов и Технологий (NIST). В своей работе The NIST Definition of Cloud Computing (Определение облачных вычислений: версия НИСТ) они пишут следующее (перевод автора с английского).

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

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

  1. Самообслуживание по требованию
    Потребитель, когда это ему необходимо, может самостоятельно задействовать вычислительные возможности, такие как серверное время или сетевое хранилище данных, в автоматическом режиме, без взаимодействий с персоналом поставщика услуг.
  2. Широкая доступность через сеть (Интернет)
    Возможности доступны через сеть; доступ к ним осуществляется на основе стандартных механизмов, что обеспечивает использование разнородных тонких и толстых клиентских платформ (например, мобильных телефонов, ноутбуков, КПК).
  3. Объединение ресурсов в пул
    Поставщик объединяет свои вычислительные ресурсы в пул для обслуживания большого числа потребителей, используя принцип множественной аренды (Multi-tenancy). Различные физические и виртуальные ресурсы динамически распределяются и перераспределяются в соответствии с потребностями пользователей. Возникает ощущение независимости от местоположения, когда заказчик не знает и не контролирует, где конкретно находятся вычислительные ресурсы, которыми он пользуется, но, возможно, может определить их расположение на более абстрактном уровне (например, страна, регион или дата-центр). Примером ресурсов могут быть хранилище данных, вычислительная мощность, оперативная память, пропускная способность, виртуальные машины.
  4. Способность к быстрой адаптации
    Вычислительные возможности могут быстро и гибко резервироваться (часто автоматически) для оперативного масштабирования под задачи заказчика, и также быстро освобождаться. С точки зрения потребителя доступные возможности часто выглядят ничем не ограниченными и могут быть приобретены в любом количестве в любое время.
  5. Измеримая услуга
    Облачные системы автоматически контролируют и оптимизируют использование ресурсов через измерение некоторых абстрактных параметров. Параметры варьируются в зависимости от типа услуги. Например, это могут быть: размер хранилища данных, вычислительная мощность, пропускная способность и/или число активных пользовательских записей. Использование ресурсов отслеживается, контролируется; формируются отчеты. Таким образом и поставщик, и потребитель получают прозрачную информацию об объеме оказанных (потребленных) услуг.

Модели обслуживания:

  1. Cloud Software as a Service (SaaS) – облачное программное обеспечение как услуга, далее «ПО как услуга»;
  2. Cloud Platform as a Service (PaaS) – облачная платформа как услуга;
  3. Cloud Infrastructure as a Service (IaaS) – облачная инфраструктура как услуга.

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

Модели развертывания:

  1. Private Cloud (Частное облако)
  2. Community cloud (Облако сообщества)
  3. Public cloud (Публичное облако)
  4. Hybrid cloud (Гибридное облако)

Раскроем только третью модель развертывания как относящуюся к теме данной работы. Публичное облако (Public Cloud) – в данной модели облачная инфраструктура доступна всем желающим или широкой отраслевой группе и находится во владении поставщика облачных услуг.

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

В понятии есть слова «облачные» и «сервисы», а значит, речь идет об услугах, оказываемых из облака, то есть с использованием облачной инфраструктуры.

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

  1. Эти услуги должны помогать вести бизнес;
  2. Эти услуги должны быть доступными по цене для небольших компаний;
  3. Они должны быть массово доступными;
  4. Они не должны требовать от потребителя специфических знаний (например, в сфере информационных технологий).

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

Поскольку «облака» - понятие собирательное, имеет смысл классифицировать их по какому-либо признаку. Ниже приведены классификации «облаков», одна из которых предложена изданием InfoWorld, а другая -коммерческим директором компании Parallels, одного из лидеров рынка систем виртуализации.

InfoWorld предлагают делить все «облака» на шесть типов:

SAAS - непосредственно приложения в виде сервиса (например, Zoho Office или Google Apps).

СЛУЖЕБНЫЕ ВЫЧИСЛЕНИЯ - например, виртуальные серверы.

ВЕБ-СЕРВИСЫ В «ОБЛАКЕ» - оптимизированные для работы в виртуальной среде интернет-сервисы (например, системы интернет-банкинга).

PAAS - «платформа как сервис»,то есть новое поколение веб-приложений, которые дают возможность выстраивать набор возможностей по желанию пользователя (например. Live Mesh от Microsoft).

MSP - провайдер управляемых сервисов (Managed Service Provider), обслуживающих сервис-провайдеров (например, встроенные антивирусные сканеры для почтовых порталов).

КОММЕРЧЕСКИЕ ПЛАТФОРМЫ для сервисов - объединение PaaS и MSP (например, Cisco WebEx Connect).

Облака разделяют на частные, публичные, гибридные и клановые .

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

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

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

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

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

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

    Клановое облако или облако сообщества

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

1.3 Основные направления развития облачных технологий

Четыре основных направления развития облачных вычислений являются :

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

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

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

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

Другие *aaS: например:

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

CaaS (Communications-as-a-Service) – сочетания программно-аппаратных средств для организации всех видов общения (голос, почта) между сотрудниками одного предприятия за счёт сторонних решений.

Альтернативный вариант SaaS продвигает корпорация Microsoft, называется он S+S (Software+Services) и сочетает в себе сильные стороны типичного SaaS и обычного доступного приложения. Это обычное ПО, но с ориентацией на удалённые сервисы. Вычисления в облаке превращаются в серьезную технологическую тенденцию - многие эксперты полагают, что в ближайшие пять лет cloud computing изменит не только ИТ-процессы, но и сам рынок информационных технологий. Благодаря этой технологии пользователи устройств самых разных видов, в том числе ПК, ноутбуков, смартфонов и КПК, смогут получать доступ к программам, системам хранения и даже к платформам разработки приложений по Internet, через сервисы, предлагаемые провайдерами вычислений в облаке, причем ресурсы в этом случае размещаются на серверах провайдеров.

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

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

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

Для того чтобы лучше представить, что такое cloud computing, можно привести простой пример: раньше пользователь для доступа в электронную почту прибегал к определенному ПО (мессенджеры и программы), установленному на его ПК, теперь же он просто заходит на сайт той компании, чьи услуги электронной почты ему нравятся, непосредственно через браузер, без использования посредников.

Но этот пример больше подходит для частных облаков. Нас же интересуют данные технологии в бизнесе. Современная реализация началась с 2006 года. Тогда компания Amazon представила свою инфраструктуру веб-сервисов, не только обеспечивающую хостинг, но и предоставляющую клиенту удаленные вычислительные мощности.

Три модели «облаков»

Напомним, что существует три модели обслуживания облачных вычислений:

Программное обеспечение как услуга (SaaS, Software as a Servise). Потребителю предоставляются программные средства — приложения провайдера, выполняемые на облачной инфраструктуре.

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

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

Преимущества облачных сервисов

В прошлом году совокупный объем мирового рынка в сфере облачных технологий составил порядка $40 млрд. Некоторые эксперты прогнозируют, что к 2020 году этот показатель достигнет $240 млрд. Россия по внедрению cloud computing в бизнес занимает 34-е место с показателем $250 млн.

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

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

Мобильность. У пользователя нет постоянной привязанности к одному рабочему месту. Из любой точки мира менеджеры могут получать отчетность, а руководители — следить за производством.

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

Арендность. Пользователь получает необходимый пакет услуг только в тот момент, когда он ему нужен, и платит, собственно, только за количество приобретенных функций.

Гибкость. Все необходимые ресурсы предоставляются провайдером автоматически.

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

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

Google Apps для бизнеса выделяет эти же преимущества, только добавляет, что при использовании их cloud computing компания защищает окружающую среду, объясняя это тем, что службы Apps работают на базе центров обработки данных Google, отличающихся сверхнизким энергопотреблением, поэтому углеродоемкость и энергозатраты при их использовании будут значительно ниже при использовании локальных серверов.

Сколько все это стоит?

Стоимость Google Apps для бизнеса, по заявлению компании, $5 за одного пользователя в месяц, с бесплатным пространством на облачном диске 5 Гб (при желании можно докупить еще от 20 Гб до 16 Тб по цене от $4 до $1430 в месяц соответственно).

Также пользователь может приобрести Google Apps с сейфом за $10 в месяц, что включает в себя стандартный пакет услуг плюс архивирование важных коммерческих данных, сбор данных для судебных нужд, поиск и экспорт любых корпоративных данных. Предоставление доменов — за отдельную стоимость. Стоит отметить, что пользователем считается один электронный ящик.

Microsoft тоже борется за свою долю в области облачных вычислений. Их основу составляет Office 365. Она делает акцент на комплексное CRM-решение, утверждая, что Microsoft Dinamics CRM включает блоки управления маркетингом, продажами, обслуживанию клиентов. То есть с помощью этой функции есть возможность решить спектр задач управления взаимоотношениями, начиная с привлечения клиентов и заканчивая кросс-продажами.

Выделяются также «умный» анализ, ролевой интерфейс и высокая мобильность.

В приобретении Office 365 предлагается несколько вариантов: тариф Office Professional Plus 2010 — 555 руб. в месяц с пользователя. Последующие тарифы — стоимостью 250, 300, 525 и 750 руб. в месяц за каждого пользователя соответственно. Кстати, Office 365 можно попробовать бесплатно .

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

Основной критике подвергается то, что при использовании виртуального ПО информация автоматически попадает в руки разработчика этого программного обеспечения. Так утверждает Ричард Столлман, основатель движения свободного ПО.

Выделяется проблема интеграции данных как с внутренними корпоративными, так и с облачными сервисами других поставщиков.

Эксперты указывают на проблему неконтролируемых данных: информация, оставленная пользователем, будет храниться годами без его ведома либо он не сможет изменить какую-то ее часть. К примеру, на сервисах Google пользователь не в состоянии удалить не использованные им сервисы и даже отдельные группы данных.

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

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

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

Поясним каждый пункт подробно. Для обеспечения полнофункциональной работы 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, которые при этом в большей степени реализуют функционал традиционных офлайн- анализ результатов выполнения в консольком режиме, компиляцию под разные платформы и операционные системы можно выполнить в режиме онлайн . В идеале окончанием работы программиста будет скачивание готовых бинарных файлов с работающей программой. Такой подход позволяет сэкономить используемой офлайн дисковое пространство , а также позволяет компилировать проект существенно более быстро, чем на рабочем месте пользователя, если это рабочее место оборудовано устаревшим аппаратным обеспечением. Итогом этого является возможная финансовая экономия для образовательного учреждения.

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