Контакты

Концепция облачных технологий. Платформа в качестве сервиса. Обзор облачных хранилищ

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

Для того чтобы лучше представить, что такое 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 App s для бизнеса выделяет эти же преимущества, только добавляет, что при использовании их 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 пользователь не в состоянии удалить не использованные им сервисы и даже отдельные группы данных.

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

Студенты часто задают вопросы: Что такое облачные вычисления? Что такое облачные сервисы? Что такое облачный сайт? Что означает облако, облачные хранилища файлов? Как используются облачные вычисления в образовании? SaaS сервис для B2C и B2B продаж? SaaS ERP и SaaS CRM системы и решения? Какие модели облачных вычислений используются для разработки веб-приложений? Современные дата-центры, на основе которых создаются облачные услуги: SaaS, PaaS и IaaS?

Сначала рассмотрим, что такое "облако" (сloud) и "облачные вычисления" (сloud сomputing). "Облако" - это инновационная модель (концепция) организации IT-инфраструктуры, которая состоит из распределенных и разделяемых конфигурируемых аппаратных и сетевых ресурсов, а также программного обеспечения, развернутых на удаленных (облачных) дата центрах поставщиков (провайдеров). То есть облако - это новый подход организации IT-инфраструктуры.

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

Облачные вычисления - это модель предоставление потребителю масштабируемых вычислительных ресурсов в виде сервиса через Интернет. Облачные технологии – это модель представления потребителю IT как сервиса через Интернет.

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

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

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

Основные характеристики облачных вычислений , которые отличают их от других типов вычислений (интернет-ресурсов):

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

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

Сервисные модели облачных вычислений или cloud computing:

  1. Software as a Service (SaaS ) - программное обеспечение как услуга. В этой модели предоставления облачных вычислений потребитель использует приложения поставщика, запущенные в облачной инфраструктуре, которые доступны клиенту через интерфейс (web-браузер) или интерфейс программы. Потребители не могут управлять и контролировать лежащую в основе облака инфраструктуру, включая сеть, серверы, операционные системы, хранилища данных или даже изменять параметры настройки конкретного приложения.
  2. Platform as a Service (PaaS ) - платформа как услуга. Модель предоставления облачных вычислений, при которой потребитель получает доступ к использованию программной платформы: операционных систем, СУБД, прикладного ПО, средств разработки и тестирования ПО. Фактически потребитель получает в аренду компьютерную платформу с установленной операционной системой и специализированными средствами для разработки, размещения и управления веб-приложениями. Потребитель не управляет основной инфраструктурой облака, включая сеть, серверы, операционные системы или хранилища данных, но управляет развернутыми приложениями и возможно параметрами настройки конфигурации среды окружения.
  3. Infrastructure as a Service (IaaS ) - инфраструктура как услуга. Модель предоставление облачных вычислений, при которой потребитель получает возможность управлять средствами обработки и хранения, а также и другими фундаментальными вычислительными ресурсами (виртуальными серверами и сетевой инфраструктурой), на которых он может самостоятельно устанавливать операционные системы и прикладные программы под собственные цели. По сути, потребитель арендует абстрактные вычислительные мощности (серверное время, дисковое пространство и пропускную способность сетевых каналов) или использует услуги аутсорсинга ИТ-инфраструктуры. Потребитель не управляет основной инфраструктурой облака, но управляет операционными системами, хранилищем и развернутыми им приложениями.

Модели развертывания облачных вычислений, т.е. cloud computing:

  1. Private cloud (частное облако) - инфраструктура, предназначенная для использования облачных вычислений в масштабе одной организации.
  2. Community cloud (облако сообщества) - облачная инфраструктура, которая предназначена для исключительного использования облачных вычислений определенным сообществом потребителей от организаций, которые решают общие проблемы.
  3. Public cloud (публичное облако) - инфраструктура, предназначенная для свободного использования облачных вычислений широкой публикой.
  4. Hybrid cloud (гибридное облако) - это комбинация различных облачных инфраструктур (частных, публичных или сообществ), остающихся уникальными объектами, но связанных между собой стандартизованными или частными технологиями, которые обеспечивают возможность обмена данными и приложениями.

Рис. 1. Модели развертывания облачных вычислений / cloud computing

