Windows A zure, как универсальный масштабируемый бэкэнд ...

57

description

Windows A zure, как универсальный масштабируемый бэкэнд для мобильных приложений. Стас Павлов Microsoft. облака. Предпосылки появления. Рост нагрузки на частные дата-центры Увеличение количества пользователей Распространение мобильных решений Одновременная совместная работа - PowerPoint PPT Presentation

Transcript of Windows A zure, как универсальный масштабируемый бэкэнд ...

Page 1: Windows  A zure,  как универсальный  масштабируемый  бэкэнд  для мобильных  приложений
Page 2: Windows  A zure,  как универсальный  масштабируемый  бэкэнд  для мобильных  приложений

Windows Azure, как универсальный масштабируемый бэкэнд для мобильных приложений

Стас ПавловMicrosoft

Page 3: Windows  A zure,  как универсальный  масштабируемый  бэкэнд  для мобильных  приложений

облака

Page 4: Windows  A zure,  как универсальный  масштабируемый  бэкэнд  для мобильных  приложений

Предпосылки появления

Рост нагрузки на частные дата-центры Увеличение количества пользователей Распространение мобильных решений Одновременная совместная работа Повышение ожиданий от приложений Непредсказуемые пики нагрузки

Высокие расходы на дата-центы Ресурсы: электричество, охлаждение, сети, персонал Проблемы масштабирования: большие первоначальные инвестиции,

необходимость платить «деньги вперед» за непредсказуемую нагрузку

Page 5: Windows  A zure,  как универсальный  масштабируемый  бэкэнд  для мобильных  приложений

Что могут дать разработчику?

Масштабирование системы по необходимости Высокая доступность и отказоустойчивость Эффективное управление расходами Возможность фокусироваться на создании и обслуживании

продукта, а не на инфраструктуры Быстрая публикация решений любого масштаба

Page 6: Windows  A zure,  как универсальный  масштабируемый  бэкэнд  для мобильных  приложений

Оптимальные нагрузочные сценарии

использование

Вы

чи

сл

. м

ощ

н

Время

Среднее

Период

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

“Пакетная обработка “

Пакетная обработкаЛишняя мощность просто теряется Сложно быстро выйти на рынок

Время

“Пиковая нагрузка“

Среднее использование

Непредвиденный/незапланированный пикПадает производительностьНевозможно «запасти» производительность

Среднее использование

Время

“Быстрый рост“

Успешным сервисам надо расти Поддерживать рост – вызов для ИТ служб Сложное и долгое развертывание

Время

Среднее использование

“Предсказуемый всплеск“

Сезонные сервисыПериодическое увеличение запросовСложность ИТ и «лишняя» мощность

Вы

чи

сл

. м

ощ

н

Вы

чи

сл

. м

ощ

н

Вы

чи

сл

. м

ощ

н

Page 7: Windows  A zure,  как универсальный  масштабируемый  бэкэнд  для мобильных  приложений

Windows Azure

Page 8: Windows  A zure,  как универсальный  масштабируемый  бэкэнд  для мобильных  приложений

Платформа Windows Azure

Windows Azure SQL AzureWindows Azure

AppFabric

Средства разработки Средства управления

Azure Fabric/Fabric Controller

Page 9: Windows  A zure,  как универсальный  масштабируемый  бэкэнд  для мобильных  приложений

Windows Azure Windows Azure Platform – окружение, управляющее облаком и

набор сервисов (.NET, identity, storage). Набор виртуальных машин (web role, worker role)

SQL Azure – распределенная реляционная база данных Table Service – не-реляционное хранилище сущностей (1 Мб, (255 –

3) свойства у каждой сущности) Blob Service – хранилище двоичных данных, может быть

подключено как общий сетевой диск (1 Тб в page blob, 200 Гб в block blob)

Queues – квази-транзакционная очередь (8Кб сообщение)

Page 10: Windows  A zure,  как универсальный  масштабируемый  бэкэнд  для мобильных  приложений

