1 / 57

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

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

Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. облака

  3. Предпосылки появления • Рост нагрузки на частные дата-центры • Увеличение количества пользователей • Распространение мобильных решений • Одновременная совместная работа • Повышение ожиданий от приложений • Непредсказуемые пики нагрузки • Высокие расходы на дата-центы • Ресурсы: электричество, охлаждение, сети, персонал • Проблемы масштабирования: большие первоначальные инвестиции, необходимость платить «деньги вперед» за непредсказуемую нагрузку

  4. Что могут дать разработчику? • Масштабирование системы по необходимости • Высокая доступность и отказоустойчивость • Эффективное управление расходами • Возможность фокусироваться на создании и обслуживании продукта, а не на инфраструктуры • Быстрая публикация решений любого масштаба

  5. Оптимальные нагрузочные сценарии “Пакетная обработка “ “Быстрый рост“ Вычисл. мощн Период неактивности Вычисл. мощн использование Среднее использование Среднее Время Время • Пакетная обработка • Лишняя мощность просто теряется • Сложно быстро выйти на рынок • Успешным сервисам надо расти • Поддерживать рост – вызов для ИТ служб • Сложное и долгое развертывание Вычисл. мощн Вычисл. мощн “Пиковая нагрузка“ “Предсказуемый всплеск“ Среднее использование Среднее использование Время Время • Сезонные сервисы • Периодическое увеличение запросов • Сложность ИТ и «лишняя» мощность • Непредвиденный/незапланированныйпик • Падает производительность • Невозможно «запасти» производительность

  6. Windows Azure

  7. Платформа Windows Azure Средства разработки Средства управления Windows Azure SQL Azure Windows Azure AppFabric Azure Fabric/Fabric Controller

  8. 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Кб сообщение)

  9. Windows Azure AppFabric • Service Bus - связь между распределенными приложениями на основе сообщений • Access Control – управление доступом • Distributed Caching – распределенный кэш в памяти • Хранение состояния • Кеширование данных • Одинаковая модель программирования для приложений, размещаемых в облаке и частном дата-центре

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

  11. Масштабирование Database • Request Web Tier B/L Tier Mobile Client • Response

  12. Масштабирование Mobile Client Mobile Client Database Web Tier B/L Tier Mobile Client Mobile Client Mobile Client • “Server Busy”

  13. Масштабирование Mobile Client Mobile Client Database Web Tier B/L Tier Mobile Client • “Timeout” Mobile Client Mobile Client

  14. Масштабирование Mobile Client Web Tier N L B Mobile Client Database Web Tier B/L Tier Mobile Client Mobile Client Web Tier Mobile Client

  15. Масштабирование Mobile Client B/L Tier N L B Mobile Client Database Web Tier Mobile Client B/L Tier Mobile Client B/L Tier Mobile Client

  16. Масштабирование Mobile Client Web Tier N L B B/L Tier N L B Mobile Client Database Web Tier Mobile Client B/L Tier Mobile Client Web Tier B/L Tier Mobile Client

  17. Масштабирование Mobile Client • p1 p2 p3 Web Tier N L B B/L Tier N L B Mobile Client Database Web Tier Mobile Client B/L Tier Mobile Client Web Tier B/L Tier Mobile Client

  18. Масштабирование Mobile Client • p1 p2 p3 Web Tier N L B B/L Tier N L B Mobile Client Database Web Tier Mobile Client B/L Tier Mobile Client Web Tier B/L Tier Mobile Client • Дорого и много работы по внедрению

  19. Масштабирование • p1 p2 p3 • А сейчас не так хорошо … Web Tier N L B B/L Tier N L B Database Web Tier Mobile Client B/L Tier Web Tier B/L Tier • Дорого и много работы по внедрению • А теперь всё простаивает …

  20. Масштабирование • Пиковая загрузка • Простой • Использование • Январь • Апрель • Июль • Октябрь

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

  22. Масштабирование Mobile Client Mobile Client Database Web Tier B/L Tier Mobile Client Mobile Client Mobile Client • “Server Busy”

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

  24. Масштабирование Mobile Client Web Role N L B Mobile Client AzureStorage Web Role Worker Role Mobile Client Mobile Client Web Role Mobile Client • Прозрачно для разработчика

  25. Масштабирование Mobile Client Web Role N L B Worker Role N L B Mobile Client AzureStorage Web Role Mobile Client Worker Role Mobile Client Web Role Worker Role Mobile Client

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

  27. Масштабирование Mobile Client Web Role N L B Worker Role N L B Mobile Client AzureStorage Web Role Mobile Client Worker Role Mobile Client Web Role Worker Role Mobile Client • Тесное связывание рабочей и веб-ролей – анти-паттерн

  28. Масштабирование 4. Обработать Web Role Worker Role 2. Ответить Req 1. Поставить в очередь 3. Взять из очереди Queue

  29. Масштабирование 4. Обработка Web Role Worker Role 5. Добавить результатв таблицу Req Queue 6. Проверить таблицуна наличие данных Table

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

  31. Масштабирование WMI_Win32_PerfFormattedData_ASPNET_ASPNETApplications /RequestsPerSecond Mobile Client Web Role N L B Mobile Client AzureStorage Web Role Worker Role Mobile Client Mobile Client Web Role Mobile Client Log Management API или Email Worker Role

  32. Масштабирование Web Role Web Role Web Role Worker Role Req Req Req Queue Web Role Web Role • Мониторинг длины очереди Web Role

  33. Масштабирование Web Role Worker Role Web Role Worker Role Web Role Worker Role Req Req Req Queue Web Role Web Role • Мониторинг длины очереди Web Role Worker Role Worker Role Worker Role

  34. Масштабирование • Быстрое масштабирование с использование конфигурации и/или API • Проработка сценариев взаимодействия веб и рабочих ролей • Разработка стратегии масштабирования приложения

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

  36. Демопростое приложение дляWindows Azure

  37. Windows AzureDevices Toolkits

  38. Windows Azure Toolkits for Devices • для Windows Phone • для iOS • для Android

  39. Windows AzureToolkit for Windows Phone

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

  41. Доступ к SQL Azure

  42. Push Notification

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

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

  45. Windows AzureToolkit for Android

  46. Windows Azure Toolkit for Android • https://github.com/microsoft-dpe/wa-toolkit-android • может использовать ту же самую серверную часть, предоставляющую сервисы и прокси, либо доступ напрямую • реализована работа с хранилищем и аутентификация/авторизация • примеры приложений • Unit тесты

  47. Windows AzureToolkit for iOS

  48. Windows Azure Toolkit for iOS • https://github.com/microsoft-dpe/wa-toolkit-ios • может использовать ту же самую серверную часть, предоставляющую сервисы и прокси, либо доступ напрямую • реализована работа с хранилищем и аутентификация/авторизация • примеры приложений

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

More Related