Исходя из вышеизложенного определения облачных вычислений, облачные сервисы можно представить в виде многослойной модели, состоящей из слоев: IaaS, PaaS, SaaS. Базисом или фундаментом облачных сервисов является physical infrastructure (физическая инфраструктура) , т.е. серверы, хранилища, сети и системное программное обеспечение Cloud data center (облачного дата-центра) или сети взаимосвязанных облачных Data centers (рис. 2).

В облачных дата-центрах или в центрах обработки данных (ЦОД) помещается физическое оборудование или hardware (серверы, хранилища данных, рабочие места), системное программное обеспечение (ОС, средства виртуализации и автоматизации), инструментальное и прикладное ПО, системы управления оборудованием (Equipment management systems), сетевая инфраструктура (Network infrastructure): маршрутизаторы и коммутаторы (routers and switches) для подключения и объединения физического оборудования. Кроме того, нормальную работу дата центров обеспечивают системы инженерного обеспечения (Systems of engineering support).

Рис. 2. Cloud computing architecture (архитектура облачных вычислений)

Первый слой облачных услуг - IaaS (инфраструктура)

IaaS - это предоставление пользователю компьютерной и сетевой инфраструктуры (servers, storage, networking) и их обслуживание как услуги в форме виртуализации, т.е. виртуальной инфраструктуры . Другими словами, на базе физической инфраструктуры дата-центров или ЦОД поставщик (провайдер) создает виртуальную инфраструктуру, которую предоставляет пользователям как сервис. Средства виртуализации позволяют преобразовать физическую инфраструктуру data centers в виртуальную и таким образом создать первый слой облачных услуг - IaaS.

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

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

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

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

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

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

Кроме того, к IaaS-услугам облачных вычислений относится облачный хостинг (Cloud Hosting). Облачный хостинг - это хостинг, который может обеспечить динамическое распределение ресурсов, обладает возможностью автоматического масштабирования ресурсов и имеет повышенную отказоустойчивость. Облачный хостинг является существенной альтернативой виртуальному хостингу, хостингу на виртуальном выделенном сервере VPS / VDS и хостингу на физическом выделенном сервере.

Провайдер Cloud Hosting предоставляет владельцам сайтов только необходимые сайту ресурсы: виртуальные серверы, количество оперативной памяти и объем жесткого диска, а также возможности для управления инфраструктурой хостинга (например, выбор операционной системы, количества RAM, объема и типа HDD, числа ядер CPU, тактовой частоты и скорости доступа). Оплата за аренду облачного хостинга производится только по факту уже потребленных ресурсов: количества процессорного времени, объема дискового пространства, количества потребляемой оперативной памяти и скорости доступа к сайту.

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

В настоящее время хостеры предлагают в аренду облачные хостинги с предустановленной CMS. Хостинг-провайдеры для организации таких облачных хостингов могут, например, развернуть на своих серверах платформу-как-инфраструктуру Jelastic с предустановленными CMS. Jelastic поставляет платформу-как-инфраструктуру в виде полного стека, позволяющего развертывание облачных хостингов на физической инфраструктуре ЦОД хостинг-провайдера.

Функционал платформы Jelastic позволяет в один клик установить встроенные в нее CMS с оптимизированным веб-окружением, например, Jelastic на Infobox. Jelastic является продуктом, который включает в себя функциональность PaaS и легко конфигурируемую инфраструктуру IaaS. Jelastic – это платформа для запуска Java- и PHP-приложений и может быть использована не только хостерами для организации облачных хостингов, но и корпорациями для создания среды разработки (частных или гибридных облаков) веб-приложений.

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

Среду облачных вычислений можно создавать на основе облачных решений Amazon EC2, IBM x86, Microsoft Azure, EMC, VMware, на базе open-sourсe решения OpenStack, RackSpace на базе OpenStack и др., которые позволяют преобразовать центр обработки данных в динамичную ИТ-среду. Кроме того, для облачных вычислений используются облачные базы данных, т.е. базы данных, которые запускаются на платформах облачных вычислений. В качестве облачных баз данных применяются как SQL-ориентированные модели, так и модели данных NoSQL.

Услуги IaaS широко используются в США. В Украине компания De Novo начала предоставлять облачную инфраструктуру для корпоративных клиентов на базе решений VMware, EMC, Microsoft Azure, и т.д. На базе крупнейшего украинского дата-центра ВОЛЯ построена облачная IT-инфраструктура VoliaCLOUD от компании VMware (на основе облачных решений VMware), которая имеет более 500 виртуальных дата-центров.

