760 likes | 1.06k Views
Решение практических задач разработки корпоративных приложений. с помощью облачного бэкенда Windows Azure Владимир Юнев Microsoft. Agenda. Введение в облачные технологии Облачная платформа Windows Azure С ценарии использования Windows Azure для разработки корпоративных веб-приложений
E N D
Решение практических задач разработки корпоративных приложений с помощью облачного бэкенда Windows Azure Владимир Юнев Microsoft
Agenda • Введение в облачные технологии • Облачная платформа Windows Azure • Сценарии использования Windows Azure для разработки корпоративных веб-приложений • Сценарии построения распределенных проектов и гетерогенных систем на базе сервисов Windows Azure • Использование облачных сервисов для защиты приложений и решения задач HPC и Big Data • Организация разработки и тестирования в облаке Windows Azure • Заключение
Что такое облако? Вычислительные ресурсы и ресурсы хранения по запросу. Подход к построению приложений, когда особенно важны масштабируемость и гибкость к текущим условиям вашего бизнеса
Развитие IT Эволюция через виртуализацию к облакам PaaS SaaS Physical Virtual / Private IaaS
Облачные вычисления • Решение своими силами • Platform • (as a Service) • Software • (as a Service) • Infrastructure • (as a Service) • Лежит на ваших плечах • Лежит на ваших плечах Приложение Applications Applications Приложение Данные Data Data Данные • Лежит на ваших плечах Среда исполнения Runtime Runtime Среда исполнения • Заботится вендор Системное ПО Middleware Middleware Системное ПО • Заботится вендор ОС O/S O/S ОС Виртуализация Виртуализация Виртуализация Виртуализация • Заботится вендор Сервера Сервера Сервера Сервера Хранилище Storage Storage Storage Сеть Networking Networking Networking
кэш идентификация сервисная шина медиа сервисы CDN big data коммерция интеграция аналитика HPC мобильные сервисы вычислительные мощности хранение данных сетевое взаимодействие . . . . . . . . . . . . . . . . . . виртуальные машины веб-сайты облачные сервисы SQL базы данных noSQLбазы данных хранилище BLOB виртуальные сети управление трафиком соединения Глобальная инфраструктура сервера / сети / дата-центры Автоматизированная Управляемые ресурсы Гибкая По использованию 8 центров обработки данных и 24 краевых CDN
Платите только за то, что используете.
99.95% SLA (в месяц) не более 22 минут простоя суммарно в течении всего месяца
ВЕБ-ПРИЛОЖЕНИЯ И КОРПОРАТИВНЫЕ ПОРТАЛЫ С WINDOWS AZURE WEB SITES
WINDOWS AZURE WEBSITES Windows Azure Web Sites – PaaSдля современного веба Мощная самообслуживаемая платформа для разработчиков Гибкое решение хостинга для ИТ Гибкая Масштабируемая Безопасная Размещение приложений на платформах, фреймворкахи языках на ваш выбор Масштабирование вверх или вниз за секунды в балансируемом и всегда актуальном окружении Высокая защита корпоративного уровня с поддержкой SSL и аутентификации Active Directory Windows Azure Web Sites это масштабируемая, безопасная и гибкая платформа для построения мощных веб-приложений для запуска и развития вашего бизнеса и привлечения новых клиентов.
Выбор платформ Windows Azure Web Sites Выбор фреймворков и языков • Python • FastCGI • NET • PHP • Node.js
Выбор платформ Windows Azure Web Sites Выбор средств развертывания исходного кода • GitHubBitBucketCodePlex • DropBox • TFSVisual Studio Online • Gitлокальные или приватные • Mercurial
Балансировка по умолчанию Два или более серверов могут получать и обрабатывать запросыблагодаря балансировке по умолчанию.
Всегда обновлено Работает на Windows Server 2012 Всегда с последними патчами Всегда работает со свежими версиями фреймворков
Легкое масштабирование Масштабирование за секунды по требованиюили автомасштабирование на основе правил
Подписки Windows Azure Интеграция подписи со средой Visual Studio Прозрачный доступ ко всем ресурсам в облаке Публикация проектов в облако в один клик Server Explorer Доступ к веб-сайтам, управление, настройка Стримминг логов в реальном времени Получение логов веб-сайтов в реальном времени, отображение в панели Visual Studio Тесная интеграция с Visual Studio 2013
Отладка приложений запущенных в облаке Локально в Visual Studio 2013 Удаленная отладка в Visual Studio
Visual Studio Online “Monaco” Онлайн-редактор кода, интеграция с Git Интеграция с Windows Azure Web Sites
Доступ к другим сервисам Windows Azure Web sites Cloud services Blob storage Analytics Identity Virtual Machines SQL database noSQL DB Mobile Caching Service bus Media CDN Big data Integration
Windows Azure Cache • Высокая производительность • 1мс – на выборку; 1-2 мс на вставку • Отсутствие квот и троттлинга: всегда максимальная скорость • Отличные компоненты • Динамическое изменение размера: от 128 Мб до 150 Гб • Доступ к кэшу из любого кода, сервиса • Четкое управление и полная изоляция • Высокая доступность • Удобство использования • Windows Azure SDK, простой API • Интеграция с механизмом кеширования ASP.NET • Кэш в существующей роли • Использование части памяти в существующих мощностях
Windows Azure Traffic Manager • Высокая доступность приложений и сервисов • мониторинг размещенных служб и автоматическая отработка отказа при сбое службы • перенаправление траффика в другое размещение • Запуск быстрых приложений • обработка запросов конечных пользователей с помощью службы, ближайшей к ним с точки зрения задержки в сети • Низкая стоимость • от $0.375 за миллион перенаправлений • Интеграция с механизмом кеширования ASP.NET
ОБМЕН СООБЩЕНИЯМИВ РАСПРЕДЕЛЕННЫХ ПРИЛОЖЕНИЯХ
Что такое Service Bus? Сервисная шина “ - подход к построению распределённых корпоративных информационных систем, включающий в себя промежуточное ПО, которое обеспечивает взаимосвязь между различными приложениями” - Wikipedia
Шина сообщений Windows Azure Service Bus Корпоративное приложение Мобильные клиенты Бэкенд Аналитика Queues Topics Relays Notifications Bridges* Интранет порталы Агрегатор событий Портал управления … * coming soon
Функциональные части Windows Azure Service Bus • Service Bus Relays • доступ к сервисам и данным предприятия находящимся за NAT и Firewall • Service Bus Queues • клиенты с переменным доступом к сети • выравнивание и балансировка нагрузки • Service Bus Topics and Subscriptions • подписка множества клиентов на рассылку сообщений
Публикация-подписка R Сценарий Отправитель рассылает сообщение всем заинтересованным получателям Общие сценарии применения Уведомления о событии Sub S R Sub Topic Sub R
Создание Service Bus Topics & Subscriptions NamespaceManagernamespaceManager = NamespaceManager.Create() namespaceManager.CreateTopic(“topicName"); namespaceManager.CreateSubscription(“topicName", “FirstSubscription"); namespaceManager.CreateSubscription(“topicName", “SecondSubscription"); namespaceManager.CreateSubscription(“topicName", “ThirdSubscription");
Маршрутизатор на базе контента R Сценарий Направление сообщения к разным получателям на базе данных сообщения Общие сценарии применения Системы обработки заказов Sub S R Sub Topic Sub R
Создание Service Bus Subscriptions с правилами (фильтры) TopicDescriptionmainTopic = namespaceManager.CreateTopic(“topicName"); namespaceManager.CreateSubscription(“topicName", “AuditSubscription"); namespaceManager.CreateSubscription(“topicName", “Category1Subscription", newSqlFilter(“Category = 1")); namespaceManager.CreateSubscription(“topicName", “CategoryNot1Subscription", newSqlFilter(“Category <> 1")); BrokeredMessagemyMessage = newBrokeredMessage(); myMessage.Properties.Add(“Category”, 1); or myMessage.Properties.Add(“Category”, 2); or myMessage.Properties.Add(“Category”, 3);
Список получателей R Сценарий Отправитель желает отправить сообщение списку получателей Общие сценарии применения Система обработки заказов – маршрут к определенному вендору/департаментам Sub S R Sub Topic Sub R
Создание правил (с SQL-фильтрами) TopicDescriptionmainTopic = namespaceManager.CreateTopic(“topicName"); namespaceManager.CreateSubscription(“topicName", “AuditSubscription"); namespaceManager.CreateSubscription(“topicName", "FirstSubscription", newSqlFilter("Address LIKE '%First%'")); namespaceManager.CreateSubscription(“topicName", “SecondSubscription", newSqlFilter("Address LIKE '%Second%'")); BrokeredMessagemyMessage = newBrokeredMessage(); myMessage.Properties.Add(“Address”, “First”); or myMessage.Properties.Add(“Address”, “Second”); or myMessage.Properties.Add(“Address”, “First,Second”);
SaaS-сервисдинамического выделения мощностей Продукт Специализированный сервис, провайдер вычислительных мощностей Описание решения Пользователь отправляет задачи через клиентское приложение Задачи обрабатываются в HPC-стилена Windows Azure Пользователи могут следить за прогрессом, получать уведомления Применение Windows Azure Service Bus Service Bus Queue для отправления задач Service Bus Relay для запросов и ответов, коммуникации с низкими задержками между контроллерами и обработчиками для размещения задач Service Bus Topic для агрегации событий и мониторинга
Схема сервиса динамического выделения мощностей Windows Azure Сервис контроллера Сервис обработчика Экз. обработчика 1 Экз. обработчика 2 Экз. обработчика N Экз. контроллера 2 Экз. контроллера 1 4 3 Реле 5 Данные длязадачи (Blob) События мониторинга(Topics) Очередь задач 2 1
Предоставление доступа к сервису за NAT Windows Azure sb://pnpsummit2012.servicebus.windows.net/CrmPublicService Service BusRelay Firewall, NAT Сервисы за NAT Сервисы клиента Внутренний сервис Сервис 1 Релейный сервис Сервис 2 Сервис 3
ЗАЩИТАКОРПОРАТИВНЫХ ПРИЛОЖЕНИЙ С ПОМОЩЬЮ WINDOWS AZURE ACTIVE DIRECTORY
Windows Azure Active Directory (WAAD) Облачный каталог пользователей и универсальная система аутентификации и управления доступом пользователей. Бесплатно. Информация о Windows Azure Active Directory http://www.windowsazure.com/en-us/manage/services/identity/
Интеграция предприятия с облачным Active Directory Синхронизация каталогов- синхронизация локальных объектов каталогов с облаком Единый вход (Single Sign On)- обеспечение единой проверки подлинности при входе в облачные службы пользователей корпоративной сети
Федеративный доступ на примере Office 365
Работа с WAAD на портале Windows Azure Добавление пользователейи групп Интеграция с приложениями Заведение доменов Интеграция каталогов
Новые возможности управленияWindows Azure Active Directory Active Directory Sync Agent(DirSync)для Windows Server 2003 и вышес синхронизацией паролей (хэшей) Управление существующими каталогами (например, Office 365)с помощью учетной записи Windows Azure Active Directory
Мультифакторная аутентификация Позволяет добавить дополнительные условия аутентификациипользователей: через телефонный звонок, через SMS, через ввод кода из приложения и другие. Статья на Wikipediahttp://en.wikipedia.org/wiki/Multi-factor_authentication
Windows Azure Active Authentication Включение мультифакторной аутентификации для сервисов использующих облачный сервис Windows Azure Active Directory. Поддерживаются: телефонные звонки, SMS, мобильные приложения, одноразовые секретные коды. Поддержка сервисов с Windows Azure Active Directory: Office 365, Dynamics CRM Online и других. Windows Azure Active Directoryhttps://www.windowsazure.com/ru-ru/services/identity/