Реферат 1

advertisement
МИНИСТЕРСТВО ОБРАЗОВАНИЯ РЕСПУБЛИКИ БЕЛАРУСЬ
УЧРЕЖДЕНИЕ ОБРАЗОВАНИЯ
ГОМЕЛЬСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ
УНИВЕРСИТЕТ ИМЕНИ П. О. СУХОГО
Факультет автоматизированных и информационных систем
Специальность «1-40 80 04 Математическое моделирование, численные
методы и комплексы программ»
РЕФЕРАТ
по дисциплине «Основы информационных технологий»
на тему «Облачные вычисления. Платформа Windows Azure»
Выполнил: магистрант группы ЗМАГ-21
Кухаренко А.А.
Принял: преподаватель
Токочаков В. И.
Дата сдачи:
_____________________
Дата допуска к защите: _____________________
Дата защиты:
_____________________
Оценка работы:
_____________________
Подписи членов комиссии: __________________________
Гомель 2012
СОДЕРЖАНИЕ
Перечень условных обозначений и сокращений ................................................. 4
Введение ................................................................................................................... 5
1 Облачные вычисления ......................................................................................... 7
1.1 Где располагаются приложения? ................................................................. 7
1.2 Основные характеристики облачных вычислений .................................... 8
Масштабируемость ......................................................................................... 8
Эластичность ................................................................................................... 9
Мультитенантность ......................................................................................... 9
Оплата за использование ................................................................................ 9
Самообслуживание ......................................................................................... 9
1.3 Облачные вычисления и предоставляемые ими сервисы ....................... 10
Программное обеспечение как сервис (SaaS) ............................................ 11
Платформа как сервис (PaaS) ....................................................................... 11
Инфраструктура как сервис ......................................................................... 12
1.4 Облачные сервисы и границы управляемости ......................................... 12
1.5 Существующие облачные платформы ...................................................... 13
1.6 Почему рынку нужны облачные технологии? ......................................... 15
1.7 Прогнозы развития рынка .......................................................................... 17
Прогноз IDC: Рынок облачных сервисов вырастет в 2,5 раза .................. 17
Прогноз Edge Strategies и Microsoft............................................................. 17
Прогноз Gartner ............................................................................................. 18
2 Платформа Windows Azure ............................................................................... 20
2.1 Обзор платформы Windows Azure............................................................. 21
2.2 Компоненты облачной платформы ........................................................... 22
2.2.1 Веб-сайты .............................................................................................. 22
2.2.2 Виртуальные машины .......................................................................... 25
2.2.3 Облачные службы ................................................................................ 26
2.2.4 Мобильные службы ............................................................................. 27
2.2.5 Данные большого объема .................................................................... 29
2.2.6 Службы мультимедиа .......................................................................... 32
2.3 Развитие платформы ................................................................................... 34
2.3.1 Магазин Windows Azure ...................................................................... 35
2.4 Особенности использования Windows Azure ........................................... 36
2
3 Применение информационных технологий в диссертации ........................... 38
3.1 Применение ИТ в работе ............................................................................ 42
3.1.1 Постановка задачи................................................................................ 43
3.1.2 Векторный метод конечных элементов ............................................. 44
3.1.3 Назначение и область применения продукта .................................... 45
3.1.4 Структура программного обеспечения .............................................. 46
3.1.5 Средства, использованные для разработки ....................................... 49
3.2 Применение облачных вычислений .......................................................... 51
3.2.1 Модели облачных вычислений для работы....................................... 51
Заключение ............................................................................................................ 53
Список использованных источников .................................................................. 55
Приложение А Бизнес-модель облачных приложений ..................................... 57
3
ПЕРЕЧЕНЬ УСЛОВНЫХ ОБОЗНАЧЕНИЙ И СОКРАЩЕНИЙ
SaaS (Software as a Service) – приложения как сервис.
PaaS (Platform as a Service) – платформа как сервис.
IaaS (Infrastructure as a Service) – инфраструктура как сервис.
S+S (Software + Servise) – это альтернативная по отношению к SaaS
технология, продвигаемая Microsoft. В отличии от модели SaaS, в которой
пользователь получает доступ к приложению через браузер или тонкий
клиент, модель S+S предполагает наличие достаточно функционального
программного обеспечения, установленного на компьютере.
Появление S+S обусловлено стремлением объединить сильные стороны
SaaS и десктопного ПО. С одной стороны, сохраняются преимущества от
использования централизованного интернет-приложения (мобильность,
глобальный доступ). С другой стороны, пользователь получает
быстродействие и богатство интерфейса, свойственные десктопному ПО.
Однако, наряду с объединением преимуществ SaaS и традиционного
ПО, объединяются и недостатки: клиентское приложение нужно
поддерживать и обновлять, а данные все равно находятся у стороннего
провайдера. В любом случае, данная модель имеет право на существование и
уже с успехом используется во многих приложениях (например, Skype).
Облачные вычисления (Cloud Computing) – (Определение
Национального института стандартов и технологий CША (NIST)) – это модель
обеспечения повсеместного сетевого доступа по требованию к совместно
используемому пулу конфигурируемых вычислительных ресурсов, которые
можно быстро предоставить и внедрить с минимумом административных
усилий или взаимодействия с сервис-провайдером. У облачных вычислений
также должны быть пять основных характеристик: самообслуживание по
требованию, широкополосный сетевой доступ, пул ресурсов, возможность
быстрой перенастройки или расширения и измеряемое обслуживание.
Перечислены три сервисных модели - программа, платформа и
инфраструктура в виде сервиса и четыре модели внедрения - частная,
публичная, гибридная и общественная (community). Последняя определяется,
как «облачная инфраструктура для использования ограниченным
сообществом потребителей из организаций, имеющих общие интересы».
4
ВВЕДЕНИЕ
Облачные вычисления и технологии являются сегодня одним из
ведущих трендов мирового ИТ рынка. Их обсуждают буквально все компании
и аналитики, каждый так или иначе планирует их использование с целью
создания продуктов и сервисов на их основе. Некоторые лишь прощупывают
почву, для того, чтобы не оказаться позади и не упустить очевидные
преимущества, которые предоставляют “облака”. Практически каждый месяц
проходят конференции и семинары, посвященные “облаку” и облачным
вычислениям, а ведущие аналитики предсказывают существенный рост как
спроса на них, так и лавинообразное увеличение доходов для компаний,
которые одними из первых будут предлагать облачные сервисы.
Этот феномен можно объяснить достаточно просто – наконец-то
появляется решение, позволяющее существенно сократить затраты на ИТуслуги, по-новому взглянуть на весь процесс автоматизации деятельности
компаний и создания программного обеспечения, отказаться от высоких
входных инвестиций в инфраструктуру и ее последующего поддержания, а
также решить проблемы быстрого развертывания приложений, выхода на
новые рынки, расширения клиентской базы, количества заказчиков и т.п.
Облачные вычисления представляют собой высокоэффективный
инструмент повышения прибыли и расширения каналов продаж для
независимых производителей программного обеспечения (Independent
Software Vendors, ISV), операторов связи и VAR-посредников, расширяющих
возможности существующих продуктов с целью их перепродажи конечным
пользователям. Облачный подход позволяет организовать динамическое
предоставление услуг, когда пользователи могут производить оплату по факту
и регулировать объем своих ресурсов в зависимости от реальных
потребностей без долгосрочных обязательств.
Существует большое количество вариантов определения для терминов
“облачные вычисления” или “облачная платформа”. Это связано с тем, что
различные поставщики стараются подчеркнуть уникальность своих
предложений и выбирают разные названия, которые зачастую не совсем верно
отражают реальную суть предлагаемых сервисов. Когда говорят про облачную
платформу, обычно используют такие термины как “инфраструктура как
сервис” (IaaS), “платформа как сервис” (PaaS) или “приложения как сервис”
(SaaS).
Облачные вычисления обладают многими преимуществами по
сравнению с традиционными решениями для построения инфраструктур
предприятий, предложению сервисов и услуг и т.п. Среди таких преимуществ
выделяются:
 гибкость;
 масштабируемость;
 оплата за фактически использованные ресурсы;
 высокая надежность и отказоустойчивость.
5
Предлагаемые облачные платформы и сервисы сегодня отличаются как
по функционалу, так и стоимости. В зависимости от поставленных задач
необходимо правильно выбрать поставщика и определить оптимальный план
использования.
Корпорация Microsoft предлагает свою платформу Windows Azure,
которая содержит множество сервисов, имеет гибкие планы подписок,
поддерживает различные средства и языки разработки приложений.
Платформа быстро развивается и на сегодня она включает в себя более 5
основных видов услуг, от облачного хостинга веб-сайтов до полноценной
архитектуры предприятия со множеством сервисов, виртуальными машинами,
хранилищами данных и прочее.
6
1 ОБЛАЧНЫЕ ВЫЧИСЛЕНИЯ
При рассмотрении темы облачных вычислений необходимо выяснить
ответы на основные вопросы [1], которые помогут понять что же это на самом
деле:
 где располагаются приложения;
 основные характеристики облачных вычислений;
 предоставляемые сервисы;
 границы управляемости.
Получив ответы на эти вопросы можно перейти к рассмотрению
существующих платформ и бизнес-моделей, которые они предлагают.
1.1 Где располагаются приложения?
Обсуждая облачные вычисления, следует обращать внимание на то, где
располагаются приложения. В настоящее время существует три основных
модели расположения приложений:
 в инфраструктуре заказчика;
 у компании-хостера;
 в облаке.