Основные IaaS Solution/Vendor: Amazon Web Services/Amazon, IBM SmartCloud/IBM, SoftLayer IaaS/IBM, Azure Virtual Machines/Microsoft, Google Compute Engine/Google, HP Cloud/HP, EMC/EMC Corporation, Oracle Cloud Infrastructure Services/Oracle. Следует отметить, что IBM предлагает надежную открытую инфраструктуру IBM SmartCloud на основе самообслуживания (SoftLayer) или полностью управляемой IaaS (IBM SmartCloud Enterprise+).

Рис. 3. Основные IaaS Solution облачных вычислений

Следует отметить, что в настоящее время ведутся работы по созданию облачных опорных сетей поставщиков широкополосной мобильной связи (операторов мобильной связи) в качестве услуги IaaS. К таким услугам относятся, например, облачная телекоммуникационная платформа от Huawei и решение NSN Telco Cloud от Nokia Siemens Networks.

Платформа FusionSphere Huawei обеспечивает виртуализацию вычислительных ресурсов, ресурсов хранения, сетевых ресурсов и организует единый пул разделяемых конфигурируемых вычислительных ресурсов с единым механизмом планирования и управления. Компания Nokia Siemens Networks осуществила комплексное тестирование основных мобильных служб, охватывающих передачу голоса по LTE (VoLTE) и других IP Multimedia Subsystem (IMS) услуг, работающих на основе Telco Cloud.

Второй слой - PaaS (программная платформа)

Сервис PaaS предоставляет программную платформу и ее обслуживание как сервис в составе:

  • OS - сетевая операционная система (Unix-системы, включая Ubuntu Server, BSD/OS Family, Solaris/SunOS и т.д. или Windows Server),
  • Database - система управления базой данных СУБД (MySQL, Microsoft SQL, SQL Database, PostgreSQL, Oracle и др.),
  • Middleware - программное обеспечение среднего слоя или связывающее (промежуточное) программное обеспечение, которое предназначено для обеспечения взаимодействия между различными приложениями, системами и компонентами,
  • Software development tools and testing - инструментальное программное обеспечения для разработки веб-приложений и их тестирования (среда разработки ПО: программные фреймворки, библиотеки и т.д. для создания веб-приложений на языках программирования: Python, Java, PHP, Ruby, JS для Node.js и т.д.),
  • App server - сервер приложений для разработки, тестирования, отладки и работы веб-приложений.

Итак, PaaS предлагает разработчикам ПО средства разработки, тестирования, развертывания и поддержки различных приложений. Кроме того пользователю предоставляются инструменты администрирования и управления. В основном PaaS используется для разработки и размещения web-приложений (например, связанных распределенных приложений - SaaS mashup, облачных сайтов и т.д.).

Основные PaaS Solution/Vendor:

  • AWS Elastic Beanstalk/Amazon (Java, .NET, PHP, Node.js, Python, Ruby and Apache HTTP Server, Apache Tomcat, Nginx, Passenger, and IIS),
  • IBM Bluemix/IBM (облачная платформа IBM Bluemix предлагает единую среду решений и широкий набор языков и фрейморков для построения приложений, например, Liberty for Java™, SDK for Node.js™, ruby on rails, ruby sinatra),
  • Microsoft Asure/Microsoft (ASP.NET, Java, PHP, Python, Django, Node.js and Azure SQL Database),
  • Google App Engine/Google (Python, Java, PHP, Go and our MySQL),
  • Salesforce1 Platform Cloud application development/Salesforce объединяет Force.com, Heroku и ExactTarget в одну сеть облачных сервисов и предоставляет инструменты для разработки различных приложений. Например, для разработки мобильных приложений Salesforce1 Mobile App/Salesforce или облачных баз данных для разработчиков приложений Database.com/Salesforce и т.д.
  • Heroku/Salesforce (Ruby, Java, Node.js, Scala, Clojure, Python и PHP and PostgreSQL),
  • Oracle Cloud Platform Services/Oracle (Oracle Database Cloud Service, Oracle Java Cloud Service, Oracle Database Backup Service),
  • OpenShift/Red Hat (Java, Java ЕЕ, Python, Perl, PHP, Ruby, Node.JS, and MySQL, PostgreSQL, MongoDB),
  • Cloud Foundry/VMware (Java Spring, Ruby on Rails и Sinatra, NodeJS, .NET and MySQL Redis, MongoDB),

