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

20
Алексей Боков Эксперт по технологиям Windows Azure Технологические преимущества Windows Azure

Upload: dard

Post on 07-Feb-2016

70 views

Category:

Documents


0 download

DESCRIPTION

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

TRANSCRIPT

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

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

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

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

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

Содержание:

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

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

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

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

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

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

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

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

24 узла в CDN

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

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

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

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

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

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

Своисервер

ы

IaaS PaaS SaaS

Приложение

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

База Данных

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

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

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

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

Сеть

Windows Azure

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

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

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

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

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

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

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

хранилищах

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

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

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

Front-EndFront-

End

HTTP/HTTPSWindows

AzureStorage,

SQL Azure

AzureLoad

Balancer

Back-end

worker

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

компонент :

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

нагрузки

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

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

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

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

или файлы

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

update domains

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

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

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

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

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

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

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

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

во update domains

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Windows Azure OS

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

образа

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

• Все роли – stateless

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

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

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

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

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

• Определение сервиса – 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 сохраняет образ сервиса в

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Services, Reporting, SQL Agent, CLR

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

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

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

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

Сервисы в 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

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

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

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

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

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

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

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

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

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

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

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

Windows Azure

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

тренингов

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

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

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

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

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

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

инструментария 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 на лэптопе

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

Боков Алексейemail: [email protected]

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