Технологии облачных вычислений

Технологии облачных вычислений

 

1. Введение в облачные вычисления

Облачные вычисления (англ. Cloud Computing) – это концепция, возникшая в середине 2000-х гг., согласно которой создается инфраструктура «вычислительного облака», которое, инкапсулируя в себе данные, вычислительные ресурсы и другие элементы, предоставляет удаленным пользователям доступ к реализованным сервисам. При этом для доступа к ним пользователю достаточно иметь любой компьютер с установленным веб-браузером. Сама облачная инфраструктура является сложным распределенным программно-аппаратным комплексом. Нагрузка внутри такого «вычислительного облака» распределяется автоматически и внешние пользователи облака не могут точно определить, с какой частью серверов и других компонентов они взаимодействуют в процессе. В общем случае само облако можно считать некоторым суперкомпьютером, мейнфреймом, находящимся где-то в сети Интернет. Примеры инфраструктур, похожих на облачные, уже были рассмотрены ранее в разд. 2. Еще одним примером облачных вычислений являются p2p сети (peer-to-peer).

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

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

Как уже упоминалось, «облака» возникли из концепций распределенных вычислений и сервис-ориентированных архитектур. Когда программные системы стали достаточно сложными, возникла идея повторного использования кода. В структурном программировании эта идея вылилась в создание подпрограмм и библиотек. Новый подход был предложен объектно-ориентированным программированием в виде концепции объектов. Простой группировки объектов в библиотеки уже было недостаточно, и возникли динамически подгружаемые объекты (такие, как OLE32). Объединение указанного подхода с методологией удаленного вызова процедур (RPC, Remote Procedure Call) дало рождение  таким технологиям, как COM, DCOM и CORBA, которые позволяли размещать подпрограммы и объекты на удаленных машинах и давали возможность программистам посредством сетевых протоколов осуществлять взаимодействие с ними (рис. 1).

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

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

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

Типичная организация архитектуры облачных вычислений представлена на рис. 2.


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

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

 

2. Основные модели обслуживания  облачных вычислений

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

  • инфраструктура как сервис (IaaS);
  • платформа как сервис (PaaS);
  • программное обеспечение как сервис (SaaS).

В следующих разделах они будут рассмотрены более подробно наряду с другими малораспространенными *aaS.

 

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

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

Архитектура IaaS включает в себя три основных компонента:

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

Ключевыме особенности облачной концепции IaaS:

  1. Технологии виртуализации, позволяющие разделять и объединять вычислительные мощности оборудования согласно текущим потребностям пользователей, тем самым увеличивая масштабируемость систем.
  2. Благодаря использованию виртуализации появляется возможность создания централизованных систем мониторинга виртуальных инфраструктур и управления ими.
  3. Организация библиотек инфраструктур позволяет пользователям облака очень быстро организовывать свои наборы виртуальных машин, основанных на использовании определенных технологий или фреймворков.
  4. Пользователь инфраструктуры избавлен от рисков, связанных с возможными поломками оборудования, от необходимости организации сложных систем резервирования, от создания или аренды специальных датацентров для своих сервисов, что значительно снижает как общие затраты, так и текущие расходы.

 

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

Логическим продолжением IaaS является PaaS (Platform as a Service – платформа как сервис). PaaS предоставляет пользователям интегрированную платформу, реализующую практически все этапы жизненного цикла приложения: начиная от разработки, через этапы тестирования и развертывания к поддержанию стабильной работы. Инфраструктура PaaS прежде всего предназначена для работы с веб-приложениями и сервисами. Основными провайдерами облачных услуг по предоставлению PaaS являются Microsoft Azure, Google App Engine и другие.

