Windows Azure
Материал из ITpedia
Windows Azure - облачная операционная система компании Microsoft, предназначенная для разработки и запуска веб-приложений, которые выполняются на сервере поставщика, а не на компьютере пользователя. Входит в состав платформы Microsoft Azure.
Содержание |
Разработка приложений
Создание приложения
Для работы с Windows Azure в Visual Studio 2008 необходимо установить:
- Windows Azure SDK
- Windows Azure Tools for Microsoft Visual Studio
После чего в Visual Studio появятся новые типы проектов. При разработке приложения можно использовать любой .NET язык (хотя фокус Microsoft при разработке Azure был на C#). После написания кода сервиса, его надо подготовить пакет к «публикации». После этого будут созданы 2 файла (сам пакет с кодом сервиса и файл конфигурации, в котором указано количество узлов для сервиса), которые нужно загрузить в облако.
Процедура публикации состоит из двух этапов:
- Загрузка проекта в Staging для проверки.
- Перевод проверенного проекта в Production
И последнее, что требуется для работы и тестирования проекта – сделать веб-оболочку.
Выполнение приложения
В Windows Azure приложение имеет несколько экземпляров, каждый из которых выполняет часть или весь код приложения. Каждый из экземпляров работает на своей виртуальной машине. Но само приложение на Windows Azure не видит виртуальную машину, на которой она работает. Вместо этого разработчик может создать приложения с двумя типа экзмепляров –Web Role и Worker Role. Экземпляр Web Role принимает входящие запросы через Internet Information Services (IIS). Web role может быть реализован с помошью ASP.NET, WCF или другой .NET технологии, которая работает с IIS.
Worker Role получает исходные данные от Web Role, обычно через очередь в хранилище Windows Azure. Результат работы экземпляров Worker Role может писаться в хранилище Windows Azure или посылаться во внешний мир через исходящие сетевые соединения. В отличии от экземпляров Web Role, которые создаются для обработки запросов и выключаются после обработки запроса, Worker Role может работать бесконечно – это фоновое задание.
Каждая виртуальная машина, на которой работают экземпляры Web Role или Worker Role, содержит агента Windows Azure, через который приложения взаимодействуют с фабрикой Windows Azure. Каждой виртуальной машине соответствует свое физическое ядро процессора. Бладоря этому можно управлять производительностью каждого приложения увеличивая количество работающих экземпляров указанное в конфигурационном файле.
Доступ к данным
Windows Azure позволяет хранить данные в блобах, таблицах и очередях, доступ к которым осуществляется по протоколу REST.
Использование блобов – cамый простой способ хранения данных в Windows Azure. Есть простая иерархия: хранилище может иметь один или несколько контейнеров, каждый из которых хранить один или несколько блобов. Блобы могут быть большими – влоть до 50 Гб каждый, а чтобы сделать передачу блобов проще, каждый из них может разделен на подблобы. При ошибке передачи, повторная передача может начаться с самого последнего передаваемого подблоба. Блобы могут иметь метаданные (например, информация о том, где была сделана JPEG фотография, или данные о композиторе песни для MP3 файла).
Таблицы используются для хранения данных, чтобы приложения могли работать с данными на уровне мелких структурных единиц. Данные в таблицах хранятся в виде простой иерархии сущностей со свойствами.
Третий метод хранения данных в хранилище Windows Azure – очереди – создан с целью обеспечения взаимодействия экземпляров Web Role и Worker Role. Например, пользователь посылает запрос на выполнение какой-то ресурсоемкой задачи через веб-страницу, реализованную в Web Role. Экземпляр Web Role, который получает этот запрос, пишет сообщение в очередь. Экземпляр Worker Role, который ожидает сообщения в очереди считывает новое сообщение и выполняет требуюмую работу. Результаты работы он может вернуть через другую очереди или каким-то другим способом.
Расценки на использование
Расценки на Windows Azure стали известны летом 2009 года. Microsoft будет брать по $0,12 за каждый час вычислений, $0,15 за каждый переданный ГБ данных и по $0,01 за каждые 10 тыс. операций чтения-записи данных. Хостинг базы данных SQL Azure Web Edition объемом не более 1 ГБ стоит $10 в месяц. База данных для предприятий SQL Azure Business Edition объемом до 10 ГБ обойдется в $100 в месяц, а 100 тыс. сообщений .NET Services - в $0,15. Стоимость Windows Azure сопоставима со стоимостью конкурирующих облачных платформ - например, Amazon EC2, Google App Engine и Force.com.
Дата коммерческого запуска
Как рассказал CNews Дмитрий Мартынов, советник по платформенной стратегии Microsoft, дата коммерческого запуска и начала платной эксплуатации новой операционной системы Microsoft для создания «облачных» распределенных веб-приложений - Windows Azure – пока не определена: можно ожидать ее запуск не ранее конца 2010 – начала 2011 г. «Тем не менее, мы стараемся, чтобы запуск состоялся как можно скорее», - отметил он. «Евангелист» Microsoft также подчеркивает, что сервисами, созданными с использованием Windows Azure, можно пользоваться по всему миру.
Как отмечают в Microsoft, в США и других западных странах в настоящее время наблюдается переход к платному использованию Windows Azure. Платформа получила полный набор функций в ноябре 2009 года. В январе 2010 г. Windows Azure перейдет в промышленную эксплуатацию в 21 стране мира, а в с 1 февраля 2010 г ее тестовая эксплуатация закончится, и начнется платное использование.
России и тем странам, где Azure не будет запущен в промышленную эксплуатацию в начале 2010 года, в этом плане повезло, отмечает Дмитрий Мартынов: до декабря 2009 года все желающие (не только разработчики) могут записаться в программу бесплатного тестирования системы и пользоваться ею вплоть до запуска, то есть еще не меньше года.
Рынок платформенных сервисов
Исследований по оценке потенциального спроса на Windows Azure отдельно по России пока никто не проводил, отмечает Мартынов: есть только прогнозы IDC и Forrester по всему миру в целом, на основании которых можно примерно посчитать показатели для России, исходя из пропорционального размера рынка.
Так, по прогнозам IDC, совокупный объем мирового рынка ПО в 2013 г. достигнет примерно $380 млрд. Доля Россия здесь – чуть больше 1%, то есть примерно $5 млрд. Специалисты Forrester, в свою очередь, ожидают, что рынок сервисов в облаке типа Azure в 2013 г. приблизится к отметке в $9 млрд. Исходя из этого, потенциальный рынок платформенных сервисов в России в 2013 г. можно оценить примерно в $100 млн. Дмитрий Мартынов подчеркивает, что эта оценка несколько искусственна. В российском Microsoft планируют провести отдельное исследование спроса на платформенные сервисы в России.
Cоветник по платформенной стратегии Microsoft отмечает, что весь рынок SaaS (ПО как услуг) при этом гораздо больше платформенной части – и в России, и в мире. IDC оценивает его объем в $12 млрд. Платформенная часть при этом сейчас составляет около 3%, но по мере того, как будет развиваться идея облака, она будет увеличиваться. При этом очевидно, что доля платформ вроде Azure в России хоть и будет расти, но несколько более низкими темпами, чем по всему миру.


