Windows Azure Internals
-
Upload
alexandr-feschenko -
Category
Technology
-
view
1.923 -
download
5
description
Transcript of Windows Azure Internals
![Page 1: Windows Azure Internals](https://reader033.fdocuments.us/reader033/viewer/2022042614/558c9581d8b42af9248b4673/html5/thumbnails/1.jpg)
Windows Azure Internals
Фещенко Александр
http://feschenkoalex.blogspot.com
Twitter: FeschenkoAlex
![Page 2: Windows Azure Internals](https://reader033.fdocuments.us/reader033/viewer/2022042614/558c9581d8b42af9248b4673/html5/thumbnails/2.jpg)
План доклада
• Inside the Cloud
• Центры обработки данных
• Гипервизор
• Устройство Fabric Controller
• Разворачивание сервисов и
выделение ресурсов
• Внутри виртуальной машины
![Page 3: Windows Azure Internals](https://reader033.fdocuments.us/reader033/viewer/2022042614/558c9581d8b42af9248b4673/html5/thumbnails/3.jpg)
Inside the Windows Azure
![Page 4: Windows Azure Internals](https://reader033.fdocuments.us/reader033/viewer/2022042614/558c9581d8b42af9248b4673/html5/thumbnails/4.jpg)
Azure = Много вопросов Как будет работать мой код ?
На какой операционной системе ?
Будет ли мой код защищен?
Да и вообще как работает
Windows Azure?
![Page 5: Windows Azure Internals](https://reader033.fdocuments.us/reader033/viewer/2022042614/558c9581d8b42af9248b4673/html5/thumbnails/5.jpg)
Железо Железо Железо
Визуализация Windows Azure
Железо Железо
![Page 6: Windows Azure Internals](https://reader033.fdocuments.us/reader033/viewer/2022042614/558c9581d8b42af9248b4673/html5/thumbnails/6.jpg)
Архитектура ЦОД
![Page 7: Windows Azure Internals](https://reader033.fdocuments.us/reader033/viewer/2022042614/558c9581d8b42af9248b4673/html5/thumbnails/7.jpg)
Маршрутизаторы
датацентра
Балансировщики
нагрузки и
агрегационные
роутеры
Стойки с
серверами
![Page 8: Windows Azure Internals](https://reader033.fdocuments.us/reader033/viewer/2022042614/558c9581d8b42af9248b4673/html5/thumbnails/8.jpg)
Центры обработки данных
![Page 9: Windows Azure Internals](https://reader033.fdocuments.us/reader033/viewer/2022042614/558c9581d8b42af9248b4673/html5/thumbnails/9.jpg)
Кластерная структура датацентра
• Датацентр разделяется на «кластеры»
• Приблизительно 1000 блейдов на один кластер
• Кластер – единица отказоустойчивости
• Fabric Controller управляет каждым кластером
• Программное обеспечение блейда
• Управление и менеджмент
• Разворачивание сервисов и мониторинг состояния
Кластер 1
FC
Кластер 2
FC
Кластер n
FC
Сеть датацентра
![Page 10: Windows Azure Internals](https://reader033.fdocuments.us/reader033/viewer/2022042614/558c9581d8b42af9248b4673/html5/thumbnails/10.jpg)
Гипервизор
![Page 11: Windows Azure Internals](https://reader033.fdocuments.us/reader033/viewer/2022042614/558c9581d8b42af9248b4673/html5/thumbnails/11.jpg)
Windows Azure Hypervisor
• Предназначен для справедливого распределения
ресурсов между несколькими виртуальными машинами.
• Работает в режиме “Root Mode” aka “Ring -1”
Hypervisor
Скорость
Размер Интеграция
3 основных
принципа
![Page 12: Windows Azure Internals](https://reader033.fdocuments.us/reader033/viewer/2022042614/558c9581d8b42af9248b4673/html5/thumbnails/12.jpg)
Архитектура гипервизора
NIC Disk 1 Disk 2 CPU Железо
Hypervisor
VMBUS
Virtualization
Stack (VSP)
Guest OS
server enterprise
Приложения
Guest-раздел
VMBUS
Virtualization
Stack (VSP)
Guest OS
server enterprise
Приложения
Guest-раздел
VMBUS
Virtualization
Stack (VSP)
HOST OS
Host-раздел
Драйвера
![Page 13: Windows Azure Internals](https://reader033.fdocuments.us/reader033/viewer/2022042614/558c9581d8b42af9248b4673/html5/thumbnails/13.jpg)
Устройство Fabric Controller
![Page 14: Windows Azure Internals](https://reader033.fdocuments.us/reader033/viewer/2022042614/558c9581d8b42af9248b4673/html5/thumbnails/14.jpg)
Fabric Controller
это не Skynet
*вроде бы
![Page 15: Windows Azure Internals](https://reader033.fdocuments.us/reader033/viewer/2022042614/558c9581d8b42af9248b4673/html5/thumbnails/15.jpg)
Windows Azure Fabric Controller
• «Мозг» облачной операционной системы
• Управляет аппаратным обеспечением датацентра
• Управляет запущенными Windows Azure сервисами
• 4 основные функции
• Распределение ресурсов датацентра
• Поиск и предоставление аппаратного обеспечения
• Управление жизненным циклом сервиса
• Мониторинг сервисов
• Входящие данные
• Описание аппаратного и сетевого обеспечения
• Модель сервиса и само приложение
![Page 16: Windows Azure Internals](https://reader033.fdocuments.us/reader033/viewer/2022042614/558c9581d8b42af9248b4673/html5/thumbnails/16.jpg)
Windows Azure Fabric Controller
FC ядро
Объектная модель
Uncommited Commited
Первичный FC узел
Диск
FC ядро
Объектная модель
Commited
Вторичный FC узел
Диск
FC ядро
Объектная модель
Commited
Вторичный FC узел
Диск
Репликационная система
FC агент
Клиент Репликация на основе
алгоритма Paxos
![Page 17: Windows Azure Internals](https://reader033.fdocuments.us/reader033/viewer/2022042614/558c9581d8b42af9248b4673/html5/thumbnails/17.jpg)
Utility Fabric Controller
• 3 основных функции
• Обновление FC
• Управление FC
• Изменение FC
• UFC предоставляет FC описание физических и логических
ресурсов кластера в файле Datacenter.xml
• IP-адреса серверов
• Пул сетевых IP-адресов, присваиваемых сервисам
• Адреса сетевого оборудования и элементов подачи
питания
![Page 18: Windows Azure Internals](https://reader033.fdocuments.us/reader033/viewer/2022042614/558c9581d8b42af9248b4673/html5/thumbnails/18.jpg)
Внутри кластера
• FC – это распределенное, отказоустойчивое приложение,
запущенное на блейдах разбросанных между fault-доменами
• Как правило верхние блейды резервируются под FC
TOR TOR TOR TOR TOR
AGG LB LB
Блейды
Стойки
![Page 19: Windows Azure Internals](https://reader033.fdocuments.us/reader033/viewer/2022042614/558c9581d8b42af9248b4673/html5/thumbnails/19.jpg)
Подготовка узла
Блейд
Fabric Controller Windows
Deployment Server
PXE Server
Репозиторий образов
Обслуживающая
ОС
Windows Server
Core Образы ролей
Power
On
Обслуживающая
ОС
Windows Server
Core
Windows Azure Гипервизор
FC Агент Windows Azure OS
![Page 20: Windows Azure Internals](https://reader033.fdocuments.us/reader033/viewer/2022042614/558c9581d8b42af9248b4673/html5/thumbnails/20.jpg)
Разворачивание сервисов и
выделение ресурсов
![Page 21: Windows Azure Internals](https://reader033.fdocuments.us/reader033/viewer/2022042614/558c9581d8b42af9248b4673/html5/thumbnails/21.jpg)
Разворачивание сервиса
Датацентр
• Пакет загружается на портал • Портал передает его сервису“Red
Dog Front End” (RDFE)
• RDFE конвертирует пакет в нативный “RD” формат
• RDFE отправляет сервис к Fabric Controller на основании целевого региона
• FC разворачивает и активирует сервис
FC
![Page 22: Windows Azure Internals](https://reader033.fdocuments.us/reader033/viewer/2022042614/558c9581d8b42af9248b4673/html5/thumbnails/22.jpg)
Шаги разворачивания сервиса
Обработ
ать
модель
• Определить ресурсные требования
• Создать образы ролей
Выделить
ресурсы
• Вычислительные и сетевые ресурсы
Подготов
ить узлы
• Разместить образы на узлах
• Создать виртуальные машины
• Запустить виртуальные машины и роли
Настроить
сеть
• Присвоить динамические IP-адреса блейдам (DIP)
• Выделить виртуальные IP-адреса и замапить их на набор DIPs
• Настроить пакетный фильтр для трафика VM-to-VM
• Запрограммировать балансировщик нагрузки для разрешения трафика
![Page 23: Windows Azure Internals](https://reader033.fdocuments.us/reader033/viewer/2022042614/558c9581d8b42af9248b4673/html5/thumbnails/23.jpg)
Аллокация ресурсов
• Цель: предоставить сервисным компонентам аппаратные
ресурсы согласно заявленным требованиям
• Аппаратные требования: CPU, Память, Диск, Сеть
• Fault домены
• Вторичная цель: удовлетворить необязательные
требования
• Отдавать предпочтение аллокации, позволяющей
упростить обслуживание HOST раздела/Гипервизора
• По возможности учитывать сетевой аспект и
размещать компоненты как можно ближе друг к другу
![Page 24: Windows Azure Internals](https://reader033.fdocuments.us/reader033/viewer/2022042614/558c9581d8b42af9248b4673/html5/thumbnails/24.jpg)
Пример аллокации
Роль Б Инстансов: 2
Update доменов: 2
Размер: Medium
Роль A Инстансов: 3
Update доменов: 3
Размер: Large
Fault домен 1 Fault домен 2 Fault домен 3
www.mycloudapp.net
Балансировщик
нагрузки
10.100.0.27
10.100.0.119 10.100.0.49
![Page 25: Windows Azure Internals](https://reader033.fdocuments.us/reader033/viewer/2022042614/558c9581d8b42af9248b4673/html5/thumbnails/25.jpg)
Внутри виртуальной
машины
![Page 26: Windows Azure Internals](https://reader033.fdocuments.us/reader033/viewer/2022042614/558c9581d8b42af9248b4673/html5/thumbnails/26.jpg)
Размеры виртуальных машин
Размер CPU Память Локальное
хранилище
I/O
производит
ельность
Стоимость
за час
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 производительностью (ширина канала и дисковая
подсистема) разделяются между инстансами одного физического хоста
• Под каждый размер виртуальной машины выделяется минимально допустимая
производительность общедоступных ресурсов
![Page 27: Windows Azure Internals](https://reader033.fdocuments.us/reader033/viewer/2022042614/558c9581d8b42af9248b4673/html5/thumbnails/27.jpg)
Виртуальные диски инстанса
Экземпляр запущенной роли
С:\
Ресурсный диск
D:\
Диск различий
E:\ или F:\
Диск различий
роли
Windows VHD Role VHD
![Page 28: Windows Azure Internals](https://reader033.fdocuments.us/reader033/viewer/2022042614/558c9581d8b42af9248b4673/html5/thumbnails/28.jpg)
Установленное окружение
• .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 таск Вам в руки
![Page 29: Windows Azure Internals](https://reader033.fdocuments.us/reader033/viewer/2022042614/558c9581d8b42af9248b4673/html5/thumbnails/29.jpg)
Версия операционной системы
• На данный момент существуют 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
![Page 30: Windows Azure Internals](https://reader033.fdocuments.us/reader033/viewer/2022042614/558c9581d8b42af9248b4673/html5/thumbnails/30.jpg)
Заключение
• Platform as a Service предназначена для снижения управления и ручного
вмешательства в процесс, тем самым повышая надежность системы
• Гипервизор – это “сердце” Windows Azure, Fabric Controller – «мозг»
• Windows Azure Fabric Controller – это база, на которой стоит вся платформа:
• Распределяет ресурсы датацентра
• Разворачивает сервисы
• Конфигурирует аппаратное обеспечение для сервисов
• Постоянно наблюдает за состоянием аппаратуры и сервисов
![Page 31: Windows Azure Internals](https://reader033.fdocuments.us/reader033/viewer/2022042614/558c9581d8b42af9248b4673/html5/thumbnails/31.jpg)
Ну и конечно же он продолжает
развиваться и совершенствоваться
Фидбеки и вопросы можно
оставить вот здесь:
http://forums.dev.windows.com