Можно выделить пять ключевых особенностей облачной инфраструктуры PaaS:

  1. PaaS подобно IaaS обладает вертикальной и горизонтальной масштабируемостью, позволяя в реальном времени выделять дополнительные ресурсы на функционирование сервиса или группы сервисов. В то же время, облачные провайдеры широко используют модель ценообразования «Pay-as-you-go» (плати за то, что используешь), позволяющую оплачивать только полезную нагрузку на сервер и не оплачивать часы «простоя».
  2. Как и в случае IaaS, пользователи PaaS избегают рисков и затрат, связанных с приобретением и поддержкой аппаратного и программного обеспечения.
  3. Многоцелевая арендная архитектура (multi-tenant architecture) позволяет разработчикам приложений сосредоточить свои усилия непосредственно на логике программы, а такие понятия, как масштабируемость, отказоустойчивость, виртуализация и безопасность, облако будет обеспечивать в автоматическом режиме. Как уже упоминалось, в инфраструктуре PaaS ресурсы, выделяемые приложению, динамически масштабируются. Кроме того, для приложений, развернутых в облаке, PaaS автоматически предоставляются безопасные внутренние (и, в некоторых случаях, даже внешние)  каналы связи для обмена конфиденциальной информацией и организации банковских транзакций. PaaS поддерживает все современные технологии взаимодействия приложений и разработки веб-сервисов (например, SOAP), а также обеспечивает поддержку реляционных и нереляционных СУБД. Некоторые поставщики предлагают услуги по организации данных с использованием концепций «Big Data».
  4. PaaS предоставляет пользователям единую инфраструктуру поддержки жизненного цикла приложения. В большинстве случаев современные методы организации жизненного цикла разработки подразумевают, что тестирование выполняется в одной среде, разработка – в другой, а развертываться приложение может вообще в неизвестной изначально для разработчика инфраструктуре. Платформа PaaS позволяет исключить эти проблемы, так как приложение для нее проходит все рамки цикла разработки в единой интегрированной среде. Необходимость поддержки разных средств на разных этапах жизненного цикла в данном случае отпадает.
  5. Помимо непосредственной архитектуры поддержки жизненного цикла PaaS предоставляет услуги по организации командной работы (collaboration services). Таким образом, разработчикам не надо самостоятельно организовывать и поддерживать сервисы по контролю версий исходного кода, управлению задачами и изменениями и т. п. – все это уже есть в облаке. PaaS предоставляет возможность выделения областей ответственности разработчиков, организации ролевой модели управления, отслеживания показателей проекта и т. д.

 

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

Третья модель обслуживания в облаке SaaS (Software as a Service – программное обеспечение как сервис) находится в нише, ранее занятой различными поставщиками сервисов бизнес-приложений и СОА-систем. В данной модели поставщик услуг самостоятельно разрабатывает приложением (сервис) и управляет им, предоставляя заказчика доступ к нему через сеть Интернет. С точки зрения пользователя, основное преимущество SaaS состоит в исключении затрат, связанных с развертыванием и поддержкой программного и аппаратного обеспечения инфраструктуры приложения.

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

При работе в инфраструктуре SaaS выделяют следующие ключевые особенности:

1. Установленные в инфраструктуре сервис или приложение предназначены прежде всего для удаленного использования. 

2. Все установленные сервисы по умолчанию являются многопользовательскими.

3. Модели оплаты могут быть похожи как на IaaS (периодическая абонентская плата), так и на PaaS (на основе затраченных ресурсов облака).

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

5. Обновление и модернизация приложений происходят прозрачно для пользователей.

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

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

Сервисы, предоставляемые в рамках модели SaaS, обладают следующими свойствами:

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

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

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

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

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

 

