Назначение fabric-контроллера в Windows Azure

| Вторник, 26 марта, 2013

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

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

Контроллер Fabric взаимодействует с приложениями через Fabric Agent.

Fabric-контроллер – является распределенным приложением, он реплицирован через группу машин и владеет всеми ресурсами системы: компьютеры, хабы, распределители нагрузки и т.д. Так как fabric-контроллер взаимодействует с каждым компьютером через Fabric Agent, он осведомлен о всех приложениях в Windows Azure. (Отметим, что fabric-контроллер видит хранилище Windows Azure, как обычное приложение, следовательно детали управления данными и репликации хранилища контроллеру не видны)

Обширная осведомленность позволяет выполнять fabric-контроллеру много полезных функций. Он следит за всеми работающими приложениями, например, можно быстро получить актуальный обзор, о том, что происходит в системе. Контроллер решает, где новое приложение будет запущено, сам выберет физические сервера для приложения, чтобы оптимизировать производительность оборудования. Для этого он использует конфигурационную информацию, которая обновляется данными от каждого приложения Windows Azure. Приложение предоставляет конфигурационные данные в формате XML и содержит информацию о том, что нужно приложению: требуемое количество web-ролей, количество worker-ролей и т.д. Когда fabric-контроллер развертывает новое приложение, он использует эту информацию для определения количества новых виртуальных машин, которые нужно создать.

Как только виртуальные машины созданы, fabric-контроллер начинает следить за их работой. Например, если приложению требуется пять web-ролей, но одна из них не создалась, то контроллер запустит объект web-роли на другой машине и укажет балансировщику нагрузок на эту новую виртуальную машину.

На сегодняшний день Windows Azure предлагает разработчикам для выбора пять типов виртуальных машин (ВМ):

  • Очень малая ВМ (XS): один процессор 1.0 ГГц, 768 МБ оперативной памяти, 20 ГБ дискового пространства.
  • Малая ВМ (S): один процессор 1.6 ГГц, 1.75 ГБ оперативной памяти, 225 ГБ дискового пространства.
  • Средняя ВМ (M): два процессора по 1.6 ГГц, 3,5 ГБ оперативной памяти, 490 ГБ дискового пространства.
  • Большая ВМ (L): четыре процессора по 1.6 ГГц, 7 ГБ оперативной памяти, 1000 ГБ дискового пространства.
  • Очень большая ВМ (XL): восемь процессоров по 1.6 ГГц, 14 ГБ оперативной памяти, 2040 ГБ дискового пространства.

Очень малая ВМ делит процессор с другими очень малыми ВМ. Остальные типы ВМ владеют своими процессорами индивидуально. Это значит, что производительность приложения прогнозируема и нет ограничений по времени выполнения приложения. Например, web-роль может работать столько, сколько нужно для обработки запроса от пользователя, или worker-роль может вычислять значение пи до миллиона знаков.

Для web и worker ролей (но не для vm-роли) fabric-контроллер управляет операционными системами. Это – установка обновлений ОС и другого программного обеспечения. Таким образом разработчики могут сосредоточиться только на разработке приложений - не надо заботится об управлении платформой. И еще важно понять, что fabric-контроллер предполагает, что запущены по крайней мере два объекта каждой роли. Это дает возможность прекратить работу одного объекта роли для обновления, не прерывая работу всего приложения. Поэтому запуск по одному объекту каждой роли - обычно плохая практика.

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

Copyright © CodeHint.ru 2013-2019