Расположение в инфраструктуре заказчика (on premises). Это наиболее
традиционная модель развертывания приложений, существующая уже десятки
лет. Размещение приложений в локальной инфраструктуре предполагает
существенные начальные инвестиции в аппаратные ресурсы, программное
обеспечение, сетевую инфраструктуру и персонал.
Такая модель – оплата, приобретение, владение – напрямую связана с
высокими капитальными затратами, но, в тоже время, она обеспечивает
полный контроль за инфраструктурой, аппаратным и программным
обеспечением.
Расположение у компании-хостера (hosting). Такая модель
развертывания приложений, называвшаяся ранее Application Services Prodiver
(ASP), а затем – SaaS или просто «хостинг» получила свое развитие несколько
лет назад и является одним из наиболее популярных способов снижения
расходов на информационные технологии. Она основана на аренде аппаратной
платформы, программного обеспечения, соответствующей инфраструктуры и
персонала, выполняющего ее обслуживание. Такая модель отличается
меньшим контролем за инфраструктурой, аппаратным и программным
обеспечением и базируется на оплате фиксированного числа ресурсов, что
обычно предполагает оплату даже в тех случаях, когда арендуемые ресурсы не
используются.
Расположение в облаке (cloud). Данная модель появилась совсем
недавно. Она предполагает оплату по факту использования арендуемых
аппаратных и программных ресурсов, что приводит к существенному
снижению начальных расходов и переходу от капитальных инвестиций к
7
операционным расходам. Такая модель отличается практически отсутствием
контроля за инфраструктурой и аппаратным обеспечением, а при аренде
программного обеспечения – еще и отсутствием контроля за ним.
Каждый подход имеет свои достоинства и недостатки, но, с точки зрения
экономики, самой важной характеристикой является оплата по факту
использования, реализуемая именно облачными вычислениями. Таким
образом:
Облачные вычисления – это такой подход к размещению,
предоставлению и потреблению приложений и компьютерных ресурсов, при
котором приложения и ресурсы становятся доступны через Интернет виде
сервисов, потребляемых на различных платформах и устройствах. Оплата
таких сервисов осуществляется по их фактическому использованию.
Рисунок 1.1 – Варианты расположения приложений
1.2 Основные характеристики облачных вычислений
Масштабируемость
Ввод новых продуктов и сервисов, расширение канала продаж и
количества заказчиков требуют от информационных систем организации
выдерживать растущие нагрузки и обрабатывать большие объемы данных.
Быстрая и надежная работа, исключающая отказы в обслуживании, задержки
в ответах от системы и сбои позволяют повысить лояльность и
удовлетворенность заказчиков. Масштабируемое приложение позволяет
выдерживать большую нагрузку, за счет увеличения количества одно
временно запущенных экземпляров. Как правило, для одновременного запуска
множества экземпляров используется типовое оборудование, что снижает
общую стоимость владения и упрощает сопровождение инфраструктуры.
8
Эластичность
Гибкая реакция на изменяющиеся условия ведения бизнеса является
одной из характеристик успешного бизнеса. Например, сложившаяся
рыночная конъюнктура и действия конкурентов могут потребовать быстро
внедрить новый продукт или услугу, проведя при этом полный цикл
планирования, проектирования и разработки информационной системы.
Эластичность позволяет быстро нарастить мощность инфраструктуры, без
необходимости проведения начальных инвестиций в оборудование и
программное обеспечение. Эластичность связана с масштабируемостью
приложений, так как решает задачу моментального изменения количества
вычислительных ресурсов, выделяемых для работы информационной
системы.
Мультитенантность
Мультитенантность – это один из способов снижения расходов за счет
максимального использования общих ресурсов для обслуживания различных
групп пользователей, разных организаций, разных категорий потребителей и
т.п. Мультитенантность может быть особенно привлекательна для компанийразработчиков приложений, так как позволяет снизить собственные расходы
на оплату ресурсов облачной платформы и максимально использовать
доступные вычислительные ресурсы.
Оплата за использование
Оплата использованных ресурсов – это еще один атрибут облачных
вычислений, позволяющий перевести часть капитальных издержек в
операционные. Приобретая только необходимый объем ресурсов, можно
оптимизировать расходы, связанные с работой информационных систем
организации. А в сочетании с мультитенантностью, разделяя ресурсы между
различными потребителями, можно снизить расходы еще больше.
Эластичность позволит быстро изменить объем ресурсов в сторону
увеличения или уменьшения, тем самым, приведя расходы на ИТ в
соответствие с фактическими потребностям организации.
Самообслуживание
Быстрый вывод на рынок нового продукта или услуги в современных
условиях
сопровождается
развертыванием
или
модификацией
информационных систем. Традиционно, развертывание информационной
системы предваряется определением спецификации оборудования, его
закупкой и настройкой. В зависимости от того, кем производится процесс
разработки приложения (контрактором или внутренними силами), он может
потребовать выделения аппаратных ресурсов и установку программного
обеспечения. Все это может занять длительное время: месяцы и даже годы.
Самообслуживание позволяет потребителям запросить и получить требуемые
ресурсы за считанные минуты.
9
Как можно заметить, только сочетание нескольких атрибутов облачных
вычислений приводит к достижению задачи повышения доходов и снижения
расходов. Так, оплата только использованных ресурсов максимально
эффективна в сочетании с эластичностью инфраструктуры.
Эластичность, в свою очередь, предполагает, что приложения
масштабируются, в противном случае, быстрое выделение ресурсов не
приведет к повышению производительности.
Выше мы рассмотрели, как основные атрибуты облачных вычислений
могут влиять на решение задач повышения доходов и снижения расходов
организации. Нужно также понимать, что переход в облако не является
тривиальной задачей и часто требует пересмотра и изменения архитектуры
существующих решений, а иногда – полного отказа от них в пользу создания
новых, реализованных с учетом возможностей, предоставляемых облачными
платформами. В зависимости от архитектуры существующих приложений и
технологий, на которых они реализованы, их перенос на облачную платформу
может привести к получению ряда преимуществ, а может – к появлению
дополнительных проблем, связанных, например, с обеспечением
совместимости или ограничениями реализации серверной платформы на
уровне облака. Как один из шагов по адаптации облачных вычислений, можно
рассмотреть переход к архитектуре, ориентированной на сервисы.
1.3 Облачные вычисления и предоставляемые ими сервисы
Облачные вычисления и предоставляемые ими сервисы (например:
вычислительные мощности или хранилища) можно сравнить с
коммунальными услугами. Так же как в жару или холод меняется потребление
воды и электричества, так и потребление сервисов, предоставляемых
«облачными» платформами, может возрастать или уменьшаться в
зависимости от повышения или понижения нагрузок.
Схожесть сервисов и коммунальных услуг заключается в нескольких
аспектах. Во-первых, и в том и в другом случае потребители платят только за
реальную утилизацию. Во-вторых, и те и другие ресурсы вы берете в аренду –
т.е. в большинстве случаев вам не нужно подключаться к колодцу для
получения воды или непосредственно к электростанции для получения
электричества – поставщики таких сервисов обеспечивают их доступность в
виде арендуемых «ресурсов», оставляя за собой вопросы создания и
поддержания
инфраструктуры.
В-третьих,
заключая
договор
с
соответствующей организацией, вы подразумеваете доступность тех или иных
ресурсов, а организация – своевременную оплату их аренды.
Какие сервисы чаще всего предоставляют «облачные» платформы?
Хостинг приложений, хранение данных, проведение вычислений – вот
наиболее частые сценарии использования «облачных» платформ. Говоря про
«облачные» платформы и предоставляемые ими сервисы, обычно
10
употребляют словосочетание «...как сервис». Можно выделить следующие
основные сервисы, предоставляемые облачными платформами.
Программное обеспечение как сервис (SaaS)
Модель предоставления программного обеспечения как сервиса
(Software as a Service, SaaS) обеспечивает возможность аренды приложений.
Программное обеспечение как сервис включает платформу как сервис и
инфраструктуру как сервис. Примером приложения как сервиса может быть
Business Productivity Online Suite.
Модель предоставления программного обеспечения как сервиса
является моделью обеспечения доступа к приложениям через Интернет с
оплатой по факту их использования. Данная модель является наиболее
распространенной на сегодняшний день моделью предоставления облачных
сервисов.
Организации
могут
реализовывать
подобную
модель
предоставления сервиса из частных облаков, используя внутренние сетевые
каналы, дополнительно защищенные и не связанные с Интернетом.
Потребителями данного типа сервисов являются конечные
пользователи, которые работают с приложениями, предоставляемыми в
«облаке». Соглашение о предоставлении сервисов (SLA) обычно покрывает
такие характеристики сервисов, как их доступность (uptime) и
производительность. Возможности настройки приложений под нужды
потребителей минимальны или вообще отсутствуют, их уровень диктуется
требованиями рынка или возможностями поставщиков таких приложений.
Оплата конечного сервиса, как правило, производится ежемесячно и
рассчитывается на основе количества пользователей приложения.
Платформа как сервис (PaaS)
Модель предоставления платформы как сервиса (Platform as a Service,
PaaS) обеспечивает возможность аренды платформы, которая обычно
включает операционную систему и прикладные сервисы. Платформа как
сервис облегчает разработку, тестирование, развертывание и сопровождение
приложений без необходимости инвестиций в инфраструктуру и
программную среду. Платформа как сервис также включает и инфраструктуру
как сервис. Примером платформы как сервис может служить Windows Azure,
Amazon Web Services (AWS).
Здесь потребителями являются сами компании, разработавшие
приложения. Платформа обеспечивает среду для выполнения приложений,
сервисы по хранению данных и ряд дополнительных сервисов, например
интеграционные или коммуникационные. Соглашение о предоставлении
сервисов (SLA) обычно покрывает такие характеристики сервисов, как
доступность среды выполнения приложений и ее производительность.
Возможности настройки приложений под нужды потребителей практически
11
не ограничены. Ограничением может послужить лишь функциональность
сервисов, предоставляемых на уровне платформы. При этом необходимо
понимать: для того чтобы воспользоваться возможностями облачной
платформы, необходимо значительно модернизировать или вообще написать
заново существующие приложения.
Оплата облачной платформы рассчитывается исходя из объема
использованных вычислительных ресурсов, таких как:
 время работы приложения;
 объем данных и количество операций с данными (транзакций);
 сетевой трафик.
Провайдер облачной платформы может предоставлять существенные
скидки при приобретении определенного объема ресурсов.
Инфраструктура как сервис
Модель предоставления инфраструктуры (аппаратных ресурсов) как
сервиса (Infrastructure as a Service, IaaS) обеспечивает возможность аренды
таких инфраструктурных ресурсов, как серверы, устройства хранения данных
и сетевое оборудование. Управление всей инфраструктурой осуществляется
поставщиком сервисов, а потребитель управляет только операционной
системой и установленными приложениями. Такие сервисы обычно
оплачиваются по их фактическому использованию и позволяют пользователю
увеличивать или уменьшать объем используемой инфраструктуры через
специальные порталы, предоставляемые поставщиками сервисов.
Здесь потребителями являются владельцы приложений, ИТспециалисты, подготавливающие образы ОС для их запуска в сервисной
инфраструктуре. Облачная платформа предоставляет сервисы для запуска
виртуальных машин и сервисы хранения данных. Соглашение о
предоставлении сервисов (SLA) обычно покрывает такие характеристики
сервисов, как доступность виртуального сервера, время развертывания образа
ОС. В данной сервисной модели могут быть запущены практически любые
приложения, установленные на стандартные образы ОС.
Как и в случае с PaaS, оплата инфраструктуры как сервиса, обычно
производится исходя из объема использованных ресурсов.
1.4 Облачные сервисы и границы управляемости
Обсуждая различные типы облачных сервисов – программное
обеспечение, платформу и инфраструктуру как сервис, следует обращать
внимание на т.н. границы управляемости – т.е. на то, чем, в сравнении с
традиционными моделями развертывания в собственной инфраструктуре,
можно управлять при переходе на облачную платформу. По понятным
причинам, инфраструктура как сервис предоставляет большие возможности
по настройке отдельных компонентов, тогда как платформа как сервис и
12
программное обеспечение как сервис практически минимизируют эти
возможности. Отличия в границах управляемости показаны на рисунке 1.2.
Рисунок 1.2 – Границы управляемости
Из рисунка 1.2 видно, что при развертывании собственной
инфраструктуры вы управляете всеми ее компонентами – от сетевых ресурсов
до выполняющихся приложений. Тогда как при использовании модели IaaS вы
можете контролировать такие компоненты, как среда исполнения кода,
безопасность и интеграция, базы данных, и т.п. При переходе к модели PaaS,
все компоненты платформы предоставляются как сервисы с ограниченными
возможностями для управления ими. Это сделано, чтобы предоставить в
распоряжение потребителей оптимально сконфигурированную платформу, не
требующую дополнительных настроек.
1.5 Существующие облачные платформы
На рынке сегодня существует множество платформ для организации
облачных вычислений. Существуют как проприетарные (коммерческие), так и
открытые (свободные). На основе открытых платформ, таких как OpenStack
[2], Cloud Foundry [3] многие компании создают свои инфраструктуры и
предлагают средства для их управления, в частности, предоставляют
комплексы для превращения имеющихся ресурсов в облака.
Для того, чтобы выбрать наиболее подходящую платформу и
провайдера необходимо четко сформулировать требования, предъявляемые к
облаку, а также произвести пробное тестирование всех возможных платформ.
13
Зачастую это наилучший способ понять, подходит ли решение или
необходимо пробовать создавать свое на основе открытых платформ.
Из наиболее активных и серьезных игроков рынка облачных
вычислений следует отметить следующие платформы и компании [4]:
 Amazon Web Services [5]
Amazon является пионером рынка облачных платформ и на
сегодняшний момент – это безусловный лидер рынка. Особенность AWS в
том, что это инфраструктурный сервис (IaaS), который предоставляет
максимум свободы разработчикам в выборе платформы и среды разработки.
Обратная сторона медали в том, что многое (начиная от установки ОС)
приходится делать вручную. AWS подходит как для хостинга корпоративных
приложений и контента, так и для построения SaaS сервисов.
 Rackspace [6]
Rackspace является наиболее близким к Amazon (это тоже IaaS
платформа) и в части стоимости и простоты администрирования – даже
обходит своего конкурента. В отличии от Amazon, которая концентрирует
усилия на развитии инструментов для развертывания и управления облачной
инфраструктурой, Rackspace стремится быть ближе к прикладным
приложениям. В частности, недавно они запустили онлайн супермаркет
приложений Cloud Tools [7]. Кроме того, Rackspace предоставляет базовые
сервисы для совместной работы: почтовый сервер (Rackspace Email) и
файловый сервер (Rackspace Cloud Drive), которые можно будет
интегрировать в свои облачные приложения.
 Windows Azure [8]
Это идеальная облачная платформа для Microsoft-ориентированных
разработчиков и компаний. Впрочем, Windows Azure также поддерживает
PHP, MySQL, Ruby on Rails, Python, Java, Eclipse и Zend. Главным
преимуществом Azure перед Amazon Web Services и Rackspace Cloud является
высокий уровень автоматизации, позволяющий разработчику думать только о
своем приложениии, а не об инфраструктуре. Кроме того, эта платформа
позволяет легко интегрировать размещаемые на ней приложения с локальной
ИТ инфраструктурой компании с помощью стандартов SOAP, REST и XML
(таким образом, поддерживает схему S+S).
Данная платформа будет рассмотрена подробнее в следующем разделе.
 Google App Engine + Google Apps [9]
Платформа Google App Engine отличается гуманным отношением к
стартапам – предоставляет ограниченные бесплатные ресурсы (дисковое
пространство и трафик), которые весьма кстати для начинающих SaaS
сервисов. GAE поддерживает пока только два языка программирования –
Python и Java. GAE в основном ориентирован на создание SaaS сервисов для
малого бизнеса. Кроме инфраструктурной платформы, Google (для гуглоориентированных разработчиков) предоставляет набор API для интеграции
сервиса с популярными приложениями Google Apps и супермаркет
приложений Google Apps Marketplace для вывода вашего сервиса на рынок.
14
 Force.com [10]
Платформа компании Salesforce [11] – Force.com – претендует на роль
монополиста на рынке корпоративных SaaS приложений. Платформа
построена вокруг самой успешной корпоративной SaaS системы – Salesforce и
позволяет создавать дополнения к этой системе или независимые приложения.
Force.com предоставляет широкий выбор инструментов разработки (Apex,
Flash, Java), конструктор интерфейсов, готовые модули (аутентификация,
социальные инструменты, бизнес-процессы, аналитика) и супермаркет
приложений с огромной пользовательской базой.
 VMWare vCloud [12]
VMWare vCloud – не является самодостаточной облачной платформой.
Это промежуточный слой, который несколько партнеров VMWare
предоставляют поверх своей серверной инфраструктуры (последней к списку
партнеров присоединилась Salesforce). Как известно, VMWare – это мировой
лидер на рынке систем виртуализации, поэтому главным преимуществом этой
платформы является поддержка виртуальных образов приложений. В
частности, это позволяет быстро и просто переносить локальные бизнесприложения на облачную платформу без проблем, связанных с переносом
сопутствующей ИТ инфраструктуры.
 IBM Cloud [13]
