Presentation about Windows Azure Internals. The next topics covered:
1) Azure Datacenters
2) Windows Azure Hypervisor
3) Windows Azure Fabric Controller
4) Service deployment steps
5) Windows Azure virtual machine structure
1. Windows Azure Internals
Фещенко Александр
feschenko.alex@gmail.com
http://feschenkoalex.blogspot.com
Twitter: FeschenkoAlex
2. План доклада
• Inside the Cloud
• Центры обработки данных
• Гипервизор
• Устройство Fabric Controller
• Разворачивание сервисов и
выделение ресурсов
• Внутри виртуальной машины
4. Azure = Много вопросов
Как будет работать мой код ?
На какой операционной системе ?
Будет ли мой код защищен?
Да и вообще как работает
Windows Azure?
9. Кластерная структура датацентра
• Датацентр разделяется на «кластеры»
• Приблизительно 1000 блейдов на один кластер
• Кластер – единица отказоустойчивости
• Fabric Controller управляет каждым кластером
• Программное обеспечение блейда
• Управление и менеджмент
• Разворачивание сервисов и мониторинг состояния
Сеть датацентра
FC FC FC
Кластер 1 Кластер 2 Кластер n
11. Windows Azure Hypervisor
• Предназначен для справедливого распределения
ресурсов между несколькими виртуальными машинами.
• Работает в режиме “Root Mode” aka “Ring -1”
Скорость
3 основных
принципа Hypervisor
Интеграция Размер
12. Архитектура гипервизора
Host-раздел Guest-раздел Guest-раздел
HOST OS Приложения Приложения
Virtualization Guest OS Guest OS
Stack (VSP)
server enterprise server enterprise
Virtualization Virtualization
Драйвера Stack (VSP) Stack (VSP)
VMBUS VMBUS VMBUS
Hypervisor
NIC Disk 1 Disk 2 Железо CPU
15. Windows Azure Fabric Controller
• «Мозг» облачной операционной системы
• Управляет аппаратным обеспечением датацентра
• Управляет запущенными Windows Azure сервисами
• 4 основные функции
• Распределение ресурсов датацентра
• Поиск и предоставление аппаратного обеспечения
• Управление жизненным циклом сервиса
• Мониторинг сервисов
• Входящие данные
• Описание аппаратного и сетевого обеспечения
• Модель сервиса и само приложение
16. Windows Azure Fabric Controller
Клиент Репликация на основе
алгоритма Paxos
FC агент
Первичный FC узел Вторичный FC узел Вторичный FC узел
FC ядро FC ядро FC ядро
Объектная модель Объектная модель Объектная модель
Uncommited Commited Commited Commited
Репликационная система
Диск Диск Диск
17. Utility Fabric Controller
• 3 основных функции
• Обновление FC
• Управление FC
• Изменение FC
• UFC предоставляет FC описание физических и логических
ресурсов кластера в файле Datacenter.xml
• IP-адреса серверов
• Пул сетевых IP-адресов, присваиваемых сервисам
• Адреса сетевого оборудования и элементов подачи
питания
18. Внутри кластера
• FC – это распределенное, отказоустойчивое приложение,
запущенное на блейдах разбросанных между fault-доменами
• Как правило верхние блейды резервируются под FC
LB AGG LB
TOR TOR TOR TOR TOR
Блейды
Стойки
19. Подготовка узла
Репозиторий образов
Fabric Controller Windows
Deployment Server
Обслуживающая Windows Server
Образы ролей PXE Server
ОС Core
Power
On
FC Агент Windows Azure OS
Блейд
Windows Azure Гипервизор
21. Разворачивание сервиса
• Пакет загружается на портал
• Портал передает его сервису“Red
Dog Front End” (RDFE)
• RDFE конвертирует пакет в
нативный “RD” формат
• RDFE отправляет сервис к
Fabric Controller на основании
целевого региона FC
• FC разворачивает и активирует
сервис Датацентр
22. Шаги разворачивания сервиса
• Определить ресурсные требования
Обработ
ать • Создать образы ролей
модель
• Вычислительные и сетевые ресурсы
Выделить
ресурсы
• Разместить образы на узлах
• Создать виртуальные машины
Подготов
ить узлы • Запустить виртуальные машины и роли
• Присвоить динамические IP-адреса блейдам (DIP)
• Выделить виртуальные IP-адреса и замапить их на набор DIPs
Настроить • Настроить пакетный фильтр для трафика VM-to-VM
сеть • Запрограммировать балансировщик нагрузки для разрешения трафика
23. Аллокация ресурсов
• Цель: предоставить сервисным компонентам аппаратные
ресурсы согласно заявленным требованиям
• Аппаратные требования: CPU, Память, Диск, Сеть
• Fault домены
• Вторичная цель: удовлетворить необязательные
требования
• Отдавать предпочтение аллокации, позволяющей
упростить обслуживание HOST раздела/Гипервизора
• По возможности учитывать сетевой аспект и
размещать компоненты как можно ближе друг к другу
24. Пример аллокации
Роль A Роль Б
www.mycloudapp.net Инстансов: 3
Update доменов: 3
Инстансов: 2
Update доменов: 2
Размер: Large Размер: Medium
Балансировщик
нагрузки
10.100.0.27
10.100.0.49
10.100.0.119
Fault домен 1 Fault домен 2 Fault домен 3
26. Размеры виртуальных машин
I/O
Локальное Стоимость
Размер CPU Память производит
хранилище за час
ельность
Extra Small 1.0 GHz 768 MB 20 GB Low $0.05
Small 1.6 GHz 1.75 GB 225 GB Moderate $0.12
Medium 2 x 1.6 GHz 3.5 GB 490 GB High $0.24
Large 4 x 1.6 GHz 7 GB 1,000 GB High $0.48
Extra Large 8 x 1.6 GHz 14 GB 2,040 GB High $0.96
• Каждый инстанс Windows Azure представляет собой виртуальный сервер
• Большинство ресурсов выделяются инстансу на постоянной основе, некоторые
ресурсы, связанные с I/O производительностью (ширина канала и дисковая
подсистема) разделяются между инстансами одного физического хоста
• Под каждый размер виртуальной машины выделяется минимально допустимая
производительность общедоступных ресурсов
27. Виртуальные диски инстанса
Экземпляр запущенной роли
E: или F:
С: D:
Диск различий
Ресурсный диск Диск различий
роли
Windows VHD Role VHD
28. Установленное окружение
• .NET 3.5 SP1
• .NET 4 RTM
• VC80 CRT (8.0.50727)
• VC90 CRT (9.0.30729)
• Другое ?
• Java Runtime (планируется в будущем)
• PHP (PHP SDK для Windows Azure (“Web PI”))
• Недостаточно?
• Startup таск Вам в руки
29. Версия операционной системы
• На данный момент существуют 2 версии операционной системы:
• Guest OS 1.x: WS08 64-bit compatible
• Guest OS 2.x: WS08 R2 64-bit compatible
• Матрица релизов операционной системы и совместимость с SDK
• http://msdn.microsoft.com/en-us/library/ee924680.aspx
30. Заключение
• Platform as a Service предназначена для снижения управления и ручного
вмешательства в процесс, тем самым повышая надежность системы
• Гипервизор – это “сердце” Windows Azure, Fabric Controller – «мозг»
• Windows Azure Fabric Controller – это база, на которой стоит вся платформа:
• Распределяет ресурсы датацентра
• Разворачивает сервисы
• Конфигурирует аппаратное обеспечение для сервисов
• Постоянно наблюдает за состоянием аппаратуры и сервисов
31. Ну и конечно же он продолжает
развиваться и совершенствоваться
Фидбеки и вопросы можно
оставить вот здесь:
http://forums.dev.windows.com
32. Спасибо за внимание !
feschenko.alex@gmail.com
http://feschenkoalex.blogspot.com
@FeschenkoAlex