Windows Azure AppFabric Service Bus - связь между распределенными приложениями на

основе сообщений Access Control – управление доступом Distributed Caching – распределенный кэш в памяти

Хранение состояния Кеширование данных Одинаковая модель программирования для приложений,

размещаемых в облаке и частном дата-центре

Page 11: Windows  A zure,  как универсальный  масштабируемый  бэкэнд  для мобильных  приложений

масштабирование

Page 12: Windows  A zure,  как универсальный  масштабируемый  бэкэнд  для мобильных  приложений

Масштабирование

Web TierMobile Client

RequestB/L Tier Databa

seResponse

Page 13: Windows  A zure,  как универсальный  масштабируемый  бэкэнд  для мобильных  приложений

Масштабирование

Web Tier B/L Tier Database

Mobile Client

Mobile Client

Mobile Client

Mobile ClientMobile Client

“Server Busy”

Page 14: Windows  A zure,  как универсальный  масштабируемый  бэкэнд  для мобильных  приложений

Масштабирование

Web Tier B/L Tier Database

Mobile Client

“Timeout”

Mobile Client

Mobile Client

Mobile ClientMobile Client

Page 15: Windows  A zure,  как универсальный  масштабируемый  бэкэнд  для мобильных  приложений

Масштабирование

Web Tier

B/L Tier Database

Mobile Client

Mobile Client

Mobile Client

Mobile ClientMobile Client

Web Tier

Web Tier

N L B

Page 16: Windows  A zure,  как универсальный  масштабируемый  бэкэнд  для мобильных  приложений

Масштабирование

Database

Mobile Client

Mobile Client

Mobile Client

Mobile ClientMobile Client

Web Tier B/L Tier

B/L Tier

B/L Tier

N L B

Page 17: Windows  A zure,  как универсальный  масштабируемый  бэкэнд  для мобильных  приложений

Масштабирование

Database

Mobile Client

Mobile Client

Mobile Client

Mobile ClientMobile Client

B/L Tier

B/L Tier

B/L Tier

N L B

Web Tier

Web Tier

Web Tier

N L B

Page 18: Windows  A zure,  как универсальный  масштабируемый  бэкэнд  для мобильных  приложений

Масштабирование

Mobile Client

Mobile Client

Mobile Client

Mobile ClientMobile Client

B/L Tier

B/L Tier

B/L Tier

N L B

Database

p1 p2 p3

Web Tier

Web Tier

Web Tier

N L B

Page 19: Windows  A zure,  как универсальный  масштабируемый  бэкэнд  для мобильных  приложений

Масштабирование

Mobile Client

Mobile Client

Mobile Client

Mobile ClientMobile Client

B/L Tier

B/L Tier

B/L Tier

N L B

Database

p1 p2 p3

Web Tier

Web Tier

Web Tier

N L B

Дорого и много работы по внедрению

Page 20: Windows  A zure,  как универсальный  масштабируемый  бэкэнд  для мобильных  приложений

Масштабирование

Mobile Client

B/L Tier

B/L Tier

B/L Tier

N L B

Database

p1 p2 p3

Web Tier

Web Tier

Web Tier

N L B

А сейчас не так хорошо …

А теперь всё простаивает …Дорого и много работы по

внедрению

Page 21: Windows  A zure,  как универсальный  масштабируемый  бэкэнд  для мобильных  приложений

Масштабирование

Использование

Январь

Апрель

Июль Октябрь

Пиковая загрузка

Простой

Page 22: Windows  A zure,  как универсальный  масштабируемый  бэкэнд  для мобильных  приложений

Как поможет облако?

Page 23: Windows  A zure,  как универсальный  масштабируемый  бэкэнд  для мобильных  приложений

Масштабирование

Web Tier B/L Tier Database

Mobile Client

Mobile Client

Mobile Client

Mobile ClientMobile Client

“Server Busy”

Page 24: Windows  A zure,  как универсальный  масштабируемый  бэкэнд  для мобильных  приложений

Обновляем конфигурацию …

