Windows Azure Internals

32
Windows Azure Internals Фещенко Александр [email protected] http://feschenkoalex.blogspot.com Twitter: FeschenkoAlex

description

Presentation about Windows Azure Internals. The next topics covered:1) Azure Datacenters2) Windows Azure Hypervisor3) Windows Azure Fabric Controller4) Service deployment steps5) Windows Azure virtual machine structure

Transcript of Windows Azure Internals

Page 1: Windows Azure Internals

Windows Azure Internals

Фещенко Александр

[email protected]

http://feschenkoalex.blogspot.com

Twitter: FeschenkoAlex

Page 2: Windows Azure Internals

План доклада

• Inside the Cloud

• Центры обработки данных

• Гипервизор

• Устройство Fabric Controller

• Разворачивание сервисов и

выделение ресурсов

• Внутри виртуальной машины

Page 3: Windows Azure Internals

Inside the Windows Azure

Page 4: Windows Azure Internals

Azure = Много вопросов Как будет работать мой код ?

На какой операционной системе ?

Будет ли мой код защищен?

Да и вообще как работает

Windows Azure?

Page 5: Windows Azure Internals

Железо Железо Железо

Визуализация Windows Azure

Железо Железо

Page 6: Windows Azure Internals

Архитектура ЦОД

Page 7: Windows Azure Internals

Маршрутизаторы

датацентра

Балансировщики

нагрузки и

агрегационные

роутеры

Стойки с

серверами

Page 8: Windows Azure Internals

Центры обработки данных

Page 9: Windows Azure Internals

Кластерная структура датацентра

• Датацентр разделяется на «кластеры»

• Приблизительно 1000 блейдов на один кластер

• Кластер – единица отказоустойчивости

• Fabric Controller управляет каждым кластером

• Программное обеспечение блейда

• Управление и менеджмент

• Разворачивание сервисов и мониторинг состояния

Кластер 1

FC

Кластер 2

FC

Кластер n

FC

Сеть датацентра

Page 10: Windows Azure Internals

Гипервизор

Page 11: Windows Azure Internals

Windows Azure Hypervisor

• Предназначен для справедливого распределения

ресурсов между несколькими виртуальными машинами.

• Работает в режиме “Root Mode” aka “Ring -1”

Hypervisor

Скорость

Размер Интеграция

3 основных

принципа

Page 12: Windows Azure Internals

Архитектура гипервизора

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

Устройство Fabric Controller

Page 14: Windows Azure Internals

Fabric Controller

это не Skynet

*вроде бы

Page 15: Windows Azure Internals

Windows Azure Fabric Controller

• «Мозг» облачной операционной системы

• Управляет аппаратным обеспечением датацентра

• Управляет запущенными Windows Azure сервисами

• 4 основные функции

• Распределение ресурсов датацентра

• Поиск и предоставление аппаратного обеспечения

• Управление жизненным циклом сервиса

• Мониторинг сервисов

• Входящие данные

• Описание аппаратного и сетевого обеспечения

• Модель сервиса и само приложение

Page 16: Windows Azure Internals

Windows Azure Fabric Controller

FC ядро

Объектная модель

Uncommited Commited

Первичный FC узел

Диск

FC ядро

Объектная модель

Commited

Вторичный FC узел

Диск

FC ядро

Объектная модель

Commited

Вторичный FC узел

Диск

Репликационная система

FC агент

Клиент Репликация на основе

алгоритма Paxos

Page 17: Windows Azure Internals

Utility Fabric Controller

• 3 основных функции

• Обновление FC

• Управление FC

• Изменение FC

• UFC предоставляет FC описание физических и логических

ресурсов кластера в файле Datacenter.xml

• IP-адреса серверов

• Пул сетевых IP-адресов, присваиваемых сервисам

• Адреса сетевого оборудования и элементов подачи

питания

Page 18: Windows Azure Internals

Внутри кластера

• FC – это распределенное, отказоустойчивое приложение,

запущенное на блейдах разбросанных между fault-доменами

• Как правило верхние блейды резервируются под FC

TOR TOR TOR TOR TOR

AGG LB LB

Блейды

Стойки

Page 19: Windows Azure Internals

Подготовка узла

Блейд

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

Разворачивание сервисов и

выделение ресурсов

Page 21: Windows Azure Internals

Разворачивание сервиса

Датацентр

• Пакет загружается на портал • Портал передает его сервису“Red

Dog Front End” (RDFE)

• RDFE конвертирует пакет в нативный “RD” формат

• RDFE отправляет сервис к Fabric Controller на основании целевого региона

• FC разворачивает и активирует сервис

FC

Page 22: Windows Azure Internals

Шаги разворачивания сервиса

Обработ

ать

модель

• Определить ресурсные требования

• Создать образы ролей

Выделить

ресурсы

• Вычислительные и сетевые ресурсы

Подготов

ить узлы

• Разместить образы на узлах

• Создать виртуальные машины

• Запустить виртуальные машины и роли

Настроить

сеть

• Присвоить динамические IP-адреса блейдам (DIP)

• Выделить виртуальные IP-адреса и замапить их на набор DIPs

• Настроить пакетный фильтр для трафика VM-to-VM

• Запрограммировать балансировщик нагрузки для разрешения трафика

Page 23: Windows Azure Internals

Аллокация ресурсов

• Цель: предоставить сервисным компонентам аппаратные

ресурсы согласно заявленным требованиям

• Аппаратные требования: CPU, Память, Диск, Сеть

• Fault домены

• Вторичная цель: удовлетворить необязательные

требования

• Отдавать предпочтение аллокации, позволяющей

упростить обслуживание HOST раздела/Гипервизора

• По возможности учитывать сетевой аспект и

размещать компоненты как можно ближе друг к другу

Page 24: Windows Azure Internals

Пример аллокации

Роль Б Инстансов: 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

Внутри виртуальной

машины

Page 26: Windows Azure Internals

Размеры виртуальных машин

Размер 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

Виртуальные диски инстанса

Экземпляр запущенной роли

С:\

Ресурсный диск

D:\

Диск различий

E:\ или F:\

Диск различий

роли

Windows VHD Role VHD

Page 28: Windows Azure Internals

Установленное окружение

• .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

Версия операционной системы

• На данный момент существуют 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

Заключение

• Platform as a Service предназначена для снижения управления и ручного

вмешательства в процесс, тем самым повышая надежность системы

• Гипервизор – это “сердце” Windows Azure, Fabric Controller – «мозг»

• Windows Azure Fabric Controller – это база, на которой стоит вся платформа:

• Распределяет ресурсы датацентра

• Разворачивает сервисы

• Конфигурирует аппаратное обеспечение для сервисов

• Постоянно наблюдает за состоянием аппаратуры и сервисов

Page 31: Windows Azure Internals

Ну и конечно же он продолжает

развиваться и совершенствоваться

Фидбеки и вопросы можно

оставить вот здесь:

http://forums.dev.windows.com

Page 32: Windows Azure Internals

[email protected]

http://feschenkoalex.blogspot.com

@FeschenkoAlex

Спасибо за внимание !