Решение практических задач разработки корпоративных ...
DESCRIPTION
Решение практических задач разработки корпоративных приложений. с помощью облачного бэкенда Windows Azure Владимир Юнев Microsoft. Agenda. Введение в облачные технологии Облачная платформа Windows Azure С ценарии использования Windows Azure для разработки корпоративных веб-приложений - PowerPoint PPT PresentationTRANSCRIPT
с помощью облачного бэкенда Windows Azure
Владимир ЮневMicrosoft
Решение практических задач разработки корпоративных приложений
Agenda• Введение в облачные технологии• Облачная платформа Windows Azure• Сценарии использования Windows Azure
для разработки корпоративных веб-приложений• Сценарии построения распределенных проектов
и гетерогенных систем на базе сервисов Windows Azure• Использование облачных сервисов для защиты приложений
и решения задач HPC и Big Data• Организация разработки и тестирования в облаке Windows Azure• Заключение
ВВЕДЕНИЕ В ОБЛАЧНЫЕ ТЕХНОЛОГИИ
Что такое облако?
Вычислительные ресурсы и ресурсы хранения по запросу.
Подход к построению приложений, когда особенно важны масштабируемость и гибкость к текущим условиям вашего бизнеса
PaaS SaaS
Развитие ITЭволюция через виртуализацию к облакам
Physical Virtual / Private IaaS
Облачные вычисленияРешение своими силами
Хранилище
Сервера
Сеть
ОС
Системное ПО
Виртуализация
Данные
Приложение
Среда исполнения
Леж
ит н
а ва
ших
пле
чах
Infrastructure(as a Service)
Storage
Сервера
Networking
ОС
Системное ПО
Виртуализация
Данные
Приложение
Среда исполнения
Заботится вендор
Леж
ит н
а ва
ших
пле
чах
Platform(as a Service)
Заботится вендор
Леж
ит н
а ва
ших
пле
чах
Storage
Сервера
Networking
O/S
Middleware
Виртуализация
Applications
Runtime
Data
Software(as a Service)
Заботится вендор
Storage
Сервера
Networking
O/S
Middleware
Виртуализация
Applications
Runtime
Data
ОБЛАЧНАЯ ПЛАТФОРМА WINDOWS AZURE
Глобальная инфраструктурасервера / сети / дата-центры
8 центров обработки данных и 24 краевых CDN
АвтоматизированнаяУправляемые ресурсы
ГибкаяПо использованию
кэшидентифика
циясервисная
шинамедиа
сервисы CDN big data коммерция интеграция аналитика HPCмобильные
сервисы
виртуальные
машинывеб-
сайтыоблачные сервисы
SQL базы данных
noSQL базы данных
хранилище BLOB
соединения виртуальные сети
управление трафиком
... ... ... ... ... ...вычислительные мощности хранение данных сетевое взаимодействие
Платите только за то,
что используете.
Поминутная тарификация.
99.95% SLA (в месяц)не более 22 минут простоя суммарно в течении всего месяца
ВЕБ-ПРИЛОЖЕНИЯ И КОРПОРАТИВНЫЕ ПОРТАЛЫ С WINDOWS AZURE WEB SITES
Windows Azure Web Sites – PaaS для современного веба
Мощная самообслуживаемая платформа для разработчиков
Гибкое решение хостинга для ИТГибкаяРазмещение приложений на платформах, фреймворках и языках на ваш выбор
МасштабируемаяМасштабирование вверх или вниз за секунды в балансируемом и всегда актуальном окружении
Высокая защита корпоративного уровня с поддержкой SSL и аутентификации Active Directory
Безопасная
WINDOWS AZURE WEBSITES
Windows Azure Web Sites это масштабируемая, безопасная и гибкая платформа для построения мощных веб-приложений для запуска и развития вашего бизнеса и привлечения новых клиентов.
Выбор платформ Windows Azure Web Sites
Node.jsPHP NET
Python
FastCGI
Выбор фреймворков и языков
Выбор платформ Windows Azure Web Sites
Mercurial
Gitлокальные или приватные
TFSVisual Studio Online
GitHubBitBucketCodePlex
DropBox
Выбор средств развертывания исходного кода
Выбор готовых приложений (>30)
Балансировка по умолчаниюДва или более серверов могут получать и обрабатывать запросы благодаря балансировке по умолчанию.
Всегда обновлено• Работает на 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
Caching Media Big dataCDN
Analytics
Mobile
Integration
Service bus
Web sitesSQL database noSQL DB
Blob storage
Cloud services
Virtual Machines
Identity
Windows Azure Cache• Высокая
производительность• 1мс – на выборку; 1-2 мс на вставку• Отсутствие квот и троттлинга:
всегда максимальная скорость• Отличные компоненты
• Динамическое изменение размера: от 128 Мб до 150 Гб
• Доступ к кэшу из любого кода, сервиса• Четкое управление и полная изоляция• Высокая доступность
• Удобство использования• Windows Azure SDK, простой API• Интеграция с механизмом кеширования ASP.NET
• Кэш в существующей роли• Использование части памяти в существующих
мощностях
Работа с Windows Azure Cache
Windows Azure Traffic Manager• Высокая доступность
приложений и сервисов• мониторинг размещенных служб
и автоматическая отработка отказа при сбое службы
• перенаправление траффика в другое размещение
• Запуск быстрых приложений• обработка запросов конечных
пользователей с помощью службы, ближайшей к ним с точки зрения задержки в сети
• Низкая стоимость• от $0.375 за миллион перенаправлений• Интеграция с механизмом кеширования
ASP.NET
Работа с Windows Azure Traffic Manager
ОБМЕН СООБЩЕНИЯМИВ РАСПРЕДЕЛЕННЫХ ПРИЛОЖЕНИЯХ
Сервисная шина
“ - подход к построению распределённых корпоративных информационных систем, включающий в себя промежуточное ПО, которое обеспечивает взаимосвязь между различными приложениями”
Что такое 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подписка множества клиентов на рассылку сообщений
Публикация-подписка
СценарийОтправитель рассылает сообщение всем заинтересованным получателям
Общие сценарии примененияУведомления о событии
S RTopic SubSub
Sub
R
R
Создание Service Bus Topics & Subscriptions
NamespaceManager namespaceManager = NamespaceManager.Create()
namespaceManager.CreateTopic(“topicName"); namespaceManager.CreateSubscription(“topicName", “FirstSubscription"); namespaceManager.CreateSubscription(“topicName", “SecondSubscription"); namespaceManager.CreateSubscription(“topicName", “ThirdSubscription");
Маршрутизатор на базе контента
СценарийНаправление сообщения к разным получателям на базе данных сообщения
Общие сценарии примененияСистемы обработки заказов
S RTopic SubSub
Sub
R
R
Создание Service Bus Subscriptions с правилами (фильтры)
TopicDescription mainTopic = namespaceManager.CreateTopic(“topicName");
namespaceManager.CreateSubscription(“topicName", “AuditSubscription"); namespaceManager.CreateSubscription(“topicName", “Category1Subscription",
new SqlFilter(“Category = 1")); namespaceManager.CreateSubscription(“topicName", “CategoryNot1Subscription",
new SqlFilter(“Category <> 1"));
BrokeredMessage myMessage = new BrokeredMessage(); myMessage.Properties.Add(“Category”, 1);
or myMessage.Properties.Add(“Category”, 2);
or myMessage.Properties.Add(“Category”, 3);
Список получателей
СценарийОтправитель желает отправить сообщение списку получателей
Общие сценарии примененияСистема обработки заказов – маршрут к определенному вендору/департаментам
S RTopic SubSub
Sub
R
R
Создание правил (с SQL-фильтрами) TopicDescription mainTopic = namespaceManager.CreateTopic(“topicName");
namespaceManager.CreateSubscription(“topicName", “AuditSubscription"); namespaceManager.CreateSubscription(“topicName", "FirstSubscription",
new SqlFilter("Address LIKE '%First%'")); namespaceManager.CreateSubscription(“topicName", “SecondSubscription",
new SqlFilter("Address LIKE '%Second%'"));
BrokeredMessage myMessage = new BrokeredMessage(); 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 BusService Bus Queue для отправления задачService Bus Relay для запросов и ответов, коммуникации с низкими задержками между контроллерами и обработчиками для размещения задачService Bus Topic для агрегации событий и мониторинга
Windows Azure
События мониторинга(Topics)
Очередь задач
Схема сервиса динамического выделения мощностей
Сервис обработчика
Экз. обработчик
а 1
Экз. обработчик
а 2
Экз. обработчика
N
Сервис контроллера
Экз. контроллер
а 1
Экз. контроллер
а 2
Данные длязадачи (Blob)
1 2
3
4
5 Реле
Сервисы за NAT
Firewall, NAT
Windows Azure
Предоставление доступа к сервису за NAT
Релейный сервис
Сервисы клиента
Внутренний сервис Сервис 1 Сервис 2 Сервис 3
sb://pnpsummit2012.servicebus.windows.net/CrmPublicService
Service BusRelay
ЗАЩИТА КОРПОРАТИВНЫХ ПРИЛОЖЕНИЙ С ПОМОЩЬЮ WINDOWS AZURE ACTIVE DIRECTORY
Windows Azure Active Directory (WAAD)Облачный каталог пользователей и универсальная система аутентификации и управления доступом пользователей.
Бесплатно.
Информация о Windows Azure Active Directoryhttp://www.windowsazure.com/en-us/manage/services/identity /
Архитектурная диаграмма WAAD
Интеграция предприятия с облачным Active DirectoryСинхронизация каталогов - синхронизация локальных объектов каталогов с облакомЕдиный вход (Single Sign On) - обеспечение единой проверки подлинности при входе в облачные службы пользователей корпоративной сети
Сотни SaaS-приложений для Single Sign-On
Федеративный доступ на примере Office 365
Работа с WAAD на портале Windows AzureДобавление пользователей и группИнтеграция с приложениямиЗаведение доменовИнтеграция каталогов
Новые возможности управленияWindows Azure Active DirectoryActive 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/
Active Authentication SDKИнтеграция со своими сервисами и приложениямиПоддержка ASP.NET, Java, PHP, Perl, Ruby
Active Authentication SDKhttps://pfweb.phonefactor.net/framefactory
Работа с Windows Azure Active Authentication
ЗАДАЧИ HPC, BIG DATA И БИЗНЕС-АНАЛИТИКИ
Big unstructured data* by Gartner
Microsoft и Big Data
4 триллиона объектов в Windows Azure
Bing скачивает 7 петабайт данных в месяц
Windows Azure HDInsight
Кластерпо
запросу
Кластерпо
запросу
Windows AzureHDInsight
HDInsight на сервере и в облаке100% opensource-реализация платформы Apache Hadoop 2.2знакомые инструменты для работы с данными (Excel, BI)HDFS, YARN, MapReduce, Pig, Hive, Zookeeper, Mahout, …интеграция с SQL Server, обмен даннымибыстрое развертываниеинструменты управления Apache Ambari+System Centerинтеграция и безопасность с Active Directoryдоступ к сервису по требованию в облаке Windows Azure
Преимущства HDInsight
Работа с большими данными с помощью знакомых инструментов: благодаря глубокой интеграции с инструментами бизнес-аналитики от Microsoft, такими как PowerPivot, Power View и Excel, сервис HDInsight позволяет вам легко анализировать ваши данные с помощью возможностей Hadoop.
Гибкость – HDInsight предлагает гибкость соответствующую изменениям потребностей вашей организации. С богатым набором скриптов PowerShell вы можете размещать и администрировать кластер Hadoop за считанные минуты вместо привычных часов или даже дней
Hadoop корпоративного уровня: HDInsight предлагает безопасность и управляемость корпоративного уровня. Благодаря выделенному узлу Secure Node, сервис HDInsight помогает обезопасить ваш кластер Hadoop
Богатые возможности для разработчиков: сервис HDInsight предлагает мощные возможности для разработки приложений с богатым выбором языков, включая .NET, Java и другие. Разработчики на платформе .NET могут воспользоваться мощью запросов LINQ to Hive.
Архитектура кластера HDInsight
Роли и содержимое компонентов кластера HDInsight
Secure Role или Gateway Node реверсивный прокси, который работает в качестве шлюза вашего кластера Hadoop
Конечные точки для WebHcat, Ambari, HiveServer/2и Oozie
Head Node выполняет ключевые функции кластера Hadoop: NameNode, Secondary NameNode и JobTrackerHiveServer and HiveServer2
Pig, Sqoop, Metastore, Derbyserver, Oozie, Templeton, Ambari
Worker Nodes отвечают за запуск сервисов, которые поддерживают планирование задач, исполнение задач и доступ к данным
TaskTracker, DataNode, Pig, Hive Client
Бизнес-аналитика из Hadoopв Excel Power Query
Бизнес-аналитика из Hadoopв ExcelPower View
HPC-мощности по запросу в Windows Azure
A8 = 8 ядер CPU, 56 Gb RAMA9 = 16 ядер CPU, 112 Gb RAM
Xeon E5-2670 2.6 GHz10 Gbps networking40 Gbps Infiniband networking, RDMA
Быстрое масштабирование PaaS
Hybrid HPC – расширение в Azure
2008 R2SP1/SP2
Объедините мощь on-premise ресурсов с возможностями масштабирования Windows AzureРасширение кластера в AzureДобавляйте облачные ресурсы по требованию
Воркер-роли – вычислительные ресурсыВиртуальные машиныOn-premise head node
& broker nodesПолная поддержка администрирования и планировщикаЗадачи (jobs/tasks) отправляются в узлы Azure, когда есть доступные ресурсыРабочие загрузки: parametric sweep, MPI, SOA
HPC размещенный в Azure (HPC Scheduler on Azure)Приложение размещается в Azure Нет развернутых Head Node на своих мощностях
Доступ к приложениюТолстые клиенты в инфраструктуре предприятияПорталВеб-приложения
Несколько бизнес-моделейУпакованное приложение продается клиенту Приложение доступно как сервис в облаке
Планировщик и среды поддерживаемые в Windows AzureРабочие нагрузки: Parametric Sweep, SOA, MPIОтсутствует Head Node (Scheduler Service, нет сервиса администрирования)
LINPACK151.3 TFlops 8,064 ядерЭффективность 90.2%
TOP500 165 место в TOP500суперкомпьютеров мира
Суперкомпьютер по запросу
РАЗРАБОТКА И ТЕСТИРОВАНИЕ КОРПОРАТИВНЫХ ПРИЛОЖЕНИЙВ ОБЛАКЕ
Разработка и тестирование на своих мощностях
Трудности тестирования у себя ограниченный бюджет на приобретение, развертывание и
обслуживание серверов и другого оборудования; ограниченный бюджет на лицензирование серверного и другого
программного обеспечения, необходимого для тестового окружения; конкуренция за ресурсы виртуальных машин внутри компании
между разными командами и отдельными разработчиками; сниженная и часто потерянная гибкость
тестовой среды для разработчиков; трудности с проведением реальных тестов
на масштабирование приложения.
Разработка и тестирование в облаке
Преимущества тестирования в облаке Быстрый выход качественного продукта на рынок Цена. Отсутствие и устранение капитальных расходов при доступе к
тестовому окружению в облаке, которое масштабируется лучше, чем собственное.
Использование знакомых инструментов Лучшее тестирование с “бесконечным” облаком Изолирование продакшн-серверов. Предотвращение влияния процесса
разработки и тестирования и тестовых приложений на серверы работающие в коммерческой эксплуатации в компании
Доступ из облака к существующим мощностями в компании Размещение в любом месте без лок-ина
Сценарии разработки и тестирования в облаке Песочница для разработки приложения и тестирования
на поддерживаемой ОС Проверка качества (Quality Assurance) и совместимости
приложения на новых ОС, серверном ПО Нагрузочное тестирование с реальной нагрузкой Песочница для разработки тяжелых решений
(SharePoint, SQL Server, BizTalk, Active Directory…) Репродукция среды и ошибочных ситуаций и исправление багов Окружение для тренингов, обучения, демонстраций ПО Системы контроля версий, багтрекинг, инциденты и т.д Построение современных облачных приложений
и их тестирование в облаке
Схемы организации разработки и тестирования в облаке Windows Azure
Заключение• Облако – эффективный способ решать корпоративные задачи• Windows Azure – облачная платформа, решающая любые задачи• Портальные решения, обмен информацией, интеграция,
задачи HPC и анализа больших данных, своевременное реагирование, масштабирование, безопасность…• Полная инструментальная поддержка в Visual Studio• Сценарий разработки и тестирования
в облаке эффективен для команд и проектов
О разработке облачных веб-сайтов - на русском языкеhttp://AzureHub.ru
Группа Windows Azure для всех на FacebookFB/groups/azurerus/
Получите бесплатный триал Windows Azurehttp://bit.ly/15aTMQF
Участник BizSpark?
Активируйте Windows Azurehttp://bit.ly/1cHYypt
Twitter Windows Azure в России@windowsazure_ru
Подписчик MSDN? Преимущества Windows Azure для васhttp://bit.ly/12z1cMA
Пора разрабатывать в облаке!
Владимир Юневэксперт по стратегическим технологиям Microsoft
[email protected]/b/vyunev
Twitter@XaocCPS
FacebookFB/yunev
Спасибо за внимание!