2.4. Малораспространенные облачные модели инфраструктур

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

  1. Рабочее место как сервис (Desktop as a Service) предоставляет конечным пользователем виртуальное рабочее место с предустановленным набором ПО и возможностями по настройке и установке пользовательских программ. Данные пользователя сохраняются в облаке. Для доступа к такому рабочему месту может быть использован веб-браузер или терминальный клиент.
  2. Коммуникационная среда как сервис (Communications as a Service – CaaS) предоставляет арендаторам услуги по организации различных видов общения (голос, электронная почта, аудио- и видеоконференции, телефония)  между сотрудниками заказчика.
  3. Платежи как сервис (Payments as a service) – модель, предоставляющая сервису возможности взаимодействия с различными независимыми группами платежных систем. Данная модель может использоваться для организации платежных услуг как в рамках приложения или сервиса, работающего в инфраструктуре PaaS или SaaS, так и для стороннего приложения, веб-сайта или группы серверов, которые будут запрашивать данные услуги из облачной инфраструктуры в случае возникновения необходимости.
  4. Бэкенд как сервис (Backend as a Service – BaaS или MBaaS) предоставляет услуги по хранению информации в облаке для мобильных приложений пользователей.
  5. Модель «Big Data как сервис» (Big Data as a Service – BDaaS) предоставляет услуги по созданию хранилищ «Big Data», которые могут быть использованы как другими сервисами в облаке, так и внешними приложениями и серверами.

Корпорация Microsoft разработала альтернативный вариант модели SaaS под названием S+S (Software+Services), который объединяет в себе все свойства инфраструктуры SaaS и обычного приложения для ПК [12]. Примером такого приложения-услуги может быть «Office 365». Этот офисный пакет предоставляется по системе оплаты, сходной с SaaS, поскольку пользователь оплачивает каждый месяц использования пакета. Кроме того, пользователю «Office 365» предоставляются дополнительные услуги в рамках облачной инфраструктуры, например хранение пользовательских данных при помощи сервиса Microsoft SkyDrive.

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

По словам Расса Даниэлса, директора компании HP по стратегии вычислений в облаке, «Переход на вычисления в облаке значительно сократит расходы на информационные технологии. Но одной только экономией средств дело не ограничивается. Эта технология освобождает потребителей от расходов и сложностей, связанных с установкой и поддержкой приложений».

 

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

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

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

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

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

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

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

 

4. Поставщики «облаков»

Одной из возможных классификаций поставщиков облачных сервисов является классификация по целевому предназначению предоставляемых услуг. В такой классификации выделяют следующие основные группы поставщиков [13].

  1. Поставщики платформенных решений, предлагающие универсальные услуги размещения произвольных приложений и сервисов на базе собственных аппаратных средств и ПО, организованных в соответствии с технологиями облачных вычислений. К данной группе провайдеров относятся компании «Google», «Microsoft», «Yahoo!» и др.
  2. Поставщики облаков услуг, предлагающие конкретные сервисы для широкого круга внешних клиентов, включая корпоративных потребителей. Как правило, данные поставщики в качестве технологической инфраструктуры используют ресурсы поставщиков платформенных решений. Перечень поставщиков соответствующих типов облачных инфраструктур представлен на рис. 5.5.

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

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

Далее рассматриваются наиболее известные поставщики платформенных облачных инфраструктур.

 

 

 

 

4.1. Azure Services Platform

Услуги платформы Miscrosoft Azure ориентированы на развертывание высоконагруженных веб-сервисов или веб-сайтов. Azure Services Platform предоставляет четыре основных сервиса, рассматриваемых далее.

Windows Azure – платформа для масштабируемого хостинга веб-приложений, предлагающая универсальные возможности по размещению широкого спектра веб-проектов.

.NET Services предлагает решения по связыванию сервисов между собой, управлению доступом к методам сервиса и поддержки рабочих процессов. Такой класс решений называется Internet Service Bus (по аналогии с термином Enterprise Services Bus). Таким образом, .NET Services представляет собой масштабируемый сервис уведомлений, функционирующий в Интернет-среде и фактически не ограниченный по своим функциональным характеристикам (количество и география подписчиков, частота отправки уведомлений, их объем и т.п.). Кроме того, в .NET Services включена функция управления доступом Access Control, позволяющая подключать сервисы авторизации, консолидировать их и через Internet Services Bus управлять доступом к ним.