Рис. 4. Основные PaaS Solution облачных вычислений

Кроме перечисленных решений PaaS разработчики Веб-приложений используют и другие известные решения облачных платформ: dotCloud PaaS, SAP HANA Cloud Platform, CloudBees Platform, Rackspace и т.д.

Третий слой - SaaS (облачное приложение)

По схеме SaaS поставляются следующие типы облачных приложений и их обслуживание: Business Apps, Office Web Apps, Management Apps, Communications, Security и др. Наибольшее распространение SaaS получила в США. Наиболее востребованными облачными приложениями являются: CRM (система управления взаимоотношениями с клиентами), HRM (система по работе с персоналом, т.е. с кадрами), ERP (система планирования ресурсов предприятия, например 1С), офисные приложения, средства коммуникаций и др. Salesforce.com является крупнейшим в мире поставщиком облачных приложений CRM.

Под средствами коммуникаций подразумевается электронная переписка (например, Gmail), аудио и видео чаты (например, Microsoft Lync Online), Cloud PBX или облачная АТС (например, виртуальная АТС Манго-Офис), облачный сервис MDM (Mobile Device Management - управление мобильным устройством). Облачный сервис MDM предназначен для работы с корпоративными системами при помощи мобильных устройств.

На различные мобильные устройства, которые работают под управлением облачной системы MDM, устанавливаются приложения, так называемые агенты. Эти приложения обеспечивают централизованную настройку мобильных устройств и доступ к корпоративной сети предприятия в виде облачной услуги SaaS. Как правило, облачные средства коммуникаций интегрируются с другими услугами SaaS, например, CRM+MDM, Office Web Apps+Lync Online, Google Docs+Gmail + Hangouts и т.д.

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

Основные application software:

  • Business Apps (CMR, FRM, IBM® B2B Cloud Services, Axway Cloud B2B, amoCRM SaaS сервис для B2B, Google Apps for Business),
  • Business Intelligence (PowerBI в составе Office 365/Microsoft, Oracle Business Intelligence Managed Cloud Service, Anaplan/ADE Professional Solutions, Brand Analytics),
  • Office Web Apps (Google Docs, Office Online/Microsoft OneDrive, Office Web Apps/Microsoft, Zoho Docs, IBM SmartCloud Docs и т.д.),
  • Management Apps (ERP/АРЕНДА 1С, HRM, SCM, MRP),
  • Communications (Gmail, Google Hangouts, Microsoft Lync Online, Cloud PBX или облачная АТС, MDM),
  • Security (Panda Cloud Email Protection, Panda Cloud Internet Protection, McAfee SaaS Email Protection & Continuity, Сomfortway Mobile Security и т.д.), и др.
  • Collaboration and Multi–tenant (Google Docs, Google Sites, Microsoft Office Online, Office 365, Office Web Apps).

Основные SaaS Solution/Vendor: Salesforce1 Sales Cloud/Salesforce (CRM), Oracle Cloud Applications/Oracle (HR, CX, ERP, EMP, SCP, Business Intelligence), Google Apps/Google – офисный пакет облачных служб (Google Docs, Google Drive, Google Sites, communication: Hangouts, Gmail, Google Calendar и др), IBM SmartCloud Docs/IBM, Microsoft Dynamics CRM, Microsoft OneDrive (Office Online, хранилище файлов), Office 365/Microsoft (Office Web Apps, Lync Online, Exchange Online, SharePoint Online), Zoho Docs/Zoho (онлайновый офисный пакет), Zoho Reports/Zoho (Business Intelligence), Zoho CRM/Zoho, Informatica Cloud MDM/Informatica, MaaS360/Fiberlink, Cloud PBX from Vonage Business Solutions и т.д.

Рис. 5. Основные SaaS Solution облачных вычислений

Существуют и множество других SaaS-услуг облачных вычислений, например, Cisco WebEx - облачный сервис для проведения web-конференций; CMS на основе модели SaaS (например, SaaS-платформа UMI.CLOUD); E-Commerce B2B/B2C по модели SaaS; Маркетинг SaaS-решений; услуга «Антивирус Dr.Web» по модели SaaS; SugarCRM - коммерческая CRM-система с открытыми исходными кодами; BPMonline CRM с инструментами моделирования и автоматизации бизнес-процессов и т.д.

