Облачные вычисления в действии

Содержание

1. Введение. 2

2. Элементы концепции и архитектуры облачных вычислений. 4

3. Что такое SaaS. 5

4. Преимущества облаков. 7

5. "Облачные" вычисления - достоинства и недостатки. 9

6. Windows Azure. 11

7. Облачные вычисления в действии. 16

8. Заключение. 20

 

Введение

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

Большинство сервис-провайдеров предлагают облачные вычисления в форме виртуального хостинга, и ПО-как-услуга (SaaS). Облачные услуги долгое время предоставлялись в форме SaaS, например, Microsoft Hosted Exchange и SharePoint.

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

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

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

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

Из облачных платформ наиболее популярной является Microsoft Windows Azure - операционная система с поддержкой облачных вычислений - и Microsoft Azure Services Platform - платформа для разработки и использования облачных сервисов на базе Microsoft.NET.

В настоящее время многие крупные компании – Microsoft, Google. IBM, Oracle/Sun, Amazon и многие более мелкие фирмы, конкурируя друг с другом, заняты разработкой своих облачных сервисов и инструментов для их создания. Имеется тенденция к интеграции "корпоративных облаков" в единое доступное пользователю облако.

 

 

Элементы концепции и архитектуры облачных вычислений

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

Различаются следующие уровни архитектуры облачных вычислений.

Уровень клиента – это клиентское ПО, используемое для доступа к облачным сервисам, например, web- браузер.

Уровень сервисов – это сами сервисы, используемые через облачную модель.

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

Уровень платформы – это программная платформа, объединяющая полный набор инструментов для развертывания и использования облачных вычислений на пользовательском компьютере (без дополнительных инсталляций, покупки оборудования и др.). Пример такой платформы: Microsoft.NET Azure Services Platform.

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

Уровень инфраструктуры – предоставление полной виртуализованной платформы через облако, например, Amazon EC2.

 

Что такое SaaS

SaaS (Software as a Service) - это модель использования бизнес-приложений в качестве интернет-сервисов.

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

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

Основные преимущества SaaS над традиционным программным обеспечением:

- более низкая стоимость владения.

- более короткие сроки внедрения.

- низкий порог входа (можно быстро и бесплатно протестировать).

- задачи по поддержке и обновлению системы полностью ложатся на плечи SaaS-провайдера.

- полная мобильность пользователя, ограниченная лишь "интернет-покрытием".

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

- низкие требования к мощности компьютера пользователя.

- кроссплатформенность.

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

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

S+S. Это альтернативный бренд, продвигаемый Microsoft, который отличается от SaaS тем, что на компьютере пользователя используется не браузер, а программный клиент.

Аренда (хостинг) приложений. Этот вариант отличается от SaaS лишь архитектурой серверной части и не заметен для пользователя. Поэтому часто хостеры приложений называют свои услуги SaaS-сервисами. Отличие в том, что классические SaaS сервисы имеют multitenant-архитектуру, т.е. одно приложение обслуживает много клиентов, а хостинг приложений предполагает установку отдельной копии для каждого клиента. Второй вариант дает больше возможностей настройки, но в то же время, он более сложен для администрирования и обновления, и поэтому стоит дороже.

 

Преимущества облаков

Облачные вычисления - это эффективный инструмент повышения прибыли и расширения каналов продаж для независимых производителей программного обеспечения, операторов связи и VAR-посредников (в форме SaaS). Этот подход позволяет организовать динамическое предоставление услуг, когда пользователи могут производить оплату по факту и регулировать объем своих ресурсов в зависимости от реальных потребностей без долгосрочных обязательств.

Для хостеров облачные вычисления обеспечивают огромный потенциал роста. Индустрия облачных вычислений стремительно развивается и, по прогнозам аналитиков, к 2012 году на ее долю будет приходиться 9% всех расходов на ИТ. Кроме того, акценты в отрасли все больше смещаются от хостинга к облачным вычислениям и SaaS.

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