IBM известна своими суперкомпьютерами, решающими суперзадачи.
Вот и IBM Cloud в основном ориентирована на крупные компании и
ресурсоемкие процессы: разработка и тестирование ПО, хранение и
аналитическая обработка огромных массивов данных. Очевидно, после
недавнего приобретения сервиса OmniConnect, еще одной функцией этого
облака станет интеграция разрозненных облачных систем и платформ.
Таким образом, на рынке представлено достаточно платформ, чтобы был
выбор. После определения требований можно начать поиск решений, который
стоит начать именно с именитых платформ, т.к. они имеют больший опыт и
развились до больших размеров. Использование других платформ не означает
того, что они хуже или лучше. Просто все зависит от задач, которые
необходимо решать, а также от стоимости и сложности как разработки, так и
поддержки. Плюсы крупных платформ в том, что у них это все есть, чего
нельзя сказать про малых игроков.
1.6 Почему рынку нужны облачные технологии?
Компания Citrix (один из ведущих игроков рынка Cloud
Computing) заинтересовалась вопросом, что вообще думают
обычные люди о Cloud Computing. Она опросила тысячу
простых американцев, и вот что выяснилось. На вопрос "Что
такое Cloud Computing?" только 16% четко ответили, что
это компьютерная сеть, предназначенная для хранения и
обработки данных, доступная через интернет. Другие
варианты ответов были разнообразны и включали в себя,
15
например,
"образование
облаков
в
атмосфере",
"ортопедическая подушка", "фильм", "название кафе", "бренд
туалетной бумаги". 54% опрошенных заявили, что они никогда
не пользовались Cloud Computing (хотя, судя по ответам на
другие вопросы, 95% из них все-таки пользовались).
В ответ на вопрос о пользе Cloud Computing, 68% сказали, что
это экономия денег. 40% ответили, что это возможность
работать дома голышом. 33% - возможность загорать на
пляже и работать со своими файлами. 25% - возможность
хранить компрометирующие видео НЕ на своем компьютере.
35% - возможность сотрудничать с неприятными людьми без
личной встречи.
Преимущество Cloud Computing? [14]
Треть западноевропейских розничных компаний
планирует увеличить расходы на облачные сервисы
более чем на 25%, по данным очередного исследования
компании IDC. По мнению экспертов IDC, текущий
уровень адаптации cloud computing среди ритейлеров
в Западной Европе достаточно низок, и, тем не менее,
уже к 2014 году этот показатель увеличится на
300%.
Действительно, сегодня почти все крупные игроки рынка ИТ услуг так
или иначе обращаются к облачным услугам и сервисам. Кто-то создает свои
платформы, кто-то же использует существующие и развивает на их основе
свою инфраструктуру, которую затем предлагает другим.
Использование облаков позволяет сократить издержки и затраты на
персонал и свою инфраструктуру, при этом получая самые современные
инструменты, ПО и услуги. Кроме того, облачные вычисления предлагают
полноценные услуги, когда все необходимое заказчику развертывается в
облаке и нет необходимости настраивать, разрабатывать свои решения. Это
позволяет сразу же перейти к использованию и обеспечить доступ из любой
точки мира. Однако не все провайдеры предлагают готовые решения, что
может быть как хорошо, так и плохо для компании. Хорошо в том случае,
когда у нее есть средства и персонал, который сможет произвести настройку,
создаст свое решение, уникальное, подходящее лично Вам. В противном
случае, необходимо заказывать со стороны дополнительные услуги по
разработке и настройке облака, что невыгодно для большинства малых и
средних компаний.
Более подробно про тенденции роста можно прочитать здесь:
 Облачные вычисления: тенденции развития и основные «игроки».
Часть 1 [15];
 Облачные вычисления: 10 изменений, которые произойдут с ними к
2020 г. [16];
16
 Тренды рынка и будущее облачных технологий [17].
1.7 Прогнозы развития рынка
Согласно многим прогнозам [18] рынок облачных вычислений будет
расти все больше и через несколько лет превзойдет по показателям более чем
в 2 раза показатели 2012 года.
Прогноз IDC: Рынок облачных сервисов вырастет в 2,5 раза
Мировые расходы на публичные облачные сервисы превысят $40 млрд
в 2012 году, а к 2016 году, по прогнозам IDC [1], могут достигнуть уже $100
млрд по сравнению с $40 млрд в 2012 году. Среднегодовой темп прироста
этого рынка в период с 2012 по 2016 год составит 26,4%, что в пять раз
превышает темпы роста ИТ индустрии в целом.
К 2016 году на публичные облачные сервисы придется 16% выручки в
пяти ключевых технологических категориях: приложения, инфраструктурный
софт, PaaS, серверы и базовые системы хранения. Что более значимо,
облачные сервисы сгенерируют 41% всего роста в этих областях.
На софт как сервис (SaaS) придется максимальная доля выручки на
рынке публичных облачных сервисов в ближайшие 5 лет, прогнозируют
аналитики IDC. Но другие категории, в особенности базовое хранение и PaaS,
покажут сопоставимо более высокий темп роста. Усиления сегмента PaaS
решений будет максимальным в ближайшие 12-18 месяцев, говорится в
исследовании.
С географической точки зрения США останется крупнейшим
региональным рынком публичных облачных услуг, за ними будут следовать
Западная Европа и Азиатско-Тихоокеанский регион (исключая Японию). Но
максимум роста придется на рынки развивающихся стран, чья коллективная
доля в общемировом объеме удвоится к 2016 году и составит 30%.
Прогноз Edge Strategies и Microsoft
По данным опубликованного в первом квартале 2012 года совместного
исследования Edge Strategies и Microsoft, в течение ближайших пяти лет стоит
ожидать удвоения количества платных облачных сервисов, потребителями
которых выступают компании из числа малого и среднего бизнеса. Количество
мелких компаний, использующих хотя бы один платный облачный сервис,
утроится в ближайшие три года.
«Прошли времена, когда ИТ-инфраструктура и сервисы корпоративного
уровня оставались исключительной прерогативой крупных корпораций», –
заявил Марко Лимена (Marco Limena), вице-президент подразделения
Microsoft Operator Channels. – «Концепция облачных вычислений сделала
доступными самые современные и сложные технологии для представителей
17
сегмента SMB. Это необходимое подспорье для успешной конкуренции в
условиях быстро меняющихся макроэкономических показателей. Компании
смогут тратить меньше времени и денежных средств на ИТ и больше
фокусироваться на приоритетных задачах развития бизнеса».
Как показывают результаты проведенного исследования, 59%
компаний, использующих облачные сервисы, отмечают значительное
повышение эффективности работы ИТ-служб по сравнению с 30% компаний
с традиционным устройством ИТ-инфраструктуры.
Несмотря на замедление темпов экономического роста, 63%
предприятий SMB, потребляющих облачные сервисы, в ближайшие 12-18
месяцев рассчитывают на увеличение объемов продаж. Напрямую связывают
использование современных технологий с прогнозируемым улучшением
бизнес-показателей 55% опрошенных респондентов, с повышением
конкурентоспособности на рынке – 58%. Половина принявших участие в
опросе организаций считает, что важность облачных вычислений для
операционной деятельности со временем возрастет.
Только 20% компаний уверены, что данные в облаке подвержены
большей опасности нежели во внутрикорпоративных системах. Напротив, не
видят никакой разницы между этими двумя вариантами 36% респондентов или
49% из числа более крупных компаний в сегменте SMB.
В исследовании принимали участие ответственные за принятие решений
ИТ-менеджеры свыше 3000 компаний в сегменте SMB в 13 странах мира.
Прогноз Gartner
Gartner прогнозирует, что глобальные доходы от продаж услуг softwareas-a-service (SaaS) в 2012 году вырастут на 17,9% по сравнению с прошлым
годом и достигнут $14,5 млрд. Тенденция роста сохранится вплоть до 2015
года, когда объем рынка достигнет $22,1 млрд.
Закономерно, самым зрелым и одновременно многообещающим
регионом для SaaS остается Северная Америка и, в частности, США. По
прогнозам Gartner, доходы от продаж соответствующих услуг здесь вырастут
с $7,8 млрд в 2011 году до $9,1 млрд в 2012 году. Заказчики предпочитают
использовать в рамках модели SaaS преимущественно электронную почту и
офисные приложения, финансовое ПО, программы для управления расходами.
Системы веб-конференций в Северной Америке тоже более востребованы, чем
в других регионах, по причине большого количества территориальнораспределенных структур.
«После свыше 10 лет фактического использования модель SaaS,
наконец, начала получать повсеместное признание и распространение в
сегменте корпоративных приложений», – говорит Шарон Мерц (Sharon Mertz),
директор по исследованиям Gartner. – «Этому способствуют ограниченные
ИТ-бюджеты,
увеличение
численности
сообществ
разработчиков,
18
работающих в рамках модели platform as a service (PaaS), и растущий интерес
к теме облачных вычислений».
В зависимости от региона Gartner указывает на различные
сдерживающие факторы, препятствующие распространению модели SaaS. В
Северной Америке заказчики чаще всего жалуются на недостаточную
гибкость и сложность интеграции с существующими решениями, в ЕМЕА – на
ненадежную работу сетей, в азиатском и тихоокеанском регионе – на
длительные сроки реализации проектов. Вендоры за пределами домашних
рынков предпринимают более агрессивные попытки привлечения заказчиков,
в частности, предлагают локализованные версии решений, создают альянсы и
строят ЦОД, чтобы в максимально большей степени соответствовать
ожиданиям заказчиков.
Таким образом, исходя из прогнозов можно заключить, что тренд
облачных вычислений будет расти и на рынке будут появляться новые игроки,
а текущие будут предлагать все более широкий и доступный перечень услуг и
довольно приятную плату за использование. Последние новости об облачном
хранении данных [19, 20] говорят о том, что становится все выгоднее хранить
данные в облаках.
19
2 ПЛАТФОРМА WINDOWS AZURE
Windows Azure [8] – это открытая и гибкая облачная платформа, которая
позволяет вам быстро выполнять построение приложений, развертывать их и
управлять ими в рамках глобальной сети из центров данных, управляемых
корпорацией Майкрософт. Можно осуществлять построение приложений с
помощью любого языка, средства или любой платформы, а также
интегрировать общедоступные облачные приложения с существующей ИТсредой.
Основные преимущества и особенности платформы [21]:
 Всегда наготове. Всегда в строю.
Windows Azure предлагает ежемесячное соглашение об уровне
обслуживания на уровне 99,95 %, что позволяет создавать и запускать
высокодоступные приложения, не
сосредотачивая
внимание на
инфраструктуре. Эта платформа обладает возможностью автоматического
применения исправлений для операционной системы и служб, встроенной
балансировкой сетевой нагрузки и устойчивостью к аппаратным сбоям. Она
поддерживает модель развертывания, которая позволяет обновлять
приложение с нулевым временем простоя.
 Открытость.
Windows Azure позволяет использовать для построения приложений
любой язык, любое средство или любую платформу. Компоненты и службы
предоставляются с помощью открытых протоколов REST. Клиентские
библиотеки Windows Azure доступны для нескольких языков
программирования, выпускаются по лицензии с открытым исходным кодом и
размещаются на сайте GitHub.
 Неограниченные серверные ресурсы. Неограниченное хранилище.
Windows Azure позволяет легко масштабировать приложения до любого
размера. Это полностью автоматизированная платформа самообслуживания,
которая позволяет вам подготавливать ресурсы к работе за считанные минуты.
Гибко расширяйте или сокращайте использование ресурсов в соответствии со
своими потребностями. Оплата производится только за ресурсы,
используемые вашим приложением. Платформа Windows Azure доступна в
нескольких центрах обработки данных по всему миру, что позволяет вам
развертывать приложения ближе к клиентам. Сегодня это 6 датацентров, по 2
на регион (Северная Америка, Европа, Азия).
 Расширенные возможности.
Платформа Windows Azure является гибкой облачной платформой,
которая способна удовлетворить любые потребности приложений. Она
обеспечивает надежное размещение и масштабирование кода в ролях
выполнения приложений. Для хранения данных можно использовать
реляционные БД SQL, хранилища таблиц NoSQL, неструктурированные
хранилища больших двоичных объектов, а при необходимости использовать
компоненты Hadoop и службы бизнес-аналитики для интеллектуального
20
анализа данных. Возможности безопасного обмена сообщениями платформы
Windows Azure позволяют развертывать распределенные приложения и
гибридные решения, работающие в смешанной облачной и локальной среде
предприятия. Использование распределенного кэширования или сети
кэширующих серверов (CDN) позволяет сократить задержку и улучшить
временные характеристики приложения во всех точках земного шара.
Рисунок 2.1 – Домашняя страница официального портала Windows
Azure [8]
2.1 Обзор платформы Windows Azure
Платформа Windows Azure предоставляет набор сервисов, которые, в
основной массе, схожи с сервисами, используемыми разработчиками
«традиционных» приложений:
 Вычислительные сервисы. Представляют собой контейнеры для
приложений с поддержкой современных технологий разработки, включая
.NET, Java, PHP, Python, Ruby on Rails и нативный код.
 Сервисы хранения данных. Масштабируемая распределенная
система хранения данных, поддерживающая ряд моделей хранения, включая
табличные структуры, бинарные объекты, асинхронные очереди сообщений,
традиционные файловые системы и сети распределения контента (CDN,
content distribution networks).
 Коммуникационные сервисы. Доступны через облачную сервисную
шину и могут использоваться как средство обмена сообщениями или брокер
21
соединений с другими облачными сервисами или сервисами, находящимися у
заказчиков.
 Сервисы обеспечения безопасности. Сервисы управления
доступом, основанные на политиках, которые поддерживают механизмы
федерации и позволяют интегрироваться с существующими системами
управления идентификацией.
 Прикладные сервисы. Компоненты и сервисы, которые могут
использоваться для разработки облачных приложений и прикладных сервисов.
2.2 Компоненты облачной платформы
Платформа состоит из следующих основных компонентов:
 веб-сайты;
 виртуальные машины;
 мобильные службы;
 облачные службы;
 большие объемы данных (хранилища);
 мультимедиа.
