Алексей Боков Эксперт по технологиям Windows Azure

Post on 07-Feb-2016

57 views 0 download

Tags:

description

Технологические преимущества Windows Azure. Алексей Боков Эксперт по технологиям Windows Azure. Содержание :. Инфраструктура Windows Azure Облачные сервисы – эффективность vs контроль Архитектура приложений в Windows Azure Надежность и отказоустойчивость - PowerPoint PPT Presentation

Transcript of Алексей Боков Эксперт по технологиям Windows Azure

Алексей БоковЭксперт по технологиям Windows Azure

Технологические преимущества Windows Azure

Вопросы в twitter: хэштег #azurecamp

Содержание:

• Инфраструктура Windows Azure

• Облачные сервисы – эффективность vs контроль

• Архитектура приложений в Windows Azure

• Надежность и отказоустойчивость

• Принципы работы сервисов в Azure

• Технологические преимущества

Инфраструктура Windows Azure

24 узла в CDN

6 датацентров

Датацентры Windows Azure

Облачные сервисы: эффективность vs контроль

= предоставляетсяОблачным сервисом

Своисервер

ы

IaaS PaaS SaaS

Приложение

Системные библиотеки

База Данных

Операционная система

Управление виртуализацией

Сервер ( железо )

Файловое хранилище

Сеть

Windows Azure

ЭффективностьКонтроль

Базовая парадигма сервисов в Windows Azure : надежность и масштабируемость• Масштабирование по нагрузке

• Масштабирования по объему данных

• Асинхронное взаимодействие компонент

• Параллельная обработка запросов

• Хранение данных приложений в облачных

хранилищах

• Взаимодействие компонент-cервисов через REST

Архитектура приложения Windows Azure

Front-EndFront-

End

HTTP/HTTPSWindows

AzureStorage,

SQL Azure

AzureLoad

Balancer

Back-end

worker

Типичное облачное приложение состоит из нескольких

компонент :

• Front-end – веб-портал находящий за балансировщиком

нагрузки

• Back-end worker – реализация логики приложения :

обработка пользовательских данных, например

транскодирование видео

• Хранилище данных – в базе данных ( реляционная, NoSQL )

или файлы

• Все компоненты системы существуют в нескольких

экземплярах для увеличения надежности систему и

поддержки высокой доступности сервиса для пользователей

Модель облачных сервисов Windows Azure

• Запущенный в Windows Azure сервис состоит из:

• Определения сервиса ( в т.ч. код приложения )

• Конфигурации сервиса

• Как минимум одной запущенной роли

• Роль в Windows Azure это фактически код

приложения имеющий входную точку и запущенный

в своей виртуальной среде

• Высокий SLA для запущенных сервисов достигается:

• Если запущено не менее 2 инстансов каждого

типа – SLA 99.95% на доступность при обращении

• Использованием технологии fault domains и

update domains

Update domains как средство повышения доступности

• Цель – высокий уровень доступности

приложения при обновлениях сервиса и

системных апдейтах Windows Azure OS

• Windows Azure использует информацию о

доменах при обновлении сервиса:

• При обновлениях недоступно не более 1/кол-

во update domains

• SLA Windows Azure предполагает наличии не

менее 2 update domain и не менее 2 инстансов

каждой роли в каждом домене

Fault domains повышают отказоустойчивость

• Цель – избавиться от single point of

failure:

• Концепция как у update domains

• Но Вы не контролируете

обновления

• Ресурсы в Failure domains

объединяются в соответствии с

топологией датацентра

• Windows Azure использует информацию

о fault domians при размещении ролей

сервиса

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

минимум на 2 fault domain

• Windows Azure максимально

распределяет сервисы по fault

domains

Front-End-1

Fault Domain 1

Fault Domain

2

Front-End-2

Middle Tier-2

Middle Tier-1

Сервисы и роли в Windows Azure

• Определение роли :

• Имя роли и ее тип ( web, worker, vm )

• Типа виртуальной машины ( от small до extra large )

• Входные точки в сервис

• Код сервиса:

• Приложение ( web/worker роль )

• Образ VHD ( vm роль )

• Конфигурация :

• Количество запущенных инстансов

• Количество update domains и failure domains

Типы ролей в Windows Azure

• Web роль – IIS7 и ASP.NET приложения

запущенные в Windows Azure OS

• Worker роль – приложение выполняемое в

Windows Azure OS

• VM роль – приложение выполняемое в среде с

образа

VHD ( образ созданный при помощи HyperV )

• Все роли – stateless

• VM роль рекомендуется для:

• Сервисов которые требуют долгой или

ручной инсталляции и конфигурации

Как работает загрузка и запуск сервиса

• Определение сервиса – ServiceDefinition.csdef

• Конфигурация сервиса – ServiceConfiguration.cscfg

• service package file – zip архив с кодом приложения,

скриптами настройки и файлом определения сервиса

• Загрузка сервиса в Windows Azure :

• Через веб-портал service package file загружается

в Windows Azure ( в Red-Dog Front End – RDFE )

• RDFE выполняет преобразования service package

file и загружает его в Fabric Controller нужного

региона

• Fabric Controller сохраняет образ сервиса в

репозитории, загружает сервис в виртуальную

машину и начинает выполнение сервиса

Технологии Windows Azure – хранение данных

Table Storage: sпростые структурированые данные, доступ через REST API

QUEUES: предназначены для последовательной обработки данных или событий

Блобы: большие, неструктурированныеданные ( видно, аудио и тп ). Для доставки контента конечному пользователю можно использовать CDN

Azure Drive: облачное файловое хранилище ( на базе блобов ), доступно через NTFS API

Реляционная облачная база данных SQL Azure

• Реляционная SQL база данных – как сервис

• 95% баз данных MS SQL могут быть перенесы в SQL

Azure без значительных изменений

• Ограничения по размеру на одну федерацию

( партицию ) – 150 Гб

• Есть ограничения по функционалу – нет Analysis

Services, Reporting, SQL Agent, CLR

• Высокая отказоустойчивость – каждая база имеет 2

полные реплики которые синхронизуются с основной

бд в реальном времени

Сервисы в Windows Azure

Fabric

Compute Storage

Application

Fabric Controller

Web роль

Agent

Worker роль

Agent

Batch Job, Java, Tomcat, Apache, etc.

Load Balanc

er

HTTPIIS

ASP.NET, WCF, PHP,

etc.

VM роль

Agent

VHD based

Что еще - Service Bus и Access Control

Преимущества Windows Azure

• Поддержка широко распространённых технологий,

в том числе open-source

• Высокий SLA на предоставляемые сервисы

• Облачная реляционная БД SQL Azure

• Один из самых больших CDN

• Быстрая реакция на потребности в технологиях и

регулярное появление новых возможностей

Windows Azure

• Большое количество обучающих материалов и

тренингов

• Активное взаимодействие с сообществом

разработчиков

• Технологические консультации экспертов Microsoft

Что есть полезного для разработчиков

• Отличная интеграция и поддержка

инструментария Microsoft – Visual Studio

• Поддержка open-source – популярные средства

разработки

( Eclipse ), фреймворки ( drupal, joomla),

приложения ( wordpress ), технологии ( map/reduce

– hadoop ) и т.д.

• Множество open-source инструментов для

разработки – android toolkit, ios toolkit и тд.

• Поддержка – php, java, ruby ( всё что может быть

запущено на Windows )

• Локальный эмулятор сервисов Windows Azure –

DevFabric –для разработки и отладки сервисов

Azure на лэптопе

Боков Алексейemail: abokov@microsoft.com

Спасибо за внимание ;-)