Workflow Service – масштабируемый облачный сервис, исполняющий рабочие процессы пользователей, заданные декларативно средствами платформы Windows Workflow Foundation (WWF). WWF входит в состав .NET, начиная с версии 3.0. Функциональность сервиса организуется по принципу сервиса-посредника, управляющего взаимодействием других сервисов. Важной особенностью Workflow Service является возможность объединения гетерогенных информационных систем в единую инфраструктуру.

Одним из основных компонентов Azure Services Platform является Live framework, предоставляющий функциональность распределенной файловой системы, доступной с любого устройства. Возможна синронизация как пользовательских данных, так и данных приложений, включая исполняемые файлы приложений.

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

Рассмотрим технологические основы работы сервисов Windows Azure.

Запросы удаленных пользователей к веб-сайту или сервису обрабатывает внешний интерфейс (front-end). Для высоконагруженных сервисов может потребоваться несколько экземпляров внешнего интерфейса, в этом случае необходим также балансировщик нагрузки. В связи с тем, что невозможно заранее предсказать, какой именно экземпляр внешнего интерфейса будет обрабатывать очередной запрос пользователя, внешний интерфейс не сохраняет состояние между различными запросами. В ряде случае используется кэширование ответов на наиболее частые запросы.

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

Схема типичного решения, развернутого на базе платформы Windows Azure, приведена на рис. 5.6.

Из сети Интернет поступают запросы на внешний интерфейс, а в облачным центре обработки данных Azure запущено несколько идентичных экземпляров пользовательского приложения, обрабатывающего запросы. Балансировщик нагрузки (LB) выбирает экземпляр внешнего интерфейса и направляет ему запрос. Внешний интерфейс может обращаться к одному или к нескольким хранилищам, доступным также через балансировщик нагрузки. К хранилищу, содержащему очереди, таблицы или неструктурированные данные, большие бинарные объекты (Binary Large OBjectS, BLOBS) и др. сущности также могут обращаться с использованием сети Интернет внешние интерфейсы, расположенные на других серверах или на облачных инфраструктурах и принадлежащие внешним веб-сервисам.

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

Стоимость эксплуатации услуг Windows Azure составляет $0.12 за один час вычислений, $0.15 за каждый гигабайт дискового пространства, $0.10 за каждые 10 тысяч транзакций и от $0.10 до $0.15 за каждый гигабайт сетевого трафика.

Облачные сервисы Windows Azure постоянно совершенствуются для повышения надежности, уровня сервиса и снижения издержек. В настоящее время платформа Windows Azure является надежным универсальным решением для проектов любой сложности. Примером этого является художественный фильм Джеймса Камерона «Аватар». Для его съемок был создан виртуальный мир, в котором каждый объект был оцифрован и задокументирован. Объем данных, описывающих мир «Аватара», превысил один петабайт. Разработка системы информационной поддержки съемочного процесса и виртуальных сцен фильма стала крупнейшим коммерческим проектом, в реализацию которого были вовлечены тысячи специалистов. За всё время работы над фильмом в его информационной системе не произошло ни одного сбоя, не был утерян ни один байт данных. Данные хранились и обрабатывались средствами Windows Azure [12].

4.2. Google App Engine

Google App Engine предлагает услуги размещения веб-приложений на базе сетевой инфраструктуры компании «Google». Сервис интегрирован со службой аккаунтов Google, что обеспечивает прозрачную авторизацию и позволяет быстро начать работу с приложениями. Кроме того, не требуется разрабатывать собственную систему авторизации и регистрации пользователей для использования своего приложения. Платформа App Engine накладывает на разработчиков некоторые ограничения. Так, обязательным условием является использование языков программирования Python или Java и сохранение информации в собственном хранилище (Datastore).

Технологии облачных вычислений