Для каждого компоненты возможны свои сценарии использования,
причем они могут включать в себя несколько компонентов.
Рисунок 2.2 – Логотипы компонентов платформы
2.2.1 Веб-сайты
Веб-разработка является одиним из самых быстрорастущих трендов.
Развитие Интернета и технологии, обеспечивающих доступ к нему, требует
новых средств и моделей для развертывания сайтов и обеспечения их высокой
доступности и надежности. Традиционные хостинги остаются популярными и
постоянно обновляются, при этом предоставляют самые последние версии
средств для поддержания сайтов.
22
Облачные платформы позволяют расширить возможности разработки и
предоставляют высокую степень масштабируемости. Они предоставляют
качественно новые услуги, которые отличаются большей гибкостью,
управляемостью и т.д. Это в свою очередь позволяет управлять своими
затратами и платить лишь за реально необходимые и использованные ресурсы,
сокращая издержки. В начале можно начать с небольшого сайта с настройками
по умолчанию. Далее, при необходимости, можно подобрать подходящую
виртуальную машину под высоконагруженный сайт, увеличить трафик,
добавить другие сервисы, такие как кэширование, CDN, базы данных SQL,
хранилище и т.д.
Для создания сайтов можно использовать языки и приложения с
открытым исходным кодом по своему усмотрению, а затем выполнить
развертывание с помощью FTP, Git и TFS. Использование Git и TFS дает
возможность настроить автоматическую публикацию сайта после того, как его
последняя версия обновляется в системе управления версиями (СУВ).
Настройка непрерывной интеграции и развертывания снимает необходимость
в ручной сборке, тестировании и размещении. Все это будет выполняться
автоматически.
Для создания веб-сайта можно выбрать два пути (рисунок 2.3):
a) выбрать шаблон сайта (из представленных в галерее);
b) создать свой сайт (Quick Create или Create With Database).
В галерее доступно множество видов сайтов и платформ, таких как
WordPress, KentikoCMS, Orchard CMS и другие. Во многих случаях, выбор
приложений из существующих обеспечит более быстрое создание
необходимого портала, а также предоставит возможности по управлению им.
Рисунок 2.3 – Создание нового веб-сайта
При создании сайта самостоятельно, в панели управления необходимо
подготовить виртуальную машину для него, создать БД (в случае
необходимости) и выделить место под хранение. При таком сценарии будет
предоставлен экземпляр виртуальной машины, на котором будет развернут
сайт. Далее необходимо выбрать способ развертывания или публикации.
Среди вариантов можно использовать не только Git и TFS, но и Web Deploy и
FTP Deploy, доступные в IDE после выбора настроек публикации, которые
могут быть загружены с портала.
23
После того, как файлы сайта будут загружены, к нему можно получить
доступ по адресу, который выдается автоматически в домене третьего уровня
(<your_name>.azurewebsites.net) и имеет название вашего сайта (который был
задан при создании). В случае необходимости DNS имя можно сменить на свое
(это доступно для режимов работы отличных от Free, а также требует
фиксированной оплаты).
Рисунок 2.4 – Мониторинг созданного сайта в панели управления
В случае необходимости повышения производительности сайта,
увеличения размера БД, необходимо выбрать более мощную виртуальную
машину, а также БД (рисунок 2.5).
24
Рисунок 2.5 – Настройки масштабирования сайта
2.2.2 Виртуальные машины
В Windows Azure можно легко использовать собственные образы
Windows Server или Linux, а также выбрать образы из коллекции. Это
позволяет сохранять полный контроль над образами и поддерживать их в
соответствии с бизнес-требованиями. Windows Azure также помогает
переносить приложения и инфраструктуру, не меняя существующий код, что
ускоряет переход SharePoint, SQL Server и Active Directory в облако и
экономит время и деньги.
Виртуальные машины следует использовать для следующих целей:
 Получение гибкости. Виртуальные машины дают приложению
мобильность, позволяя перемещать виртуальные жесткие диски (VHD) между
локальной и облачной средой.
 Выполнение приложений в облаке. Если компания использует
популярные серверные приложения Майкрософт, виртуальные машины
помогут применять те же локальные корпоративные приложения и
инфраструктуру в облаке. Легко работайте с приложениями, такими как
Microsoft SQL Server, Active Directory и Microsoft SharePoint Server.
 Оставайтесь на связи. С полным административным доступом
можно удаленно подключаться к виртуальным машинам и управлять
установленными на них приложениями.
Все виртуальные машины управляются расширенной версией
гипервизора (Hyper-V) и располагаются в глобальных центрах обработки
данных. Каждая виртуальная машина может иметь различные характеристики
– число процессоров, объем памяти, объем хранилища (жесткого диска). В
25
зависимости от размера вычислительной операции предоставляются 5 видов
конфигураций машин.
Таблица 2.1 – Конфигурации виртуальных машин
Размер
Частота
Количество ядер
вычислительной процессора (ГГц)
операции
Очень мелкая
1,7
В общем доступе
Мелкая
1,7
1
Средняя
1,7
2
Крупная
1,7
4
Очень крупная
1,7
8
Объем памяти
768 Мб
1,75 Гб
3,5 Гб
7 Гб
14 Гб
2.2.3 Облачные службы
Предоставляют возможность создания приложений и интерфейсов API
с высокой доступностью и бесконечной масштабируемостью.
Быстро развертывайте мощные приложения и службы и управляйте ими
с помощью облачных служб Windows Azure. Просто загрузите свое
приложение, а Windows Azure автоматически осуществит развертывание – от
настройки и балансировки нагрузки до мониторинга работоспособности для
обеспечения непрерывной доступности. Соглашение об уровне обслуживания
гарантирует степень доступности 99,95% для вашего приложения.
Используйте свое приложение, не заботясь об инфраструктуре. Все так просто.
Используйте облачные службы в следующих целях:
 Уделяйте внимание приложению, не заботясь об инфраструктуре.
Вам больше не придется волноваться об исправлениях, сбоях
оборудования и сетевых проблемах. Облачные службы Windows Azure
позволяет вам создавать приложения, которые остаются доступными даже во
время обновления программного обеспечения и сбоев оборудования. Теперь
вы можете просто работать с кодом, ведь именно это важно.
 Разработка API для разнообразных устройств.
Каждому новому мобильному приложению требуется мощный набор
серверных служб. Облачные службы Windows Azure предоставляют вам все,
что нужно для создания самых надежных и масштабируемых интерфейсов
API, о которых только можно мечтать. Воспользуйтесь преимуществом
мгновенного доступа к мгновенному масштабированию для обработки
больших нагрузок без написания нового кода.
 Создание современных облачных архитектур.
Облачные службы Windows Azure предоставляют наиболее
эффективную среду для создания самых современных распределенных
вычислительных приложений на планете. Ваши пользователи смогут
насладиться быстро работающими приложениями, которые никогда не
перестают отвечать.
26
2.2.4 Мобильные службы
Windows Azure Mobile Services – набор сервисов, которые призваны
облегчить разработчикам мобильных приложений создание и использование
серверного бэкенда. Использование облака Windows Azure в качестве такого
бэкенда позволит получить готовый функционал push-уведомлений,
сохранения данных в облачное хранилище, аутентификации и авторизации
пользователей
без
необходимости
разворачивать
собственную
инфраструктуру.
Доступ к сервисам доступен из C# и JavaScript. Команда разработчиков
работает над публичным REST API, который позволит получать данные и
работать с сервисами из любого языка. На сегодня обеспечена официальная
инструментальная поддержка Windows Phone, iOS Windows 8. Также
планируется добавление поддержки Android.
Сегодня Windows Azure Mobile Services предлагает следующий
функционал:
 хранение пользовательских данных в облаке;
 аутентификация и авторизация пользователей в облаке;
 прием push-уведомлений от облачного сервиса.
Особенности:
 REST API, доступ с любого мобильного клиента;
 масштабирование по требованию;
 мониторинг потребления ресурсов и числа запросов в реальном
времени;
 реляционное хранилище, поддержка SQL-запросов, индексов;
 автоматическое обновление схемы данных;
 разрешения, обработка запросов перед операциями CRUD;
 функциональная единая панель управления;
 бесплатно (!) предоставляется 10 экземпляров.
27
Рисунок 2.6 – Архитектура windows Azure Mobile Services
Последнее обновление сервиса [22] предоставило следующие
возможности:
 Поддержка платформы iOS и выпуск отдельного iOS SDK
Добавлены новые инструментальные средства для разработки iOSприложений для iPhone и iPad. Эти инструменты выпущены с открытым
исходным кодом под свободной лицензией Apache 2.0.
Для разработчиков iOS-приложений благодаря новому SDK упрощается
доступ к сервисам хранения информации и авторизации через сторонние
сервисы и сервис Microsoft Account. Поддержка push-уведомлений пока не
доступна в новом iOS SDK и появится в скором будущем.
 Поддержка сторонних сервисов авторизации: Facebook, Twitter,
Google
В дополнение к уже предложенному сервису авторизации Microsoft
Account, который можно было использовать для своих приложений ранее, в
обновлении представлена поддержка сторонних сервисов авторизации:
Facebook, Twitter и Google.
 Использование Windows Azure Tables, Blobs и Service Bus внутри
Mobile services
С обновлением сервиса у разработчиков появилась возможность
использовать внутри скриптов Mobile Services вызовы к другим сервисам
облачной платформы: средствам хранения информации Tables и Blobs и
средству интеграции Service Bus.
 Отправка почтовых и SMS сообщений
В дополнение к использованию облачных сервисов самой платформы из
серверных скриптов Mobile Services, в обновлении добавлен функционал
позволяющий отправлять почтовые сообщения (используя SendGrid) и SMS28
сообщения. Можно бесплатно отправлять до 25000 почтовых сообщений в
месяц.
Аналогично отправке почтовых сообщений в обновлении появилась
возможность отправлять SMS-уведомления. Для этого используется сервис
Twilio, который предлагает разработчикам Windows Azure 1000 бесплатных
сообщений.
 Доступность Mobile Services в регионе West US
Напомню, что Windows Azure Mobile Services находятся в стадии превью
(ноябрь 2012), что означает их ограниченную доступность в датацентрах. При
запуске сервисов они были доступны только из одного региона US East. С
обновлением разработчикам стал доступен на выбор еще один регион – West
US. С выходом финальной версии сервисов они будут доступны во всех
регионах.
2.2.5 Данные большого объема
Windows Azure предоставляет множество служб, помогающих
управлять данными в облаке, которые называются Windows Azure Storage.
Каждый сервис подходит для хранения определенного типа данных:
Таблицы – представляют собой структурированное хранилище. Каждая
таблица состоит из набора объектов, каждый из которых имеет набор названий
свойств и их значений. Один объект может иметь до 256 свойств. Таблицы
распределены таким образом, чтобы максимально поддерживать
балансировку нагрузок.
Бинарные объекты – используются для хранения больших бинарных
объектов (файлов). Предоставляется простой интерфейс для хранения
именованных файлов вместе с метаданными и обеспечивается поддержка сети
распределения контента. Бинарные объекты располагаются в контейнерах,
каждый из которых содержит набор объектов.
Бинарные объекты могут быть двух видов – блочные,
оптимизированные для потокового обмена данными и страничные,
оптимизированные для случайных операций ввода/вывода. Размер блочного
бинарного объекта не может превышать 200 Гб, а размер страничного
бинарного объекта – 1 Тб.
BLOB-объекты – это простейший способ хранения больших объемов
неструктурированных текстовых или двоичных данных, таких как видео,
музыкальный файлы и изображения. BLOB-объекты – это управляемая
служба, сертифицированная по стандарту ISO 27001, которая может
автоматически масштабироваться до объема в 100 ТБ и доступ к которой
можно получить практически из любого места с помощью интерфейса REST
и управляемых API.
Очереди – надежное хранилище сообщений. Обычно используется для
обеспечения коммуникаций между ролями. Данный сервис оперирует
очередями, в которых располагаются сообщения. Допускается использование
29
неограниченного числа очередей, а очереди могут содержать неограниченное
число сообщений. Размер же сообщения ограничен 8 Кб.
Диски – тома NTFS, доступные для приложений, выполняющихся в
инфраструктуре Windows Azure. Диски (Windows Azure Drives) хранятся как
отформатированные под NTFS виртуальные диски (Virtual Hard Drives, VHDs)
в страничных бинарных объектах. Так как диски поддерживают сохранение
информации, они могут использоваться приложениями, которым необходимо
сохранять состояния. После того как диск Windows Azure смонтирован, он
доступен программно через стандартные интерфейсы NTFS. Использование
дисков Windows Azure может существенно упростить миграцию
существующих приложений на платформу Windows Azure.
Рисунок 2.7 – Сервисы хранения данных Windows Azure Storage
Несколько примеров, иллюстрирующих сценарии использования
некоторых сервисов хранения данных:
 Хранилище бинарных объектов: Возможность хранения резервных
копий, отчетов и пр. для их быстрого получения в случае необходимости.
 Табличное хранилище: Возможность хранения состояний вебприложений, например, в случае электронной коммерции – хранение
покупательской корзины или текущего состояния заказа.
 Очереди: Веб-приложение может вызывать сервисы, располагаемые
на платформе Windows Azure и осуществлять коммуникации между вебролями и прикладными ролями в рамках одного или нескольких приложений.
 Диски: За счет поддержки файловой системы, NTFS могут
использоваться сервисами для обеспечения поддержки традиционных
файловых операций – чтение/запись, например для протоколирования
операций или сохранения временных данных.
 Для хранения реляционных данных, например при переносе