Следует отметить, что концепция облачные вычисления (cloud computing) предполагает оказание потребителям различных дополнительных видовоблачных услуг : Storage-as-a-Service, Database-as-a-Service, Information-as-a-Service, Process-as-a-Service, Integration-as-a-Service, Testing-as-a-Service и т.д. Существуют, например, многочисленные облачные хранилища файлов Storage-as-a-Service: Amazon Simple Storage Service (Amazon S3), DropBox, Google Drive, Microsoft OneDrive и т.д.

Как используются облачные вычисления и технологии в образовании? Google предлагает учебным заведениям облачные приложения Google Apps for education для электронного образования. Microsoft предоставляет пользователям образовательных учреждений возможности облачных служб Office 365 for education (Windows Azure in education). Внедрение облачных вычислений (Cloud Computing) в школах и вузах обеспечит школьникам и студентам весьма комфортное обучение.

Перспективы распространения облачных вычислений с учетом их текущего развития изложены в аналитической работе "Куда идут «облака » на сайте compress.

В заключение, следует еще раз отметить, что все сервисные модели облачных вычислений должны соответствовать основным характеристикам облачных вычислений, изложенными в "The NIST Definition of Cloud Computing", которые отличают их от других типов интернет-ресурсов.

Чтобы убедиться, что предложенные вам интернет-ресурсы относятся к одной из моделей облачных вычислений, сравните их характеристики с основными характеристиками облачных вычислений, предложенными National Institute of Standards and Technology (самообслуживание по требованию; единый пул для совместного использования ресурсов; мгновенная эластичность или масштабируемость; оплата только за реально использованные услуги; универсальный сетевой доступ).

Лекция Облачные технологии

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

К основным видам облачных технологий относят:

    " Инфраструктура как сервис " ("Infrastructure as a Service" или "IaaS")

    " Платформа как сервис " ("Platform as a Service", "PaaS ")

    "Программное обеспечение как сервис" ("Software as a Service" или "SaaS").

Рассмотрим каждую из этих технологий подробнее.

Инфраструктура как сервис (IaaS)

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

IaaS состоит из трех основных компонентов:

    Аппаратные средства (серверы, системы хранения данных, клиентские системы, сетевое оборудование)

    Операционные системы и системное ПО (средства виртуализации, автоматизации, основные средства управления ресурсами)

    Связующее ПО (например, для управления системами)

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

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

Платформа как сервис (PaaS)

PaaS - это предоставление интегрированной платформы для разработки, тестирования, развертывания и поддержки веб-приложений как услуги .

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

Такой подход имеет следующие достоинства:

    масштабируемость;

    отказоустойчивость;

    виртуализация;

    безопасность.

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

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

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

Программное обеспечение как сервис (SaaS).

SaaS – модель развертывания приложения, которая подразумевает предоставление приложения конечному пользователю как услуги по требованию (on demand). Доступ к такому приложению осуществляется посредством сети, а чаще всего посредством Интернет-браузера. В данном случае, основное преимущество модели SaaS для клиента состоит в отсутствии затрат, связанных с установкой, обновлением и поддержкой работоспособности оборудования и программного обеспечения, работающего на нём. Целевая аудитория - конечные потребители.

В модели SaaS:

    приложение приспособлено для удаленного использования;

    одним приложением могут пользоваться несколько клиентов;

    оплата за услугу взимается либо как ежемесячная абонентская плата, либо на основе суммарного объема транзакций;

    поддержка приложения входит уже в состав оплаты;

    модернизация приложения может производиться обслуживающим персоналом плавно и прозрачно для клиентов.

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

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

Развитием логики SaaS является концепция WaaS (Workplace as a Service - рабочее место как услуга). То есть клиент получает в свое распоряжение полностью оснащенное всем необходимым для работы ПО виртуальное рабочее место.

    Коммуникации (VoIP)

    Антиспам и антивирус

    Управление проектами

    Дистанционное обучение

    Хранение и резервирование данных

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

Помимо различных способов предоставления сервисов различают несколько вариантов развёртывания облачных систем:

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

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

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

Смешанное (гибридное) облако - совместное использование двух вышеперечисленных моделей развёртывания

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

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



Понравилась статья? Поделитесь ей