Вычисления в Windows Azure
- В этой теме 0 ответов, 1 участник, последнее обновление 12 лет, 7 месяцев назад сделано Intinger.
-
АвторСообщения
-
15.04.2012 в 20:20 #7786IntingerУчастник
В среде вычислений Windows Azure могут выполняться приложения многих типов. Но какие бы задачи ни выполняло приложение, оно должно быть реализовано как одна или несколько ролей. Windows Azure выполняет несколько экземпляров каждой роли, используя встроенную подсистему балансировки нагрузки для равномерного распре-деления запросов между ними. На рис. 3 показано, как это выглядит.
[attachment=39:756cd71891148e99ae230a61c7774b021.png]Рис. 3. Приложение, выполняемое в Windows Azure, может состоять из любого сочетания экземпляров Web-ролей, Worker-ролей и VM-ролей.В текущей версии Windows Azure разработчики могут использовать на выбор роли следующих трех типов.
- Web-роли. Предназначены прежде всего для облегчения создания веб-приложений. В каждом экземпляре Web-роли имеются предварительно настроенные сервисы Internet Information Services (IIS) 7, что упрощает создание приложений с помощью ASP.NET, Windows Communication Foundation (WCF) и других веб-технологий. Разработчики могут также создавать приложения в машинном коде — использование .NET Framework не обязательно. Другими словами, они могут устанавливать и выполнять технологии, производимые не корпорацией Microsoft, в том числе PHP и Java. Worker-роли. Предназначены для выполнения всевозможного кода на платформе Windows. Самое большое различие между Web-ролью и Worker-ролью заключается в том, что в последних нет настроенных сервисов IIS, поэтому выполняемый в этих ролях код не размещается в IIS.
- В Worker-роли может выполняться моделиро-вание, обработка видео или практически любая другая задача. Распространена такая схема: приложение взаимодействует с пользователями через Web-роль, а затем передает задачи для обработки Worker-роли. И в этом случае разработчик также может по своему усмотрению использовать .NET Framework или другое ПО, выполняемое в среде Windows, в том числе технологии, производимые не Microsoft.
- VM-роли. В каждой из них выполняется указанный пользователем образ Windows Server 2008 R2. Помимо прочего, VM-роль иногда может пригодиться для перемещения локального приложения Windows Server на платформу Windows Azure.
Для отправки приложения в Windows Azure разработчик может воспользоваться порталом Windows Azure. Вместе с приложением передается информация о настройках, где платформе указывается, сколько экземпляров каждой роли должно выполняться. Далее Fabric Controller Windows Azure для каждого экземпляра создает виртуальную машину и запускает код для соответствующей роли в этой виртуальной машине.
Как показано на рис. 3, запросы от пользователей приложения могут передаваться по таким протоколам, как HTTP, HTTPS и TCP. Независимо от способа передачи, для запросов выполняется балансировка нагрузки между всеми экземплярами роли. Поскольку подсистема балансировки нагрузки не позволяет привязывать сеансы к конкретному экземпляру роли, то никак нельзя гарантировать, что различные запросы от одного и того же пользователя будут направлены в один и тот же экземпляр роли. Из этого следует, что экземпляры роли в Windows Azure не должны сами сохранять свое состояние в промежутке между запросами. Вместо этого любое состояние, связанное с клиентом, должно записываться в хранилище Windows Azure, сохраняться в SQL Azure (еще один компонент платформы Windows Azure) или каким-то иным способом сохраняться вовне.
Для создания приложения Windows Azure разработчик может использовать любую комбинацию экземпляров Web-ролей, Worker-ролей и VM-ролей. Если нагрузка на приложение увеличится, с помощью портала Windows Azure можно увеличить количество экземпляров каждой роли в приложении. Если нагрузка снизится, количество запущенных экземпляров можно сократить. Windows Azure также предоставляет программный интерфейс для выполнения всех этих операций, так что для изменения числа запущенных экземпляров не обязательно личное вмешательство. Однако платформа не масштабирует приложения автоматически в зависимости от нагрузки на них.
Приложения Windows Azure создаются с помощью таких же языков и средств, как и любые приложения Windows. Разработчик может реализовать Web-роль с помощью ASP.NET и Visual Basic или, например, использовать WCF и C#. Таким же образом разработчик может создать Worker-роль на одном из языков .NET, работать непосред-ственно в C++ без .NET Framework или использовать Java. Хотя для Windows Azure предоставляются подключаемые модули Visual Studio, использование этой среды разработки не является обязательным. Например, разработчик, установивший PHP, при написании приложения может по своему выбору использовать другое средство.
В целях мониторинга и отладки приложений Windows Azure каждый экземпляр может вызывать программный интерфейс ведения журнала, записывающий сведения в общий журнал приложения. Кроме того, разработчик может настроить систему для ведения счетчиков производительности приложения, замерять загрузку ЦП прило-жением, сохранять аварийные дампы в случае сбоев и т. п. Эта информация содержится в хранилище Windows Azure, и разработчик может написать код для анализа этих сведений. Например, если в течение одного часа три раза происходит сбой экземпляра Worker-роли, специально написанный код может отправлять администратору приложения письмо по электронной почте.
Возможность выполнения кода является основополагающей, но не достаточной частью облачной платформы. Приложениям также требуется постоянное хранилище. Для выполнения этой задачи предназначен сервис хранилища Windows Azure, рассматриваемый далее.
При поддержке компании MicrosoftДалее мы рассмотрим Хранилище в Windows Azure -
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.