локальной базы данных в облако, следует использовать компонент
платформыWindows Azure – SQL Azure.
30
2.2.5.1 SQL Azure – это способ предоставления реляционной базы
данных Microsoft как сервиса. Данный сервер базируется на технологиях
Microsoft SQL Server и обеспечивает устойчивую к ошибкам,
масштабируемую и мультитенантную базу данных, доступную как сервис. Как
и в случае с Windows Azure, SQL Azure – это не просто хостинг Microsoft SQL
Server. Работа SQL Azure базируется на компоненте Cloud Fabric, который
управляет экземплярами базы данных и обеспечивает их развертывание,
администрирование, обновление, мониторинг и поддерживает весь
жизненный цикл работы с данными. От пользователей требуется только
выполнение таких задач, как создание схемы и ее поддержание, оптимизация
запросов и управление безопасностью.
Рисунок 2.8 – Компоненты SQL Azure
Экземпляр базы SQL Azure реализован как три реплики в рамках
серверной инфраструктуры, поддерживаемой Cloud Fabric. Этот компонент
обеспечивает высокую надежность, доступность и масштабируемость с
помощью автоматической и прозрачной для пользователей репликации и
поддержки отказоустойчивости. Также поддерживается балансировка
нагрузки и синхронизация инкрементальных изменений во всех репликах
данных.
Cloud
Fabric
отслеживает
все
конфликты
при
изменениях/обновлениях
данных,
используя
двунаправленную
синхронизацию данных между репликами на основе встроенных или
задаваемых пользователями политик. Основные компоненты SQL Azure
показаны на рисунке 2.8.
Так как SQL Azure построена на основе SQL Server, пользователи
получают знакомую реляционную модель данных, которая практически
симметрична с серверами SQL Server, развернутыми у заказчиков.
Поддерживаются многие возможности ядра SQL Server, хотя в текущей
реализации облачной базы данных SQL Azure существует ряд ограничений.
31
2.2.5.2 Ключевые сценарии использования SQL Azure
Можно выделить четыре основных, высокоуровневых сценария
использования SQL Azure:
 Использование SQL Azure приложениями, которым требуется
обеспечение совместной работы пользователей, находящихся внутри и вне
«границ» организации.
 Использование SQL Azure приложениями, расположенными в
инфраструктуре Windows Azure.
 Использование SQL Azure как основы для создания средств
консолидации данных из различных источников и предоставление этих
данных пользователям, разделенным географически и работающим с
различными устройствами.
 Использование SQL Azure совместно с веб-приложениями с высокой
нагрузкой, использующими для хранения данных реляционные структуры.
Все эти сценарии решают наиболее часто возникающие перед
разработчиками задачи, связанные с выбором в пользу создания приложений,
работающих локально, в облаке или гибридных приложений.
2.2.6 Службы мультимедиа
Рисунок 2.9 – Структура Windows Azure Media Services
Windows Azure Media Services – это облачное PaaS-решение, которое
позволяет вам эффективно строить медиа-сервисы и доставлять медиаконтент вашим потребителям. Решение предлагает набор готовых к
применению сервисов, которые позволяют производить быстрое получение
медиа-материала, кодирование, конвертирование формата, хранение, защиту
контента и доставку видео как в live-формате так и по требованию. Windows
Azure Media Services так же поддерживают доставку контента на любое
устройство или платформу, включая: HTML5, Silverlight, Flash, Windows 8,
iPad, iPhone, Android, Xbox и Windows Phone. Кроме того, Windows Azure
Media Services – это технологии платформы Microsoft Media Platform [23].
32
Windows Azure Media Services предоставляют следующие сервисы для
построения собственных медиа-сервисов и приложений:
 загрузку контента;
 перекодирование;
 конвертацию форматов;
 защиту контента;
 вещание по запросу и живое вещание, а также аналитику и рекламу.
Рисунок 2.10 – Архитектура Windows Azure Media Services
Если приглядеться к схеме, можно увидеть ещё одну замечательную
особенность Windows Azure Media Services – они могут быть источником
медиа контента практически для всех типов устройств, присутствующих
сейчас на рынке: начиная, от обычных настольных компьютеров и заканчивая
телевизионными приставками или смартфонами.
И, конечно же, этот замечательный функционал доступен разработчикам
через REST API, что позволяет создавать решения на базе Windows Azure
Media Services с использованием любой привычной, удобной или, например,
являющейся стандартом в организации технологии. Разработчикам на
платформе .NET доступен Windows Azure Media Services SDK for .NET,
который в удобной форме оборачивает предоставляемый REST API.
Используйте службы Media Services в следующих целях:
 Создание полноценных рабочих процессов.
Создавайте полные рабочие процессы для мультимедиа в облаке.
Службы мультимедиа предоставляют ряд встроенных и готовых к
использованию компонентов Майкрософт и сторонних производителей (от
отправки мультимедиа до распределения контента), которые можно
объединить для выполнения ваших требований. К числу доступных
возможностей относится отправка, хранение, кодирование данных,
преобразование форматов, защита и доставка контента.
 Разработка гибридных рабочих процессов.
33
Легко интегрируйте службы мультимедиа с уже используемыми
средствами и процессами. Например, закодируйте контент на сайте, а затем
загрузите его в службы мультимедиа, чтобы преобразовать его в различные
форматы и доставить с помощью сторонней сети CDN. Службы мультимедиа
можно вызывать отдельно через стандартные API REST для облегчения
интеграции с внешними приложениями и службами.
 Облачная поддержка множества устройств и платформ.
Теперь создавать, доставлять объекты мультимедиа и управлять ими на
различных устройствах легко, как никогда. Службы Media Services
предоставляют все, что вам нужно для доставки контента на разнообразные
устройства – от Xbox и ПК с Windows до устройств под управлением MacOS,
iOS и Android.
Данный сервис был представлен летом 2012 года, однако не смотря на
свою молодость, можно привести потрясающий пример его использования –
трансляция олимпиады в Лондоне [24].
2.3 Развитие платформы
Платформа постоянно обновляется и в ней появляются все новые
функции. Среди последних новинок и обновлений, последнее из которых было
в октябре 2012 года, можно отметить следующее:
 поддержка новой платформы .NET 4.5;
 новый портал управления, который вышел из состояния Preview,
построенный на основе HTML5 вместо Silverlight (портал, который был с
самого начала появления платформы);
 App Store для дополнительных компонентов платформы (Addons)
(пока в версии Preview и только для США);
 обновлен SDK до версии 1.8, который в свою очередь приносит
поддержку IIS8, C#5.0, преимущества .NET4.5, WebSockets;
 обновления для мобильных сервисов;
 обновления для веб-сайтов;
 обновления для облачных сервисов;
 и другие обновления [25].
Предыдущее обновление платформы и наиболее масштабное было в
июне 2012, которое принесло множество новшеств. Это обновление стало для
платформы наиболее крупным, принесшим как новые сервисы, так и новую
версию портала управления.
Одним из направлений развития платформы является предоставление
мобильных сервисов, которые позволяют создавать универсальные
приложения в облаке, которые будут работать с мобильными платформами.
Например, сервис Push-уведомлений, хранение данных в облаке и др. Самой
важной особенностью является то, что Azure по сути на сегодня является
больше платформой для разработчиков и компаний, которые создают свои
системы в облаках.
34
Последние обновления тесно связаны также и с другими продуктами и
сервисами Microsoft. В течении сентября-октября 2012 года были
представлены новейшие продукты, в частности Windows8, Windows Server
2012, Visual Studio 2012, Windows Phone 8. Новая версия популярного
продукта Office 2013 также была собрана и перешла в стадию RTM.
Официально запуск новых офисных продуктов намечен на начало 2013 года.
Компания в 2012 году полностью обновляет свое портфолио продуктов и
предоставляет потребителям новые возможности известных платформ.
2.3.1 Магазин Windows Azure
Сайт Windows Azure Marketplace – это глобальный интернет-магазин
приложений SaaS и лучших наборов данных. Представив свои приложения для
Windows Azure на этом сайте, их можно продавать по всему миру. Кроме того,
имеется возможность подписаться в своих приложениях на целый ряд лучших
наборов данных, представленных на этом сайте, либо распространять
собственные наборы данных, извлекая прибыль.
Сценарии использования магазина:
 Получение всемирного охвата. Сделайте свои приложения
коммерческими и проводите транзакции во многих странах и валютах.
Выполняйте поиск на сайте с отобранными приложениями и данными по
категориям и фильтрам. Наборы данных и службы, используемые в основных
продуктах Майкрософт: Microsoft Office, SQL Server 2012 и Dynamics CRM.
Рисунок 2.11 – Магазин данных
35
 Охват всех базовых клиентов. Создайте единую модель
безопасности, выставления счетов, аудита и проверки подлинности,
поддерживающую возможность единого входа с помощью OAuth v2. Легко
публикуйте и используйте наборы данных и службы с помощью OData,
единого интерфейса API на основе REST.
 Простое