По мнению Parallels, в ближайшие 5-10 лет большая часть ИТ переместится в облака пяти различных типов. Будут проприетарные платформенные облака, предоставляющие различные платформенные услуги, – Google (тип 1), Microsoft (тип 2) и другие крупные ИТ игроки (тип 3), такие как IBM, Apple, HP и Amazon.

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

Платформенные облака

•   Тип1: Облако Google

•   Тип2: Облако Microsoft

•   Тип3: Другие облака(например, IBM и Apple — Amazon, Facebook, Adobe и другие)

Облака услуг

•   Тип4: Облака сервис-провайдеров — операторы связи, веб-хостеры, ISV, SaaS

•   Тип5: Внутренние облака крупных компаний 

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

 

 

5. "Облачные" вычисления - достоинства и недостатки

Достоинства:

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

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

• Уменьшение затрат и увеличение эффективности IT инфраструктуры. Обычные сервера средней компании загружены на 10-15%. В одни периоды времени есть потребность в дополнительных вычислительных ресурсах, в других эти дорогостоящие ресурсы простаивают. Используя необходимое количество вычислительных ресурсов в "облаке" в любой момент времени, компании сокращают затраты на оборудование и его обслуживание до 50%.

• Меньше проблем с обслуживанием. Так как физических серверов с внедрением Cloud Computing становится меньше, их становится легче и быстрее обслуживать.

• Меньше затрат на приобретаемое программное обеспечение. Вместо приобретения пакетов программ для каждого локального пользователя, компании покупают нужные программы в "облаке".

• Постоянное обновление программ.

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

• Неограниченный объем хранимых данных.

• Совместимость с большинством операционных систем. Доступ к программам и виртуальным компьютерам происходит при помощи веб-браузера или другими средствами доступа, устанавливаемые на любой персональный компьютер с любой операционной системой.

• Улучшенная совместимость форматов документов.

• Простота совместной работы группы пользователей.

• Повсеместный доступ к документам.

• Доступность с различных устройств.

• Дружелюбие к природе, экономное расходование ее ресурсов. Cloud Computing позволяет не только экономить на электричестве, вычислительных ресурсах, физическом пространстве, занимаемом серверами, но и разумно подходить к расходованию природных ресурсов.

• Устойчивость данных к потере или краже оборудования.

Недостатки:

• Постоянное соединение с сетью Интернет.

• Плохо работает с медленным Интернет-доступом. Многие "облачные" программы требуют хорошего Интернет-соединения с большой пропускной способностью.

• Программы могут работать медленнее чем на локальном компьютере.

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

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

Если Ваши данные в "облаке" потеряны, они потеряны навсегда. Это факт. Но потерять данные в "облаке" гораздо сложнее, чем на локальном компьютере.

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

Windows Azure

Windows Azure – облачная платформа, разработанная фирмой Microsoft (по существу, операционная система и набор инструментов "в облаке"). На рис. 1 иллюстрируется роль Windows Azure в организации использования облачных сервисов, предоставляемых центром обработки данных Microsoft, фирмами и индивидуальными заказчиками.

Рис. 1. Windows Azure, пользователи и центры обработки данных

Важно подчеркнуть, что Windows Azure обеспечивает хранение, использование и модификацию данных и запуск программ только на компьютерах центров обработки данных Microsoft. Никакого программного обеспечения, кроме веб-браузера, на пользовательских компьютерах не требуется.

На рис. 2 изображена схема организации работы пользователя в Windows Azure.

Рис. 2. Организация работы пользователя в Windows Azure

С точки зрения пользователя, существуют две категории приложений – внутренние (on-premises applications), исполняемые на компьютере пользователя, и облачные (cloud applications), фактически исполняемые в среде Windows Azure на компьютерах центра обработки данных. На пользовательском компьютере могут быть установлены ОС Windows и, возможно, другие ОС. Независимо от этого, через Web-браузер пользователь получает доступ к "Windows в облаке" – Windows Azure. Функционирование Windows Azure основано на Web-сервисах .NET. Windows Azure для хранения данных обеспечивает доступ к аналогу СУБД Microsoft SQL Server "в облаке" – SQL Azure.

