WINDOWS AZURE Scott Guthrie Corporate Vice President Windows Azure.
Windows Azure Internals
-
Upload
alexandr-feschenko -
Category
Technology
-
view
1.921 -
download
5
description
Transcript of Windows Azure Internals
Windows Azure Internals
Фещенко Александр
http://feschenkoalex.blogspot.com
Twitter: FeschenkoAlex
План доклада
• Inside the Cloud
• Центры обработки данных
• Гипервизор
• Устройство Fabric Controller
• Разворачивание сервисов и
выделение ресурсов
• Внутри виртуальной машины
Inside the Windows Azure
Azure = Много вопросов Как будет работать мой код ?
На какой операционной системе ?
Будет ли мой код защищен?
Да и вообще как работает
Windows Azure?
Железо Железо Железо
Визуализация Windows Azure
Железо Железо
Архитектура ЦОД
Маршрутизаторы
датацентра
Балансировщики
нагрузки и
агрегационные
роутеры
Стойки с
серверами
Центры обработки данных
Кластерная структура датацентра
• Датацентр разделяется на «кластеры»
• Приблизительно 1000 блейдов на один кластер
• Кластер – единица отказоустойчивости
• Fabric Controller управляет каждым кластером
• Программное обеспечение блейда
• Управление и менеджмент
• Разворачивание сервисов и мониторинг состояния
Кластер 1
FC
Кластер 2
FC
Кластер n
FC
Сеть датацентра
Гипервизор
Windows Azure Hypervisor
• Предназначен для справедливого распределения
ресурсов между несколькими виртуальными машинами.
• Работает в режиме “Root Mode” aka “Ring -1”
Hypervisor
Скорость
Размер Интеграция
3 основных
принципа
Архитектура гипервизора
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-раздел
Драйвера
Устройство Fabric Controller
Fabric Controller
это не Skynet
*вроде бы
Windows Azure Fabric Controller
• «Мозг» облачной операционной системы
• Управляет аппаратным обеспечением датацентра
• Управляет запущенными Windows Azure сервисами
• 4 основные функции
• Распределение ресурсов датацентра
• Поиск и предоставление аппаратного обеспечения
• Управление жизненным циклом сервиса
• Мониторинг сервисов
• Входящие данные
• Описание аппаратного и сетевого обеспечения
• Модель сервиса и само приложение
Windows Azure Fabric Controller
FC ядро
Объектная модель
Uncommited Commited
Первичный FC узел
Диск
FC ядро
Объектная модель
Commited
Вторичный FC узел
Диск
FC ядро
Объектная модель
Commited
Вторичный FC узел
Диск
Репликационная система
FC агент
Клиент Репликация на основе
алгоритма Paxos
Utility Fabric Controller
• 3 основных функции
• Обновление FC
• Управление FC
• Изменение FC
• UFC предоставляет FC описание физических и логических
ресурсов кластера в файле Datacenter.xml
• IP-адреса серверов
• Пул сетевых IP-адресов, присваиваемых сервисам
• Адреса сетевого оборудования и элементов подачи
питания
Внутри кластера
• FC – это распределенное, отказоустойчивое приложение,
запущенное на блейдах разбросанных между fault-доменами
• Как правило верхние блейды резервируются под FC
TOR TOR TOR TOR TOR
AGG LB LB
Блейды
Стойки
Подготовка узла
Блейд
Fabric Controller Windows
Deployment Server
PXE Server
Репозиторий образов
Обслуживающая
ОС
Windows Server
Core Образы ролей
Power
On
Обслуживающая
ОС
Windows Server
Core
Windows Azure Гипервизор
FC Агент Windows Azure OS
Разворачивание сервисов и
выделение ресурсов
Разворачивание сервиса
Датацентр
• Пакет загружается на портал • Портал передает его сервису“Red
Dog Front End” (RDFE)
• RDFE конвертирует пакет в нативный “RD” формат
• RDFE отправляет сервис к Fabric Controller на основании целевого региона
• FC разворачивает и активирует сервис
FC
Шаги разворачивания сервиса
Обработ
ать
модель
• Определить ресурсные требования
• Создать образы ролей
Выделить
ресурсы
• Вычислительные и сетевые ресурсы
Подготов
ить узлы
• Разместить образы на узлах
• Создать виртуальные машины
• Запустить виртуальные машины и роли
Настроить
сеть
• Присвоить динамические IP-адреса блейдам (DIP)
• Выделить виртуальные IP-адреса и замапить их на набор DIPs
• Настроить пакетный фильтр для трафика VM-to-VM
• Запрограммировать балансировщик нагрузки для разрешения трафика
Аллокация ресурсов
• Цель: предоставить сервисным компонентам аппаратные
ресурсы согласно заявленным требованиям
• Аппаратные требования: CPU, Память, Диск, Сеть
• Fault домены
• Вторичная цель: удовлетворить необязательные
требования
• Отдавать предпочтение аллокации, позволяющей
упростить обслуживание HOST раздела/Гипервизора
• По возможности учитывать сетевой аспект и
размещать компоненты как можно ближе друг к другу
Пример аллокации
Роль Б Инстансов: 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
Внутри виртуальной
машины
Размеры виртуальных машин
Размер 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 производительностью (ширина канала и дисковая
подсистема) разделяются между инстансами одного физического хоста
• Под каждый размер виртуальной машины выделяется минимально допустимая
производительность общедоступных ресурсов
Виртуальные диски инстанса
Экземпляр запущенной роли
С:\
Ресурсный диск
D:\
Диск различий
E:\ или F:\
Диск различий
роли
Windows VHD Role VHD
Установленное окружение
• .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 таск Вам в руки
Версия операционной системы
• На данный момент существуют 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
Заключение
• Platform as a Service предназначена для снижения управления и ручного
вмешательства в процесс, тем самым повышая надежность системы
• Гипервизор – это “сердце” Windows Azure, Fabric Controller – «мозг»
• Windows Azure Fabric Controller – это база, на которой стоит вся платформа:
• Распределяет ресурсы датацентра
• Разворачивает сервисы
• Конфигурирует аппаратное обеспечение для сервисов
• Постоянно наблюдает за состоянием аппаратуры и сервисов
Ну и конечно же он продолжает
развиваться и совершенствоваться
Фидбеки и вопросы можно
оставить вот здесь:
http://forums.dev.windows.com