управление
предложениями.
Воспользуйтесь
преимуществами
простого
самообслуживания,
создания
условий
использования и предложений о пробном использовании, а также отчетами о
трафике, подписках и продажах.
Рисунок 2.12 – Магазин сервисов
2.4 Особенности использования Windows Azure
Платформа является еще довольно молодой и постоянно развивается. В
следствии этого при ее использовании возникают проблемы, связанные как с
получением последней версии документации, так и детального описания всех
ее сервисов и возможностей. Документация на продукт это одна из важнейших
составляющих любой платформы и чем более она полная, тем лучше. В
данном случае она находится в процессе постоянного изменения.
Использование облака связано с некоторыми рисками, в первую очередь теми,
которые связаны с надежностью и доступностью. Отзывы некоторых
разработчиков говорят о том, что с этим все еще есть проблемы.
Кроме того, для того, чтобы использовать самые последние версии
сервисов и услуг стоит всегда быть на связи с разработчиками и читать
обновления в блогах. Только таким образом можно узнавать о нововведениях
и изменениях. С учетом того, что компания Microsoft работает на множестве
фронтов, это приводит к тому, что некоторые из ее сервисов, технологий и
услуг могут быть недостаточно качественно реализованы.
36
Облачная платформа также предоставляет новые виды сервисов,
например, высокопроизводительные вычисления. Это значит, что облако
может быть использовано как кластер с возможностью гибкой
масштабируемости и оперативности в выделении необходимых ресурсов. В
скором времени это может позволить заменить кластеры в лабораториях на
“облака”.
Рассматриваемая облачная платформа является на рынке одной из
лучших и со временем может занять значительную долю рынка.
37
3 ПРИМЕНЕНИЕ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ В
ДИССЕРТАЦИИ
Применение информационных технологий в науке и исследованиях
является сегодня стандартом де-факто, так как именно благодаря развитию
технологий стали возможны многие изобретения, новые открытия и многое
другое. Тяжело представить как бы шло развитие не будь в распоряжении
ученых и исследователей тех передовых средств, которые помогают им
решать сложнейшие задачи и получать результаты, которые приводят к новым
открытиям. Именно развитие науки и техники породило сам феномен ИТ –
благодаря открытия в химии, физике, математике, механике,
материаловедении стало возможным появление компьютеров и других
вычислительных устройств.
Одной из областей, в которой многое отведено именно компьютерам и
сложным вычислениям является моделирование, которое называют
компьютерным. Это развитие других видов моделирования, которые теперь
используют вычислительные ресурсы современных компьютеров и позволяют
произвести расчеты и получить результаты в разы быстрее, чем без них.
Перенос математических методов и моделей на компьютеры позволил дать
новый импульс в развитии. Теперь, почти любое изобретение или открытие
так или иначе связано с использованием вычислительных ресурсов.
Компьютеры позволяют не только решать, но и обеспечивают хранение
для огромного объема данных, получаемых в результатах исследований. Так с
самого начала появления устройств хранения информации, сегодня остро
стоит вопрос о том, какие новые технологии необходимо применять для
хранения накапливающейся информации. Гибкие ленты ушли в прошлое, хотя
ряд лабораторий предлагает новые их виды, позволяющие хранить огромные
блоки информации. Стандартом хранения сегодня являются жесткие диски с
вращающимися пластинами высокой плотности. Их собирают в виде центров
обработки и хранения данных, которые агрегируют огромные ресурсы,
необходимые для обеспечения работоспособности многих лабораторий, а
также, что самое главное – глобальной сети Интернет. XXI век называется
информационным не просто так, а потому, что движущей силой служит
информация, которой все больше и больше и обработать всю на сегодня не
способно все человечество. Сегодня ставятся вопросы об открытии многих
данных, собранных учеными в закрытых лабораториях и исследовательских
центрах для общества и поиск новых алгоритмов и способов их обработки.
Так, например, не так давно NASA объявила о том, что открывает огромный
массив данных для их публичного использования. Собранные за десятилетия
данные могут быть полезны как другим компаниям, так и образовательным
учреждениям, которые постоянно проводят научные исследования со
студентами, магистрантами и аспирантами, часть из которых будет делать
проекты и писать диссертации. Это решение было принято с целью помочь
38
определенному кругу лиц в их исследованиях, так как не все обладают такими
ресурсами, как NASA и другие крупные компании.
Сегодня на ИТ ложится бремя человеческой цивилизации, когда почти
все сферы жизни становятся все более и более зависимыми от них. Высокая
доступность Интернет предоставляет возможность доступа ко множеству
ресурсов, оперативному созданию контента и передачи его мгновенно по
всему миру. Новые предприятия и организации строят свою деятельность на
основе интеллектуальных и сложных инфраструктур. Учебные заведения, от
школ до ВУЗов стараются предоставлять как можно больше информации с
помощью информационных технологий, обеспечивать взаимодействие
учащихся с преподавателями, предлагают дистанционное обучение и многое
другое.
ИТ также находят свое применение в виде средства для уменьшения
документооборота. Многие организации отказываются от бумажных
документов с целью сокращения затрат, а также экологии. Экологическое
движение особенно развито на Западе и постепенно приходит в наиболее
передовые отрасли в развивающихся странах. В частности оно затрагивает и
производителей электроники, которые также переходят на все более
совершенные и экологические нормы (хотя здесь вернее сказать, что Китай,
являющийся сегодня крупнейшим производителем электроники, создает
множество экологических проблем, загрязняя свою территорию и
близлежащих регионов из-за слишком бурного роста и строительства
множества фабрик и заводов).
Кроме всего прочего, ИТ тесно связаны с областью R&D (Research and
Development). Средства, которые выделяются на проведение исследований
просто огромны и достигают 10 млрд. долларов для одной компании и более
150 млрд. долларов для крупнейших компаний из списка Fortune 500.
В списке компаний, лидирующих по бюджетам на R&D, много
фармацевтических компаний или тех, кто финансирует исследования в
области здоровья, биотехнологий, лекарств. Затраты этих компаний
сосредоточены в области исследований в классическом понимании этого
слова (лаборатории, изучение препаратов, тестирование на животных и
клинические испытания). Все фармацевтические компании из списка могут
позволить себе такие затраты по одной причине – они являются
производителями полного цикла. То есть финансируя сотни и тысячи
разработок, они получают на выходе намного меньшее число продуктов. Но
эти продукты имеют огромную маржу и в конечном итоге компания
зарабатывает. Неплохо зарабатывает.
В IT-индустрии исторически сложилась специализация – вертикальных
компаний, которые производят как комплектующие, так и продукты для
конечного потребителя, практически нет. В отличие от рынка фармацевтики,
где это является обычным явлением.
Сколько стоит разработать новую технологию, например, новый тип
чипов памяти или дисплеев? Банальный ответ – дорого. В качестве примера
39
можно привести данные Samsung Semiconductor – ожидается, что продажи в
2013 году составят 13 миллиардов долларов, а прибыль составит 2.2 млрд
долларов. Для сравнения в третьем квартале 2012 года только на телефонах,
компания заработала в прибыли 3.6 млрд долларов (за один квартал
переплюнула доход целого подразделения компонентов).
Такие компании как Intel тратят миллиарды долларов на создание новых
технологий, процессоров, но основную прибыль из них извлекают те, кто
создают устройства для потребителей. Стоимость компонентов и маржа на
них, значительно меньше, чем маржа производителя устройства. И в
Amazon/Google пытаются снизить маржу для производителей, втиснуть их в
те же рамки, что и производителей компонентов, которые тратят на разработки
миллиарды, а продают их дешево. То есть компании вольно или невольно
пытаются изменить правила игры. Не так важно, получится у них это или нет.
Намного важнее то, что на рынке IT-производителей наблюдается
усиление тенденции к вертикальной интеграции, когда производитель хочет
отличаться от других компаний не только на уровне устройств, но мечтает
обезопасить себя создав набор ключевых компонентов и инвестируя в
разработки. Когда большая часть устройств стала одинаковой из-за
использования сходных решений, единственной возможностью помимо
маркетинга, ПО для отличий от других, остается создание собственных
уникальных компонентов. В Apple пошли по этому пути и пытаются создавать
свои процессоры. Не удивлюсь, если компания начнет активно инвестировать
в создание и других ключевых компонентов, как это было с производством
экранов для планшетов.
Такие компании как Huawei, Samsung уже строят вертикальную модель
– для них компоненты важны, но еще важнее, что затраты на разработки
окупаются не продажей этих компонентов (рентабельность этого бизнеса
невелика). Они окупаются за счет того, что компании используют собственные
компоненты в пользовательских продуктах и тогда получают максимальную
прибыль из всех возможных. Направление развития рынка сегодня именно
таково.
И в этом аспекте в долгосрочной перспективе выигрывают те, кто имеет
собственное производство компонентов (так как для этих компаний возможно
снижение маржи, снижение цен на конечные устройства – они все равно будут
в плюсе). Для тех, кто этим не озаботился, это, напротив, означает выжженную
землю – продукты будут все менее востребованы (они не будут такими
классными как у Apple, либо такими дешевыми как у Google/Amazon). Попав
между двух огней, такие компании просто будут вынуждены терпеть убытки.
Что и наблюдается на современном рынке. Но это только начало данного
процесса. В 2013-2014 годах он проявит себя в полной мере. Поэтому сетовать
на отсутствие технологий в потребительских устройствах не стоит – они
создаются другими компаниями и сегодня стоят относительно дешево.
Снижение цен вполне закономерный процесс.
40
Как уже было отмечено ранее, многие исследования требуют огромные
вычислительные ресурсы. Именно это породило одно из направлений
развития – суперкомпьютерные и распределенные вычисления. Эта сфера, в
которой учавствуют только крупные игроки, такие как IBM, Nec, Intel AMD,
Cray, SeaMicro и другие. На нее приходится огромный поток затрат денег и
ресурсов. Речь идет о огромном числе высокопроизводительных серверов,
объединенных между собой высокоскоростными сетями. Эти системы
обладают большой вычислительной мощностью и позволяют решать сложные
задачи, которые невозможно было бы решить на персональных компьютерах.
Они используются для прогнозирования погоды, решения задач симуляции
природных явлений, симуляции аварий, моделировании сложных структур, в
медицине для обработки анализов и выявления болезней и т.д. Построение
таких систем началось еще с тех времен, когда компьютеры были лишь угодой
ученых. Еще тогда были заданы векторы развития, которые вышли в виде
персональных компьютеров, ставшие чрезвычайно производительными, а
также мультипроцессорные вычисления или их еще называют параллельными.
Почти все серьезные лаборатории и исследовательские центры имеют свои
кластеры, используемые для расчетов. Персональные компьютеры
используются уже для детальной обработки полученных данных и
справляются с более простыми задачами.
В последние несколько лет начало бурно развиваться такое направление
как гетерогенные вычисления и уже сегодня в рейтинге TOP 500
суперкомпьютеров ведущие позиции занимают именно компьютеры,
использующие их мощь. В первую очередь это компания NVidia и ее
продукция под названием Tesla. Сегодня многие игроки рынка
высокопроизводительных вычислений и не только, понимают это и создают
свои продукты с возможностями использования всех возможных ресурсов.
Под гетерогенными вычислениями понимают возможность выполнения
расчетов как на центральном процессоре (CPU), так и на видеоускорителе
(GPU). Это приносит значительные выгоды, позволяя экономить
электроэнергию и повысить производительность приложений различных
классов: от проигрывателя видео до программ нелинейного монтажа в
реальном времени. Разработка новых устройств, а так же языков для
универсальных расчетов, позволяет максимально полно использовать все
имеющиеся ресурсы. Сегодня современный компьютер использует процессор
и видеокарту совместно. Применение новых архитектур и алгоритмов
позволяет ускорять выполнение тех или иных задач на более низком уровне.
Поддержка процессором общих вычислений позволяет ему декодировать
видеопоток высокого разрешения с большой частотой кадров используя при
этом низкоуровневые команды, что минимально нагружает его.
Среди средств для гетерогенных вычислений сегодня развивается язык
OpenCL. Он поддерживается Intel, AMD, NVidia в последних поколениях
своих продуктов. NVidia развивает свой стандарт вычислений на GPU –
CUDA, которая появилась первой и позволила задействовать видеоускоритель
41
в задачах, где центральный процессор не обеспечивал должного уровня
быстродействия.
В гетерогенных вычислениях также не маловажную роль играют и
мультипроцессорные вычисления и технологии обмена между компьютерами.
Одной из популярных и широко используемых технологий является MPI. Они
широко используется в грид-вычислениях и обработке больших массивов
данных, решении сложных задач. Она также применяется в небольших
лабораториях, так как позволяет объединять существующие компьютеры и
использует существующую сетевую инфраструктуру.
Облачные
вычисления
используются
сегодня
как
высокопроизводительное средство обработки данных и входят в понятия
гетерогенных вычислений. Развитие языков и средств позволяет все более
гибко и просто использовать все доступные ресурсы. Это открывает большие
возможности для исследователей и разработчиков, которые могут не
задумываться о том, где будут происходить расчеты, а всего лишь реализовать
алгоритмы для решения задачи и передать дальнейшее управление и решение
в вычислительное облако. По сути это тот вектор движения, развития, который
сейчас уже можно проследить, однако сегодня нет подобных технологий и
средств.
3.1 Применение ИТ в работе
Применение ИТ в работе связано с использованием компьютерного
моделирования электромагнитных полей. Эта задача довольно сложная и
требует больших вычислительных ресурсов. Для этого необходимо
использовать все возможные и доступные ресурсы. Здесь можно выделить как
мощные компьютеры, так и несколько компьютеров, объединенных в кластер.
Так или иначе, использование воспроизводительных систем позволяет решать
сложные задачи, а также давать результат более оперативно, нежели при
проведении натурных экспериментов, что также довольно затратно. Многие
области науки и техники, которые исследуют принципиально новые явления
и свойства материалов требуют современные средства и технологии из-за того,
что их нельзя экспериментально проверить. Моделирование дает возможность
с помощью виртуального эксперимента провести исследование и получить
результаты. В случае успеха и подтверждения выдвинутых гипотез, это может
привести к началу проведения реальных экспериментов. Результатом всего
может стать нечто новое, чего не было ранее: новая технология, материал или
предмет.
Таким образом, нельзя игнорировать современные технологии и
средства, которые сегодня предлагаются нам и широко доступны. Необходимо
находить пути и средства для их использования, ставить все новые задачи и
подтверждать гипотезы.
42
3.1.1 Постановка задачи
Весь видимый свет является измененным, поскольку при прохождении
через пространство он поглощается или рассеивается. Многие видимые цвета
получаются из-за того, что весь остальной спектр поглощается и остается
лишь видимый свет. Поглощение и рассеяние связано с устройством
окружающего мира. Все состоит из молекул. В зависимости от их размера и
взаимного расположения, свет может быть как полностью поглощен, так и
частично. Изучение этих явлений привело к появлению волновой теории света
и геометрической оптики. Позже свет начали рассматривать как
электромагнитную волну, так как Максвелл свел существовавшие теории о
свете и электромагнетизме в основные уравнения электродинамики,
связавшие оптические и электромагнитные явления. Сегодня изучение света и
оптических явлений построено на исследовании распределения
электромагнитного поля.
Исследование распределения ЭМП построено на решении уравнений
Максвелла
с
заданными
граничными
условиями.
Применение
дополнительных условий (например, Друдде-Зоммерфельда) и описание
волнового уравнения (Гельмгольца) позволяют рассматривать задачи в
ограниченной области и производить анализ полей в ней. Комбинация
уравнений позволяет составить необходимую систему уравнений, которая
опишет конкретную рассматриваемую задачу.
Широкое применение нашли численные методы, которые с появлением
компьютеров породили сферу компьютерного моделирования. Среди таких
методов можно выделит наиболее популярные: FDTD, DDA, T-матрицы. Эти
методы используют решения, основанные на приведении дифференциальных
и интегральных уравнений к дискретным и решению систем уравнений.
Количество публикаций и интерес к этим методам и связанным с ними
темами значительно вырос в конце прошлого XX века. Это связано с
развитием области нанотехнологии и ее разделов, таких как нанооптика и
синтез нанокомпозитных материалов. Размеры объектов, с которыми
приходится иметь дело настолько малы, что классические теории и методы не
позволяют исследовать их. Это привело к тому, что для их изучения начали
применяться методы электродинамики, т.к. электромагнитные волны
позволяют огибать препятствия, поглощаться и рассеиваться от объектов
любого размера.
Одним из наиболее популярных современных численных методов,
который уже применяется повсеместно во всех САПР продуктах является
метод конечных элементов (МКЭ). Он основан на том, что рассматриваемая
область задачи разбивается на малые подобласти, называемые конечными
элементами, которые в свою очередь описывают ее параметры. В зависимости
от типа решаемой задачи такими параметрами могут выступать механикофизические, электродинамические или другие параметры. Метод достаточно
43
универсален, что позволяет его применять к решению различного класса
задач.
3.1.2 Векторный метод конечных элементов
Его классическая постановка основана на изучении характеристик и
параметров задачи в некоторых подобластях, которые называют конечными
элементами (КЭ). В зависимости от размерности задачи в пространстве
(двухмерная или плоская, трехмерная или объемная) конечными элементами
могут выступать различные объекты. Обычно это простые и известные
геометрические
формы
(прямоугольник,
треугольник,
тетраэдр,
параллелепипед). Каждый КЭ наделяется своими свойствами, которые
описывают параметры области, в которой он расположен. При использовании
классической постановки метода, все свойства записываются для узлов
элементов, которых в зависимости от его типа может быть больше, чем
вершин. Для векторного, свойствами наделяются ребра элементов, причем
каждое из них теперь характеризуется своим направлением. Такие элементы
называют реберными или векторными. Как правило, он находит применение в
тех случаях, когда сама природа исследуемого явления является векторной,
имеющей какое-то направление (потоки жидкостей, электромагнитное поле
т.п.).
Для использования метода необходимо выполнить разбиение области на
элементы. Этот этап называется также этапом построения конечноэлементной
сетки. Его результатом является набор отдельных элементов, которые можно
описать с помощью его вершин.
Далее, в соответствии с расположениями элементов в рассматриваемой
области решения задачи необходимо наделить каждый из них своими
параметрами. Таким образом, носителями информации об области теперь
становятся малые элементы, называемые конечными. Именно они являются
главной отличительной чертой МКЭ.
В зависимости от типа используемого метода, узловой или векторный,
параметры области будут описываться по-разному. Так, в узловом методе
узлы получают значения, характеризующие значения полей по всем
направлениям. При использовании векторного, параметры описываются на
ребре в виде одного значения. Однако в данном случае оно характеризуется
направлением, которое задается обходом ребер (граней) конечного элемента.
Каждый элемент имеет соседей. Составление ансамбля элементов
заключается в сборе сведений о таких элементах и их расположении. Для
решения задачи необходимо построить глобальную матрицу ансамбля
элементов, именно поэтому так важно знать соседние элементы, ведь каждый
из них может внести свой склад в значения на ребрах или в узлах. При сборке
матрицы для каждого элемента генерируется своя матрица, которая описывает
характеристики единичного КЭ, без учета условий на границах и т.п. Эта
матрица носит название локальной матрицы. Компоновка локальных матриц в
44
глобальную сводится к учету параметров в одном и том же узле или на ребре,
которое является общим для нескольких элементов. В зависимости от
построенной сетки, для векторного метода таких соседей может быть от двух
и более (например, когда элементы тетраэдры).
Для учета ограниченности области необходимо применить граничные
условия, которые позволяют учесть характер границ внутри и вне
рассматриваемой области. Применение граничных условий производится в
численном виде к глобальной матрице. Кроме того, они могут быть
применены к вектору, который описывает значения воздействия поля от
источника электромагнитного излучения.
Вектор воздействий строится на основе данных об источнике или
источниках, которые представляют собой возбудители поля в
рассматриваемой области и волну от которых необходимо исследовать.
В итоге, последовательность шагов приводит к построению системы
линейных алгебраических уравнений (СЛАУ), решая которую находятся
значения поля. Это поле является рассеянным. Однако полученные значения
еще не итоговые и представляют собой локальные поля на ребрах элементов.
Для приведения их к глобальным необходимо воспользоваться
преобразованием, в основе которого лежат базисные функции, описанные на
элементе. Эти функции характеризуют сам элемент. Для каждого элемента
можно найти величину глобального поля по трем направлениям в любой точке
внутри себя.
Таким образом, схема использования ВМКЭ для решения задач о
распределении ЭМП может быть представлена на рисунке 3.1.
Рисунок 3.1 – Схема использования ВМКЭ
3.1.3 Назначение и область применения продукта
Программа построена на основе такого численного метода как
векторный метод конечных элементов (ВМКЭ). Она предназначена для
компьютерного моделирования распределения электромагнитного поля в
ближней зоне частиц.
45
Приложение разработано на платформе .NET Framework 4 и языке C# 4
[30]. Оно имеет модульную архитектуру, что позволяет четко разграничивать
выполняемые операции и открывает возможности для расширения и
модификации. Все взаимосвязи между модулями односторонние, без
зацикливания. В нем используются многие особенности и технологии языка, в
частности: обобщения, LINQ, делегаты, расширяющие методы, интерфейсы и
т.п. Благодаря использованию коллекций объектов код программы понятен и
легко читается, так как работа ведется с абстрактными объектами, имеющими
наборы свойств и методов. Такая организация позволяет более детально
рассматривать каждый объект задачи и описывать его в соответствии с
требованиями к нему.
Основной частью приложения является консольная программа, запуск
который может быть осуществлен как из командной стоки вручную, так и из
другого стороннего приложения. На входе имеется файл, который описывает
параметры работы приложения. Здесь может идти речь о автоматизированном
исполнении, когда программа выполняет анализ и решение для множества
входных файлов, так и одиночный запуск с одним из файлов.
Программный комплекс получил название ElectroMagnetic Field FEM
Modeler «EMFFM». ПО включает в себя:
 универсальный мета-язык описания исходных данных;
 библиотеку для работы с генератором конечноэлементной сетки