На рис. 3 изображены основные компоненты Windows Azure.

Рис. 3. Компоненты Windows Azure

Основные компоненты Windows Azure – внешний облик, интерфейс (fabric, дословно – одежда), вычисления (Compute), память (Storage) и конфигурация (config). Все компоненты – вычисления, память и интерфейс – являются web-сервисами .NET. Сервис вычисления выполняет пользовательские облачные приложения, сервис память хранит пользовательские данные, сервис интерфейс обеспечивает общие средства управления приложениями, использующими облачную платформу.

Основная проблема, решаемая сервисом вычисления, - исполнение огромного числа (возможно, миллионов) пользовательских приложений самого разного вида и назначения в едином облаке. Иначе говоря, основная проблема сервиса вычисления и облачных вычислений в целом – масштабирование. Данная проблема решается путем выполнения каждого экземпляра пользовательского облачного приложения в своей отдельной виртуальной машине. Данные виртуальные машины исполняются в среде 64-битовой ОС Windows 2008 Server - наиболее мощной серверной ОС фирмы Microsoft.

Сервис память предоставляет пользователю средства работы с данными различной структуры – большими бинарными объектами (blobs), размером до 50 Гб, хранящимися в контейнерах, таблицами (tables) и очередями (queues). Работа со структурами данных реализована на основе ADO.NET – библиотеками поддержки обработки структурированных данных в .NET.

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

На рис. 4 изображена структура сервисов .NET как основы для реализации Windows Azure. Как уже говорилось, вся реализация Windows Azure основана на надежной и безопасной платформе .NET, исполнение программ в которой обеспечивается в особом безопасном режиме (managed execution – управляемое выполнение). Часть .NET, называемая Windows Comminucation Foundation (WCF) и предоставляемый ею механизм сервисов и является основой реализации платформы Windows Azure.

Рис. 4. Структура сервисов .NET

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

 

Облачные вычисления в действии

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

Операционная система Windows Azure является частью Windows Azure Platform - группы облачных технологий для разработки ПО, которая включает следующие элементы:

•   Windows Azure обеспечивает Windows-среду для работы приложения и хранения данных в дата-центрахMicrosoft

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

•   Windows Azure Platform AppFabric соединяет приложения, работающие как в облачной, так и в традиционной среде, обеспечивая защищенную передачу данных.

Несмотря на сходство названий, понятия fabric и AppFabric - совсем не одно и то же. Первое относится к объединению физических машин внутри облачной ОС, второе - к соединению приложений, работающих в разных средах.

Непосредственно операционная система Windows Azure также состоит из нескольких взаимосвязанных частей: Compute Service, Storage Service и Fabric.

Compute Service отвечает за вычисления. Основная цель облачной платформы состоит в том, чтобы обеспечить поддержку приложения, запускающего огромное число пользователей в одно и то же время. Windows Azure поддерживает несколько копий одного и того же кода на разных физических серверах. В свою очередь, приложение может работать сразу в нескольких версиях на нескольких виртуальных машинах, каждая из которых обеспечивается гипервизором на основе Hyper-V, модифицированного для использования в облаках.

    Существуют два типа рабочих версий облачного приложения: веб-роль (Web role) и рабочая роль (Worker role). Первая умеет обрабатывать HTTP- или HTTPS-запросы, и на ее виртуальной машине (ВМ) запущен сервер Internet Information Services (IIS). Программист имеет возможность создать версию веб-роли с помощью ASP.NET либо Windows Communication Foundation (WCF), а также воспользоваться любой другой технологией .NET, работающей с IIS. Приложение может быть создано на любом языке программирования.

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