Page 25: Windows  A zure,  как универсальный  масштабируемый  бэкэнд  для мобильных  приложений

Масштабирование

Web Role

Worker Role

AzureStorag

e

Mobile Client

Mobile Client

Mobile Client

Mobile ClientMobile Client

Web Role

Web Role

N L B

Прозрачно для

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

Page 26: Windows  A zure,  как универсальный  масштабируемый  бэкэнд  для мобильных  приложений

Масштабирование

Web Role

Mobile Client

Mobile Client

Mobile Client

Mobile ClientMobile Client

Web Role

Web Role

N L B

N L B

AzureStorag

e

Worker Role

Worker Role

Worker Role

Page 27: Windows  A zure,  как универсальный  масштабируемый  бэкэнд  для мобильных  приложений

О чём ещё нужно знать?

Page 28: Windows  A zure,  как универсальный  масштабируемый  бэкэнд  для мобильных  приложений

Масштабирование

Web Role

Mobile Client

Mobile Client

Mobile Client

Mobile ClientMobile Client

Web Role

Web Role

N L B

N L B

AzureStorag

e

Worker Role

Worker Role

Worker Role

Тесное связывание рабочей и

веб-ролей – анти-паттерн

Page 29: Windows  A zure,  как универсальный  масштабируемый  бэкэнд  для мобильных  приложений

Масштабирование

Web RoleWorker

Role

Queue

Req

1. Поставить в очередь 3. Взять из очереди

4. Обработать

2. Ответить

Page 30: Windows  A zure,  как универсальный  масштабируемый  бэкэнд  для мобильных  приложений

Масштабирование

Web RoleWorker

Role

Queue

Req

4. Обработка

Table

5. Добавить результатв таблицу

6. Проверить таблицуна наличие данных

Page 31: Windows  A zure,  как универсальный  масштабируемый  бэкэнд  для мобильных  приложений

А сколько веб и рабочих ролей надо?

Page 32: Windows  A zure,  как универсальный  масштабируемый  бэкэнд  для мобильных  приложений

Масштабирование

Web Role

Worker Role

AzureStorag

e

Mobile Client

Mobile Client

Mobile ClientMobile Client

Web Role

Web Role

N L B

Worker Role

Log

WMI_Win32_PerfFormattedData_ASPNET_ASPNETApplications/RequestsPerSecond

Management APIили Email

Mobile Client

Page 33: Windows  A zure,  как универсальный  масштабируемый  бэкэнд  для мобильных  приложений

Масштабирование

Web Role

Queue

Req

Web Role

Web Role

Req

Req

Мониторинг длины очередиWeb Role

Web Role

Web Role

Worker Role

Page 34: Windows  A zure,  как универсальный  масштабируемый  бэкэнд  для мобильных  приложений

Масштабирование

Web Role

Queue

Req

Web Role

Web Role

Req

Req

Мониторинг длины очередиWeb Role

Web Role

Web Role

Worker Role

Worker Role

Worker Role

Worker Role

Worker Role

Worker Role

Page 35: Windows  A zure,  как универсальный  масштабируемый  бэкэнд  для мобильных  приложений

Масштабирование Быстрое масштабирование с использование конфигурации и/или

API Проработка сценариев взаимодействия веб и рабочих ролей Разработка стратегии масштабирования приложения

Page 36: Windows  A zure,  как универсальный  масштабируемый  бэкэнд  для мобильных  приложений

Демо

работа с порталом управления Windows Azure

Page 37: Windows  A zure,  как универсальный  масштабируемый  бэкэнд  для мобильных  приложений

Демо

простое приложение дляWindows Azure

Page 38: Windows  A zure,  как универсальный  масштабируемый  бэкэнд  для мобильных  приложений

Windows AzureDevices Toolkits

Page 39: Windows  A zure,  как универсальный  масштабируемый  бэкэнд  для мобильных  приложений

Windows Azure Toolkits for Devices

для Windows Phone для iOS для Android