Netgen;
 решатель на основе векторного метода конечных элементов.
3.1.4 Структура программного обеспечения
Разработанное ПО состоит из нескольких модулей:
 генератор сетки,
 анализатор файлов с заданиями,
 решатель, построенный на основе ВМКЭ.
Все эти модули объединены в рамках одного приложения, где каждый
из модулей представляет свою библиотеку. Каждый имеет свою зону
ответственности, т.е. выполняет строго определенный набор команд и
содержит данные, характерные только нему. Общие части приложения
вынесены в специальный модуль Common, который является единым для
всего приложения и описывает объекты для других модулей.
Реализация основного решателя, анализатора полей и ВМКЭ находится
в модуле FEM. В нем собран набор классов, позволяющих произвести
построение локальных матриц элементов, сборку из них глобальной матицы,
расчет вектора воздействий, решения СЛАУ и анализа полученных полей.
Для работы с сеткой предназначен модуль Mesh, содержащие описание
алгоритмов работы с сеткой, классы с базовыми типами элементов и их
параметры.
46
Модуль NetgenUtils предназначен для взаимодействия с программой
Netgen для генерации конечноэлементных сеток. Он вызывает приложение с
необходимыми параметрами, после чего оно создает файл с данными о
построенной сетке. Этот файл обрабатывается в модуле MeshParser, которой
производит разбор текстового файла и преобразует данные из него в
структурированные объекты, которыми являются элементы сетки: точки,
поверхностные элементы (треугольники), объектные элементы (тетраэдры).
Все операции по работе со входными файлами описания задачи берет на
себя модуль Input, который описывает все InputAPI приложения. В нем также
содержатся классы элементов описания задачи (тип задачи и ее параметры,
область решения, источники, материалы, опции, граничные условия).
Рисунок 3.2 – Схема модулей ПО
Работа приложения построена на принципе невмешательства, когда
после указания начальных параметров в виде входных файлов оно
выполняется без участия пользователя, при успешном завершении которого
пользователь получает набор файлов со значениями искомых величин полей.
Причем для полной автоматизации процесса решения и необходимости
решить несколько различных задач, ПО позволяет использовать специальный
файл, называемый файлом автоматизации.
Выполнение приложения ложится на модуль App, представляющий
собой консольное приложение. Это приложение взаимодействует с другими
модулями, тем самым обеспечивая ядро всей программы. Оно может быть
использовано сторонними приложениями через командную строку, например,
вызов его из приложения с графическим интерфейсом для формирования
условия задачи.
47
Рисунок 3.3 – Схема работы приложения
Подготовка программы к выполнению заключается в написании файлов
заданий, описывающих задачу и ее параметры. Эти файлы представляют
собой XML файлы со специальной схемой, по которой они создаются и
описываются. Аналогично и для файла автоматизации, который позволяет в
простой форме описать список файлов с задачами и указать, какие из них
решать (т.е. для каждого файла можно задать параметр, который говорит о
том, что не нужно решать задачу описанную в нем).
Формат XML выбран за счет своей открытости, функциональности и
гибкости. Используя различные схемы можно создавать множество
разнотипных файлов, в которых описываются различные данные (от
параметров приложений до целых электронных книг).
Таким образом, можно сказать, что приложение состоит из нескольких
основных частей:
 Собственно само приложение в виде исполняемого файла и
динамических библиотек.
 Программы Netgen, которая используется для генерации сеток и
устанавливается отдельно.
Программа может быть представлена лишь в виде первой части,
основной, что и является самим комплексом. Дополнительные библиотеки и
программы могут быть уже установлены или скачаны в свободном доступе.
Это позволяет сократить объем необходимых файлов до минимума.
Основные преимущества разрабатываемого ПО:
 универсальный мета-язык описания задачи и ее условий (на основе
стандарта XML),
 возможность автоматизации процесса решения набор различных
задач,
 модульная компоновка приложения (архитектура слоев),
48
 возможность работы с достаточно сложной геометрией с генерацией
конечноэлементной сетки из тетраэдров (использование мощного генератора
сеток Netgen),
 использование векторного метода конечных элементов,
 документированный код.