Storage Service обеспечивает хранение данных. ОС Windows Azure поддерживает три способа работы с данными. Самый простой из них - BLOB, содержащий бинарные данные с несложной иерархией. Этот тип организации информации предназначен для хранения изображений, аудио и видео, т. е. для использования больших объемов. Когда необходимо структурировать однотипные данные, то прибегают к таблицам, где для каждой единицы информации существуют номер строки и номер колонки. Таблица в Storage Service не является реляционной. Ее простая организация позволяет получать доступ к данным посредством методов ADO.NET. В таком виде облачная ОС распределяет хранение данных на несколько физических компьютеров, что более эффективно, чем при использовании реляционной базы данных.

Рассмотренные способы обеспечивают хранение данных и доступ к ним, а для их связи необходим третий способ, называемый «очередь». Принцип организации данных в очередь основывается на следующем: «Первый пришел - первый вышел». Этот способ помогает разным версиям приложения обмениваться между собой сообщениями. Так связываются веб-роль и рабочая роль, поскольку синхронизация в облачной среденевозможна. Предположим, пользователь через веб-интерфейс вызывает задачу, требующую существенных вычислительных мощностей. Веб-роль записывает полученный запрос в очередь. Рабочая роль, обращаясь к этой очереди, принимает запрос и выполняет его. Результаты выполнения (ответ) передаются по тому же принципу, через очередь. Независимо от метода организации данных, информация в Windows Azure Storage реплицируется 3 раза, что обеспечивает устойчивость системы: потеря данных в одной из копий не фатальна. Кроме того, существуют архивные копии, хранящиеся в другом дата-центре Microsoft. Это означает, что даже если весь дата-центр уничтожен, информация будет поднята и восстановлена из архивов другого центра.

Последняя составляющая ОС - Fabric - позволяет организовать набор компьютеров, на которых хранятся приложения и данные Windows Azure. Управление такой «компьютерной тканью» осуществляет программное обеспечение, называемое fabric controller. Fabric осуществляет мониторинг всех работающих приложений, управляет взаимодействием с ОС на разных ВМ и выбирает физический сервер для запуска приложения, тем самым оптимизируя использование оборудования. Управление приложениями выполняется с помощью конфигурационных файлов, содержащих XML-описание всего, что необходимо приложению, например нужного количества виртуальных машин с веб-ролями и рабочими ролями. Fabric controller создает эти виртуальные машины и отслеживает состояние каждой из них, чтобы при необходимости заменить вышедшую из строя или запустить ее на другом физическом сервере.

Компоненты Windows Azure позволяют строить приложения разных типов. Так, для создания масштабируемого интернет-приложения программисту достаточно употребить необходимое количество веб-ролей, сохраняя данные в таблицах. А для приложения с параллельными вычислениями потребуются веб-роль, очередь для сохранения запросов, необходимое количество рабочих ролей и таблицы (или BLOB) для хранения данных. В свою очередь, SQL Azure и AppFabric дают возможность соединить решения Windows Azure  c программами и базами данных, функционирующими в рамках локальной сети или с облачными системами других провайдеров.

 

Заключение

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

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

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

Современная тенденция – разработка корпоративных облаков всех ведущих фирм, их объединение в единое облако и все более широкое использование облачных вычислений пользователями.

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

 

 

Литература

1. http://www.3dnews.ru/editorial/cloud_computing/ Облачные вычисления на каждый день.

2. http://cloudzone.ru/ Cloudzone.ru - интересная и актуальная информация о Cloud Computing. Новости, аналитика, практические примеры использования. 02.03.2012

3. http://www.smart-cloud.org/sorted-articles/44-for-all/96-cloud-computing-plus-minus статья "Облачные вычисления - достоинства и недостатки» 03.03.2012

4. Облачные сервисы. Взгляд из России. Под ред. Е. Гребнева. — М.: CNews, 2011.

5. Windows Azure : облачная платформа Microsoft. Федоров А. Г., Мартынов Д. Н, 2010.

 


Дата добавления: 2019-09-13; просмотров: 394; Мы поможем в написании вашей работы!

Поделиться с друзьями:




Мы поможем в написании ваших работ!