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

RSS, Twitter, Vkontakte, Facebook

Новости

Облачные вычисления (Cloud computing)

Автор: Владимир Ткаченко

Источник: Обучение в интернет

Преамбула

Студенты часто задают вопросы: Что такое облачные вычисления? Что такое облачные сервисы? Что такое облачный сайт? Что означает облако, облачные хранилища файлов? Как используются облачные вычисления в образовании? 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 (гибридное облако) - это комбинация различных облачных инфраструктур (частных, публичных или сообществ), остающихся уникальными объектами, но связанных между собой стандартизованными или частными технологиями, которые обеспечивают возможность обмена данными и приложениями.

Cloud computing - Облачные вычисления

Рис. 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).

Cloud computing architecture. Облачные вычисления

Рис. 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+).

Cloud computing - Облачные вычисления, основные IaaS Solution

Рис. 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),

Cloud computing - Облачные вычисления, основные PaaS Solution

Рис. 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 и т.д.

Cloud computing - Облачные вычисления, основные SaaS Solution

Рис. 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 (самообслуживание по требованию; единый пул для совместного использования ресурсов; мгновенная эластичность или масштабируемость; оплата только за реально использованные услуги; универсальный сетевой доступ).