3.1.5 Средства, использованные для разработки
Для разработки программы и описания ее работы было использовано
достаточно много средств и программ, а также библиотек, позволяющих
реализовать нужный функционал без необходимости разработки своих
реализаций. На текущий момент средства, использованные при разработке
описаны далее, как и библиотеки. При появлении новой версии ПО это
описание может измениться. Кроме того, с учетом свободного
распространения ПО в дальнейшем оно получит лицензионные описания и
место размещения как самого ПО, так и исходных кодов.
3.1.5.1 При разработке приложения были использованы следующие
программные продукты:
Microsoft Visual Studio 2012 Ultimate – интегрированная среда
разработки (IDE), предоставляющая современные средства и инструменты для
разработки высокопроизводительных, качественных программ на различных
языках и платформах (VC C++, C#, HTML, .NET, ASP.NET, IronRuby,
IronPython) [6], средства для моделирования архитектуры ПО, проведения
тестирования разрабатываемых продуктов и т.д. Используется в качестве
основного инструмента для разработки программы на языке C#.
Предоставляется по программе Dreamspark.
Sublime Text 2 – лучший текстовый редактор на сегодня, который
предоставляет обширнейшие возможности по редактированию файлов
различных форматов, поддержку сборки и компиляции проектов, подсветку
синтаксиса, поддержку плагинов и многое другое. Редактор написан на Python,
имеет гибкую систему настроек, позволяющую подстроить редактор под себя.
Расширения придают редактору множество возможностей, которые
предоставляют далеко не все IDE.
Diagramly – расширение для браузера Google Chrome, позволяющее
рисовать различные типы диаграмм (блок-схемы, UML диаграммы,
организационную структуру, Workflow т.д.), и поддерживает работу с Google
Drive (облачным хранилищем). Расширения применялось для рисования схем,
описывающих разработанную программу.
Microsoft Word 2013 Preview – многофункциональный текстовый
редактор, который позволяет создавать документы различной сложности,
имея расширенные возможности по редактированию. Является лучшим
редактором на платформе Windows и Mac OS X. Используется для подготовки
документации и прочих документов.
49
Total Commander 8 PowerPack – файловый менеджер, позволяющий в
удобном виде и быстро выполнять полный спектр операций с файлами (поиск,
переименование, перемещение, архивация и т.п.). С его помощью выполняется
управление каталогами приложения, поиском файлов для описания задач и
результатов работы. Кроме того, он позволяет подсчитать точные размеры
всех файлов приложения.
3.1.5.2 Для решения задачи о генерации сетки было принято решение
использовать стороннюю программу, которая хорошо решает задачу и проста
в обращении, умеет работать с двух- и трехмерной геометрией. Таким
выбором стала программа Netgen [27], позволяющая генерировать
конечноэлементные сетки для двух- и трехмерных задач. Программа
распространяется по лицензии GPL. Это позволяет использовать не только
саму программу, но и исходные коды. Программа генерирует сетки из
треугольников и тетраэдров, а также поддерживает экспорт в различные
форматы для других программ КЭ анализа.
3.1.5.3 При разработке программы были использованы сторонние
библиотеки, предоставляющие возможность логирования работы программы,
а также мощную математическую библиотеку, необходимую для реализации
некоторых алгоритмов линейной алгебры.
В качестве библиотеки для работы с логами был выбран пакет
NLog 2 [28], который свободно распространяется и имеет расширенные
возможности по созданию и ведению логов. С помощью него можно
организовать запись логов в файл, в БД, отправку логов по почте и прочее.
Среди преимуществ можно отметить простоту использования и возможность
гибко управлять правилами вывода лога. Распространяется по лицензии BSD.
3.1.5.4 В качестве библиотеки для математических операций и
алгоритмов была выбрана библиотека Math.NET Numerics [29], которая
содержит большое число качественных математических алгоритмов. Numerics
стал результатом объединения dnAnalytics с Math.NET Iridium и предназначен
для замены обоих. Изначально, разработан под .NET 4.0, существует
реализация для Mono, а также поддерживает некоторую аппаратную
оптимизацию. Открытый исходный код позволяет вносить изменения,
создавать и дополнять свои более эффективные алгоритмы. Проект постоянно
развивается. Распространяется по лицензии MIT.
3.1.5.5 Для разработки мета-языка был использован структурированный
формат разметки XML 1.0, который является наиболее популярным и сегодня
находит применение во всех программных продуктах. Он позволяет создавать
собственные схемы и структуры для документов, при этом обеспечивая
совместимость со всеми языками разработки, средами и редакторами. Кроме
того, данный формат имеет такие возможности, как описание правил для
50
документа, которые позволяют создавать правильный документ и валидный с
точки зрения XML – это XML Schema. Реализация работы с ним существуют
на всех языках и платформах, поэтому разработанная структура документа
также может быть использована и в других приложениях подобной тематики.
3.2 Применение облачных вычислений
Облачные вычисления довольно объемный и сложный термин. Нельзя
все задачи и требования свести к их использованию, однако можно придумать
новые понятия и задачи, которые бы потребовали их использование, а именно,
их преимущества. Многие ресурсоемкие задачи требуют много времени на их
решение, что соответственно говорит о том, что большое количество
имеющихся ресурсов будет задействовано и использовано, причем не
обязательно с пользой. Это сразу разрушает одно из основных преимуществ
облаков, а именно, оплату по мере использования. Длительное использование
всех ресурсов потребует большой суммы для их оплаты, что непозволительно
и невозможно в рамках исследовательских программ.
Масштабируемость играет наоборот полезную роль, т.к. при нехватке
ресурсов их можно немедленно увеличить и дать возможность вашей задаче
воспользоваться ими и не прерваться, а может даже и уменьшить время
решения.
Самообслуживание также отлично вписывается, т.к. оно позволяет не
тратить время на обслуживание техники. По сути оно конечно требует
некоторого внимания, но оно уделяется провайдером “облака”, что снимает
необходимость подбора персонала для этих целей в организации. Облачная
платформа сама определит когда ее необходимо обслуживать, а сотрудники,
которые занимаются ее поддержкой, обладающие необходимыми навыками и
умениями обслужат ее и введут в строй. Обычно это производится без
выведения всего оборудования из строя, так как оно автоматически
распределиться по работающим серверам. Это выполняет балансировщик
нагрузки. По сути, имеющихся реально ресурсов гораздо больше, но за счет
репликации, клонирования, виртуализации это не заметно конечному
пользователю. Именно это и гарантирует надежность и высокую доступность,
что также является преимуществом.
Таким образом, облачные вычисления могут быть использованы в
различных сценариях, в которых необходима надежность, эластичность и
масштабируемость.
3.2.1 Модели облачных вычислений для работы
Рассмотрим несколько вариантов моделей, которые можно применить к
работе и ее реализации с использование информационных технологий.
3.2.1.1 Модель 1. Все приложение в облаке.
51
Как уже говорилось ранее, преимуществами использования облачных
вычислений является оплата по факту, а также масштабируемость. Таким
образом, можно применить следующую модель.
В облаке расположено веб-приложение, которые предоставляет средства
хостинга (развертывание веб-сайта). Это будет интерфейсом к тому решателя,
который использует виртуальные машины в облаке для решения ресурсоемких
задач. При этом, для их беспрерывной работы и сохранности данных настроен
балансировщик нагрузки, дублирование жестких дисков (виртуальных, с
данными и ОС). Приложение веб-портала создано с применением веб-роли, а
решающая часть – с применением рабочей роли. Это позволяет разделить
задачи по своим местам и ролям. Такой вариант возможен в случае наличия
требований к доступности ресурса через Интернет.
Кроме того, здесь решается сразу же проблема, связанная с низкой
скоростью работы сетевых устройств. В облаке виртуальные машины имеют
системы хранения данных (СХД) довольно производительные, причем их
можно настроит на работу с одного хранилища, т.е. все машины будут
работать с одного образа.
3.2.1.2 Модель 2. Приложение на клиенте, решатель в облаке.
Данная модель отличается от первой тем, что в облако создан сервис
(веб-портал), заметно упрощенный и не имеющий расширенный
пользовательский интерфейс. В нем реализовано лишь необходимые
элементы. Зато сам решатель, имеющий возможность масштабироваться
реализован в облаке. СХД также настроена на хранение больших объемов
данных с результатами. Причем сбор результатов может производиться
автоматически и если необходимо загрузить его, то для этого в сервисе
реализуется возможность передачи его на клиента.
Использование этих моделей может не до конца решать задачу анализа
результатов, однако с учетом емкого хранилища в облаке и большой мощность
резонно создавать анализатор результатов там же. Это обеспечит высокую
загруженность машин и более быстрое решение, что в конечном счете
сократит время анализа и время решения.
52
ЗАКЛЮЧЕНИЕ
Облачные вычисления и “облака” [26] тесно вошли в нашу жизнь и
ежедневное использование компьютера, подключенного к сети Интернет не
обходится без них. Новые технологии принесли много нового, в частности,
перемены на ИТ-рынке и появление новых услуг, сервисов и платформ,
которые являются основополагающими для новых бизнес-моделей. Развитие
глобальной сети, а также рост потребления контента, связанный также с
бурным ростом мобильной техники потребовал от производителей создания
новых масштабируемых и гибких систем, которые бы позволили наилучшим
образом подстраиваться под растущие запросы, а также предоставили новые
пути доставки контента и построения инфраструктур.
Основные преимущества “облаков”, такие как масштабируемость,
мультитенантность, эластичность, а также, что очень важно, оплата за
использование выдвигают их на первый план. Это именно то, что нужно рынку
и как говорит аналитика, спрос на них будет расти.
Сегодня на рынке “облаков” представлено довольно много игроков,
предлагающих свои платформы. Из них есть и свободные (открытые), которые
можно развивать самостоятельно, в случае необходимости разработки
уникальной архитектуры для развертывания инфраструктуры. Некоторые
компании используют готовые решения, другие – развивают свои.
Борьба за долю рынка будет усиливаться и в зависимости от спектра
предлагаемых услуг он будет поделен между наиболее крупными игроками.
Для крупных компаний, ищущих пути экономии и сокращения затрат
ест смысл присматриваться к “облакам”, однако каждая из них должна сделать
выбор. Многие хотят получить все и сразу, “под ключ”, т.е. готовую
инфраструктуру, без необходимости разработки и переноса ее. Это значит, что
те компании, предлагающие готовые услуги, будут иметь больше клиентов.
Одним из крупных игроков рынка и постоянно развивающимся является
компания Microsoft, которая предлагает свою облачную платформу – Windows
Azure. Она состоит из нескольких компонентов, таких как хранилище данных,
веб-сайты, виртуальные машины, мобильные и облачные сервисы, службы
мультимедиа. За последний год она серьезно преобразовалась и имеет на
своем счету множество успешных проектов, в которых использовалась. Кроме
того, ее использует и сама компания, при создания таких облачных сервисов
как Office 365, Team Foundation Service и др.
Облачные вычисления являются самым быстрорастущим трендом
мирового рынка. Это нужно принять во внимание и успеть воспользоваться
преимуществами “облаков”. Тем компаниям, которые их не используют, будет
тяжело угнаться за лидерами.
Однако, для того, чтобы наиболее полно понять тему облачных
вычислений, необходимо обратиться к принципам и парадигмам [26], а также
шаблонам, которые используются в корпоративных системах. Знание основ
позволит отойти от существующих реализаций и сделать свою, которая будет
53
максимально полно им соответствовать. Как и в любой другой области,
основы лежат в теории и принципах, заложенных многими учеными, и даже,
футуристами и фантастами. Ведь многие технологии сегодняшнего дня были
описаны довольно давно писателями в своих произведениях.
54
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
1.
Windows Azure. Облачная платформа Microsoft / Алексей
Федоров, Дмитрий Мартынов. – 2010. – 96 с.
2.
OpenStack
[Электронный
ресурс]
–
Режим
доступа:
http://www.openstack.org/. Дата доступа: 05.12.2012.
3.
Cloud
Foundry
[Электронный
ресурс]
–
http://www.cloudfoundry.com/ - Дата доступа: 15.12.2012.
4.
Топ 10 облачных платформ для бизнеса [Электронный ресурс] –
Режим доступа: http://www.livebusiness.ru/news/8937/. – Дата доступа:
15.12.2012.
5.
Amazon
Web
Sevices
[Электронный
ресурс]
–
http://aws.amazon.com/. – Дата доступа: 15.12.2012.
6.
Rockspace
[Электронный
ресурс]
–
Режим
доступа:
http://www.rackspace.com/. – Дата доступа: 15.12.2012.
7.
Rackspace Cloud Tools Marketplace [Электронный ресурс] –
http://www.rackspace.com/cloud/tools/ – Дата доступа: 15.12.2012.
8.
Платформа Windows Azure [Электронный ресурс]. –
http://www.windowsazure.com/ru-ru/ – Дата доступа: 10.11.2012.
9.
Google App Engine [Электронный ресурс] – Режим доступа:
https://developers.google.com/appengine/?hl=ru. – Дата доступа: 15.12.2012.
10. Force.com
[Электронный
ресурс]
–
Режим
доступа:
http://www.force.com/. – Дата доступа: 15.12.2012.
11. Salesforce.com [Электронный ресурс] – Режим доступа:
http://www.salesforce.com/. – Дата доступа: 15.12.2012.
12. VMware vCloud® Suite [Электронный ресурс] – Режим доступа:
http://www.vmware.com/products/datacenter-virtualization/vcloudsuite/overview.html. – Дата доступа: 15.12.2012.
13. IBM Smart Cloud [Электронный ресурс] – Режим доступа:
http://www.ibm.com/cloud-computing/us/en/. – Дата доступа: 15.12.2012.
14. Преимущество Cloud Computing? Возможность работать дома
голышом
[Электронный
ресурс]
–
Режим
доступа:
http://www.livebusiness.ru/news/10666/. – Дата доступа: 15.12.2012.
15. Облачные вычисления: тенденции развития и основные «игроки».
Часть
1
[Электронный
ресурс]
–
Режим
доступа:
http://www.npsod.ru/rus2/analitics/document32865.phtml. – Дата доступа:
15.12.2012.
16. Облачные вычисления: 10 изменений, которые произойдут с ними
к
2020
г.
[Электронный
ресурс]
–
Режим
доступа:
http://www.tadviser.ru/index.php/Статья:Облачные_вычисления:_10_изменени
й,_которые произойдут_с_ними_к_2020_г. – Дата доступа: 15.12.2012.
17. Тренды рынка и будущее облачных технологий [Электронный
ресурс]
–
Режим
доступа:
55
http://www.tadviser.ru/index.php/Статья:Тренды_рынка_и_будущее_облачных
_технологий. – Дата доступа: 15.12.2012.
18. Облачные вычисления (мировой рынок) [Электронный ресурс] –
Режим
доступа:
http://www.tadviser.ru/index.php/Статья:Облачные
высисления_(мировой рынок). – Дата доступа: 15.15.2012.
19. Google и Amazon снижают цены на облачные платформы.
Запускают новые сервисы [Электронный ресурс] – Режим доступа:
http://www.livebusiness.ru/news/10672/. – Дата доступа: 15.12.2012.
20. Компания Microsoft снизила цены на Windows Azure Storage
[Электронный ресурс] – Режим доступа: http://inntec.ru/cloud/294-windowsazure-storage.html. Дата доступа: 15.12.2012.
21. Windows Azure Platform. Second Edition / Tejaswi Redkar, Tony
Guidici – Apress, 2011. – 597 p.
22. Обновлены Windows Azure Mobile Services: поддержка iOS и
многое
другое
[Электронный
ресурс]
–
Режим
доступа:
http://habrahabr.ru/company/microsoft/blog/155083/. – Дата доступа: 12.11.2012.
23. Microsoft Media Platform [Электронный ресурс] – Режим доступа:
http://www.microsoft.com/en-us/mediaplatform/. – Дата доступа: 12.11.2012.
24. Как Олимпиада в Лондоне транслировалась через облако
[Электронный
ресурс]
–
Режим
доступа:
http://habrahabr.ru/company/microsoft/blog/150115/. – Дата доступа: 12.11.2012.
25. Новинки и обновления платформы Windows Azure, октябрь 2012
[Электронный
ресурс]
–
Режим
доступа:
http://www.techdays.ru/videos/4620.html. – Дата доступа: 12.11.2012.
26. Cloud computing: principles and paradigms / Rajkumar Buyya, James
Broberg, Andrzej Goscinski. – USA: John Wiley & Sons, 2011. – 674 p.
27. Netgen Mesher [Электронный ресурс] – Режим доступа:
http://sourceforge.net/projects/netgen-mesher/. Дата доступа: 11.06.2012.
28. Nlog Project [Электронный ресурс]. – Режим доступа: http://nlogproject.org/. Дата доступа: 12.06.2012.
29. Math.NET Numerics is an opensource numerical library for .Net,
Silverlight and Mono [Электронный ресурс] – Режим доступа:
http://numerics.mathdotnet.com/. Дата доступа: 12.06.2012.
30. Нейгел К. C# 4.0 и платформа .NET 4 для профессионалов. / Пер.
с англ. / Нейгел К., Ивьен Б., Глинн Д., Уотсон К., Скиннер М. – М.:
Диалектика, 2011. – 1440 стр.: ил.
56
ПРИЛОЖЕНИЕ А БИЗНЕС-МОДЕЛЬ ОБЛАЧНЫХ
ПРИЛОЖЕНИЙ
Предоставление доступа к вычислительным ресурсам в виде сервисов
приводит к возникновению новых бизнес-моделей. Например, у поставщиков
сервисов появляются задачи применения адекватной схемы расчета с
потребителем, которая должна быть отражена как в механизмах учета
использованных ресурсов, так и в предъявляемых к оплате счетах.
Поставщики и потребители сервисов В бизнес-модели облачных
вычислений обычно присутствуют три ключевых «игрока»:
 Провайдер облачной платформы.
 Разработчик.
 Заказчик.
Можно выделить следующие основные варианты взаимодействия
между контрагентами в рамках бизнес-модели облачных вычислений:
 Провайдер -> Разработчик -> Заказчик.
 Провайдер -> Заказчик.
 Провайдер -> Заказчик (приложение Разработчика).
В первом варианте (рисунок А.1) разработчик размещает приложение на
облачной платформе, предоставляемой провайдером, и продает это
приложение как сервис заказчику. Заказчик оплачивает приобретенный сервис
по той или иной схеме – схемы расчетов мы рассмотрим чуть далее, а
разработчик оплачивает фактически использованные вычислительные
ресурсы провайдеру. Таким образом, стоимость самой платформы и ее
ресурсов включается в стоимость конечного сервиса, предоставляемого
заказчику.
Рисунок А.1 – Бизнес-модель 1
57
В некоторых случаях может применяться и другой вариант, в котором
заказчик сам оплачивает использованные ресурсы облачной платформы.
Такая схема может использоваться, например в том случае, если
облачная платформа является элементом завершенного SaaS-решения и
разработчик дополняет готовое решение своими сервисами. Видоизмененная
схема взаимодействия приведена на рисунке А.2.
Рисунок А.2 – Бизнес-модель №2
И наконец, разработчик (например, системный интегратор или
собственная служба ИТ заказчика) может оказать услуги по созданию сервиса,
как показано на рисунке А.3.
Рисунок А.3 – Бизнес-модель №3
58
Схемы расчетов с заказчиком
Разработчик может использовать любую схему оплаты сервиса,
размещенного в облаке. Главное, чтобы схема оплаты отражала свойства
приложения и особенности автоматизируемого бизнеса. Так, наиболее
распространенные схемы оплаты для приложений, предоставляемых как
сервис, это:
 Кол-во пользователей приложения.
 Объем хранимых данных (квотирование).
 Кол-во документов или транзакций.
 Авансовая форма, в которой заранее приобретается определенный
объем ресурсов.
 Комбинация схем, например пользователь/мес + квота на объем
данных.
Следует учитывать, что зеркальное отражение принципа оплаты
фактически использованных ресурсов (т.е. оплата за время работы
приложения, трафик и т.п.) может быть не всегда удобной для заказчика.
59
Download