Назначение компонента Compute в Windows Azure

| Воскресенье, 24 февраля, 2013

Метки: Windows Azure Комментарии: 0

Компонент Compute позволяет выполнять различные типы приложений в Windows Azure. Чтобы приложение ни делало, оно должно быть реализовано в одной или нескольких ролях. Windows Azure запускает несколько экземпляров приложения для каждой роли, используя устройство балансировки нагрузки (Load Balancer), чтобы равномерно распределить запросы между ними.

Выполняемое приложение на Windows Azure состоит из различных экзепляров для ролей Web, Worker и VM.

Выполняемое приложение на Windows Azure состоит из различных экземпляров для ролей Web, Worker и VM.

На данный момент разработчики могут использовать три роли:

  • Web-роли, предназначены в основном для создания веб-приложений. Каждый экземпляр Web-роли имеет встроенный сконфигурированный сервис IIS (Internet Information Services). Таким образом, создание приложений с ASP.NET, WCF (Windows Communication Foundation) и других веб-технологий Microsoft не представляет никаких сложностей. Но также разработчики могут создавать приложения и с неуправляемым кодом, то есть использование среды с управляемым кодом .NET не обязательно. Это значит, что можно с таким же успехом устанавливать приложения и не-Microsoft технологий, включая PHP и Java.
  • Worker-роли, спроектированы для выполнения различных видов Windows-приложений. Основное отличие Worker-роли от Web-роли в том, что у Worker-роли нет внутри сконфигурированного IIS. Worker-роль может быть использована для приложений выполняющих какие-то внутренние операции, например, для обработки видео и подобных задач. Это типичная схема работы для приложений, которые взаимодействуют с пользователями через Web-роль, получают какое-то задание и выполняют его уже отдельно в Worker-роли. И здесь также, разработчики могут свободно использовать .NET, любые другие приложения, выполняемые на операционных системах Windows, а также не-Microsoft технологии.
  • VM-роли обслуживают, поставляемые пользователями, образы операционной системы Windows Server 2008 R2. Также эти роли могут быть полезны для переноса приложений из собственного сервера предприятия (on-premise Windows Server) в платформу Windows Azure.

Для размещения приложений в Windows Azure, разработчики могут использовать портал Windows Azure. Вместе с приложением отсылается конфигурационная информация, которая указывает платформе, сколько и какие экземпляры каждой роли должны быть запущены. И если указаны VM-роли, то дополнительно контроллером Fabric создаются виртуальные машины для каждого экземпляра приложения с VM-ролью.

Запросы от приложений пользователей могут проходить по протоколам HTТP, HTTPS и TCP. Принятые запросы распределяются между всеми экземплярами роли. Так как устройство балансировки не может привязаться к конкретному экземпляру роли, то нет гарантии, что запросы от одного пользователя будут обработаны одним и тем же экземпляром роли. Это значит, что экземпляры роли не сохраняют свои состояния между запросами. Состояния могут быть записаны в хранилище Windows Azure (Storage), которое находится в другом компоненте - SQL Azure.

Для создания Windows Azure приложения можно использовать любую комбинацию экземпляров Web, Worker и VM ролей. Так как платформа не масштабирует автоматически приложения в зависимости от нагрузки, то если нагрузка на приложение возрастает, через портал можно создать больше экземпляров ролей. При снижении нагрузки – уменьшить их количество. Windows Azure также имеет API для программной реализации этих операций, тогда не потребуется вручную управлять ролями.

При создании приложений для Windows Azure разработчики могут использовать те же самые языки программирования и инструменты, что и для обычных Windows-приложений. Например, приложение Web-роли может быть написано с использованием ASP.NET и Visual Basic или WCF и C#. Аналогично, Worker-роль может быть реализована на любом языке .NET, а также и без .NET, прямо на С++ или Java. Для этого есть специальные плагины к Visual Studio, так что специальной среды разработки не потребуется.

Для мониторинга и отладки Windows Azure приложений существует программный интерфейс (API) для ведения логов, который пишет информацию в общий журнал приложений. Разработчик, может настроить систему для сбора информации о производительности приложения, измерять загруженность процессора, хранить отчеты об сбоях, если они случались. Эта информация помещается в хранилище Windows Azure, и разработчик может писать код для доступа к ней. Например, если в Worker-роли больше трех раз за час случаются сбои, то администратору приложения высылается email.

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

Комментарии
Никто еще не оставил здесь комментарий.
Войдите, чтобы написать комментарий , или воспользуйтесь формой ниже.
 

Copyright © CodeHint.ru 2013-2020