Page 40: Windows  A zure,  как универсальный  масштабируемый  бэкэнд  для мобильных  приложений

Windows Azure Toolkit for Windows Phone

Page 41: Windows  A zure,  как универсальный  масштабируемый  бэкэнд  для мобильных  приложений

Сервисы и прокси

Page 42: Windows  A zure,  как универсальный  масштабируемый  бэкэнд  для мобильных  приложений

Доступ к SQL Azure

Page 43: Windows  A zure,  как универсальный  масштабируемый  бэкэнд  для мобильных  приложений

Push Notification

Page 44: Windows  A zure,  как универсальный  масштабируемый  бэкэнд  для мобильных  приложений

Аутентификация c Access Control Services

Page 45: Windows  A zure,  как универсальный  масштабируемый  бэкэнд  для мобильных  приложений

Аутентификация с ASP.NET

Page 46: Windows  A zure,  как универсальный  масштабируемый  бэкэнд  для мобильных  приложений

Windows Azure Toolkit for Android

Page 47: Windows  A zure,  как универсальный  масштабируемый  бэкэнд  для мобильных  приложений

Windows Azure Toolkit for Android

https://github.com/microsoft-dpe/wa-toolkit-android может использовать ту же самую серверную часть,

предоставляющую сервисы и прокси, либо доступ напрямую реализована работа с хранилищем и

аутентификация/авторизация примеры приложений Unit тесты

Page 48: Windows  A zure,  как универсальный  масштабируемый  бэкэнд  для мобильных  приложений

Windows Azure Toolkit for iOS

Page 49: Windows  A zure,  как универсальный  масштабируемый  бэкэнд  для мобильных  приложений

Windows Azure Toolkit for iOS

https://github.com/microsoft-dpe/wa-toolkit-ios может использовать ту же самую серверную часть,

предоставляющую сервисы и прокси, либо доступ напрямую реализована работа с хранилищем и

аутентификация/авторизация примеры приложений

Page 50: Windows  A zure,  как универсальный  масштабируемый  бэкэнд  для мобильных  приложений

расскажите о себе

Page 51: Windows  A zure,  как универсальный  масштабируемый  бэкэнд  для мобильных  приложений

51

Page 52: Windows  A zure,  как универсальный  масштабируемый  бэкэнд  для мобильных  приложений

вечерняя школа

Page 53: Windows  A zure,  как универсальный  масштабируемый  бэкэнд  для мобильных  приложений

Вечерняя школа Windows Phone Когда?

8, 15, 22 декабря – 2 раза в день в онлайне c 10:00 до 11:00 MSK с 17:00 до 18:00 MSK

27 декабря в 19:30 в офлайн в Москве Где?

вебкасты офлайн встреча в Москве

Как попасть? регистрируйтесь http://aka.ms/ruwpschool

Что нужно? ноутбук с установленными средствами разработки Windows Phone SDK 7.1 (и вашей

программой) скачать с сайта http://create.msdn.com

Что будет? короткая презентация с демонстрациями по одной из тем разработки обсуждение ваших технических вопросов, а также идей по созданию приложений и

процедуре публикации телефоны для тестирования приложений (офлайн занятие)

Page 54: Windows  A zure,  как универсальный  масштабируемый  бэкэнд  для мобильных  приложений

ресурсы

Page 55: Windows  A zure,  как универсальный  масштабируемый  бэкэнд  для мобильных  приложений

С чего начать

http://create.msdn.com http://go.microsoft.com/?linkid=9772716

http://msdn.microsoft.com/ru-ru/windowsphone/

http://www.techdays.ru/?Tag=Windows Phone 7 http://windowsteamblog.com/windows_phone/ http://aka.ms/ruwp7dev - презентация и примеры

Page 56: Windows  A zure,  как универсальный  масштабируемый  бэкэнд  для мобильных  приложений

спасибо

Page 57: Windows  A zure,  как универсальный  масштабируемый  бэкэнд  для мобильных  приложений

© 2011 Microsoft Corporation.

All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.

The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation.

MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.