76
с помощью облачного бэкенда Windows Azure Владимир Юнев Microsoft Решение практических задач разработки корпоративных приложений

Решение практических задач разработки корпоративных приложений

  • Upload
    elmo

  • View
    76

  • Download
    4

Embed Size (px)

DESCRIPTION

Решение практических задач разработки корпоративных приложений. с помощью облачного бэкенда Windows Azure Владимир Юнев Microsoft. Agenda. Введение в облачные технологии Облачная платформа Windows Azure С ценарии использования Windows Azure для разработки корпоративных веб-приложений - PowerPoint PPT Presentation

Citation preview

Page 1: Решение практических задач разработки корпоративных  приложений

с помощью облачного бэкенда Windows Azure

Владимир ЮневMicrosoft

Решение практических задач разработки корпоративных приложений

Page 2: Решение практических задач разработки корпоративных  приложений

Agenda• Введение в облачные технологии• Облачная платформа Windows Azure• Сценарии использования Windows Azure

для разработки корпоративных веб-приложений• Сценарии построения распределенных проектов

и гетерогенных систем на базе сервисов Windows Azure• Использование облачных сервисов для защиты приложений

и решения задач HPC и Big Data• Организация разработки и тестирования в облаке Windows Azure• Заключение

Page 3: Решение практических задач разработки корпоративных  приложений

ВВЕДЕНИЕ В ОБЛАЧНЫЕ ТЕХНОЛОГИИ

Page 4: Решение практических задач разработки корпоративных  приложений

Что такое облако?

Вычислительные ресурсы и ресурсы хранения по запросу.

Подход к построению приложений, когда особенно важны масштабируемость и гибкость к текущим условиям вашего бизнеса

Page 5: Решение практических задач разработки корпоративных  приложений

PaaS SaaS

Развитие ITЭволюция через виртуализацию к облакам

Physical Virtual / Private IaaS

Page 6: Решение практических задач разработки корпоративных  приложений

Облачные вычисленияРешение своими силами

Хранилище

Сервера

Сеть

ОС

Системное ПО

Виртуализация

Данные

Приложение

Среда исполнения

Леж

ит н

а ва

ших

пле

чах

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

Page 7: Решение практических задач разработки корпоративных  приложений

ОБЛАЧНАЯ ПЛАТФОРМА WINDOWS AZURE

Page 8: Решение практических задач разработки корпоративных  приложений

Глобальная инфраструктурасервера / сети / дата-центры

8 центров обработки данных и 24 краевых CDN

АвтоматизированнаяУправляемые ресурсы

ГибкаяПо использованию

кэшидентифика

циясервисная

шинамедиа

сервисы CDN big data коммерция интеграция аналитика HPCмобильные

сервисы

виртуальные

машинывеб-

сайтыоблачные сервисы

SQL базы данных

noSQL базы данных

хранилище BLOB

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

управление трафиком

... ... ... ... ... ...вычислительные мощности хранение данных сетевое взаимодействие

Page 9: Решение практических задач разработки корпоративных  приложений

Платите только за то,

что используете.

Page 10: Решение практических задач разработки корпоративных  приложений

Поминутная тарификация.

Page 11: Решение практических задач разработки корпоративных  приложений

99.95% SLA (в месяц)не более 22 минут простоя суммарно в течении всего месяца

Page 12: Решение практических задач разработки корпоративных  приложений

ВЕБ-ПРИЛОЖЕНИЯ И КОРПОРАТИВНЫЕ ПОРТАЛЫ С WINDOWS AZURE WEB SITES

Page 13: Решение практических задач разработки корпоративных  приложений

Windows Azure Web Sites – PaaS для современного веба

Мощная самообслуживаемая платформа для разработчиков

Гибкое решение хостинга для ИТГибкаяРазмещение приложений на платформах, фреймворках и языках на ваш выбор

МасштабируемаяМасштабирование вверх или вниз за секунды в балансируемом и всегда актуальном окружении

Высокая защита корпоративного уровня с поддержкой SSL и аутентификации Active Directory

Безопасная

WINDOWS AZURE WEBSITES

Windows Azure Web Sites это масштабируемая, безопасная и гибкая платформа для построения мощных веб-приложений для запуска и развития вашего бизнеса и привлечения новых клиентов.

Page 14: Решение практических задач разработки корпоративных  приложений

Выбор платформ Windows Azure Web Sites

Node.jsPHP NET

Python

FastCGI

Выбор фреймворков и языков

Page 15: Решение практических задач разработки корпоративных  приложений

Выбор платформ Windows Azure Web Sites

Mercurial

Gitлокальные или приватные

TFSVisual Studio Online

GitHubBitBucketCodePlex

DropBox

Выбор средств развертывания исходного кода

Page 16: Решение практических задач разработки корпоративных  приложений

Выбор готовых приложений (>30)

Page 17: Решение практических задач разработки корпоративных  приложений

Балансировка по умолчаниюДва или более серверов могут получать и обрабатывать запросы благодаря балансировке по умолчанию.

Page 18: Решение практических задач разработки корпоративных  приложений

Всегда обновлено• Работает на Windows Server 2012• Всегда с последними патчами• Всегда работает со свежими версиями

фреймворков

Page 19: Решение практических задач разработки корпоративных  приложений

Легкое масштабированиеМасштабирование за секунды по требованиюили автомасштабирование на основе правил

Page 20: Решение практических задач разработки корпоративных  приложений

Подписки Windows Azure

Интеграция подписи со средой Visual StudioПрозрачный доступ ко всем ресурсам в облакеПубликация проектов в облако в один клик

Server ExplorerДоступ к веб-сайтам, управление, настройка

Стримминг логов в реальном времени

Получение логов веб-сайтов в реальном времени, отображение в панели Visual Studio

Тесная интеграция с Visual Studio 2013

Page 21: Решение практических задач разработки корпоративных  приложений

Отладка приложений запущенных в облаке

Локально в Visual Studio 2013

Удаленная отладка в Visual Studio

Page 22: Решение практических задач разработки корпоративных  приложений

Visual Studio Online “Monaco”• Онлайн-редактор кода, интеграция

с Git• Интеграция с Windows Azure Web

Sites

Page 23: Решение практических задач разработки корпоративных  приложений

Доступ к другим сервисам Windows Azure

Caching Media Big dataCDN

Analytics

Mobile

Integration

Service bus

Web sitesSQL database noSQL DB

Blob storage

Cloud services

Virtual Machines

Identity

Page 24: Решение практических задач разработки корпоративных  приложений

Windows Azure Cache• Высокая

производительность• 1мс – на выборку; 1-2 мс на вставку• Отсутствие квот и троттлинга:

всегда максимальная скорость• Отличные компоненты

• Динамическое изменение размера: от 128 Мб до 150 Гб

• Доступ к кэшу из любого кода, сервиса• Четкое управление и полная изоляция• Высокая доступность

• Удобство использования• Windows Azure SDK, простой API• Интеграция с механизмом кеширования ASP.NET

• Кэш в существующей роли• Использование части памяти в существующих

мощностях

Page 25: Решение практических задач разработки корпоративных  приложений

Работа с Windows Azure Cache

Page 26: Решение практических задач разработки корпоративных  приложений

Windows Azure Traffic Manager• Высокая доступность

приложений и сервисов• мониторинг размещенных служб

и автоматическая отработка отказа при сбое службы

• перенаправление траффика в другое размещение

• Запуск быстрых приложений• обработка запросов конечных

пользователей с помощью службы, ближайшей к ним с точки зрения задержки в сети

• Низкая стоимость• от $0.375 за миллион перенаправлений• Интеграция с механизмом кеширования

ASP.NET

Page 27: Решение практических задач разработки корпоративных  приложений

Работа с Windows Azure Traffic Manager

Page 28: Решение практических задач разработки корпоративных  приложений

ОБМЕН СООБЩЕНИЯМИВ РАСПРЕДЕЛЕННЫХ ПРИЛОЖЕНИЯХ

Page 29: Решение практических задач разработки корпоративных  приложений

Сервисная шина

“ - подход к построению распределённых корпоративных информационных систем, включающий в себя промежуточное ПО, которое обеспечивает взаимосвязь между различными приложениями”

Что такое Service Bus?

- Wikipedia

Page 30: Решение практических задач разработки корпоративных  приложений

Шина сообщений Windows Azure Service Bus

Интранет порталы

Агрегатор событий

Портал управлени

я…

Корпоративное приложение

Мобильные клиенты Бэкенд Аналитика

Queues Topics Relays Notifications

Bridges*

* coming soon

Page 31: Решение практических задач разработки корпоративных  приложений

Функциональные части Windows Azure Service Bus

Service Bus Relaysдоступ к сервисам и данным предприятия находящимся за NAT и Firewall

Service Bus Queuesклиенты с переменным доступом к сетивыравнивание и балансировка нагрузки

Service Bus Topics and Subscriptionsподписка множества клиентов на рассылку сообщений

Page 32: Решение практических задач разработки корпоративных  приложений

Публикация-подписка

СценарийОтправитель рассылает сообщение всем заинтересованным получателям

Общие сценарии примененияУведомления о событии

S RTopic SubSub

Sub

R

R

Page 33: Решение практических задач разработки корпоративных  приложений

Создание Service Bus Topics & Subscriptions

NamespaceManager namespaceManager = NamespaceManager.Create()

namespaceManager.CreateTopic(“topicName"); namespaceManager.CreateSubscription(“topicName", “FirstSubscription"); namespaceManager.CreateSubscription(“topicName", “SecondSubscription"); namespaceManager.CreateSubscription(“topicName", “ThirdSubscription");

Page 34: Решение практических задач разработки корпоративных  приложений

Маршрутизатор на базе контента

СценарийНаправление сообщения к разным получателям на базе данных сообщения

Общие сценарии примененияСистемы обработки заказов

S RTopic SubSub

Sub

R

R

Page 35: Решение практических задач разработки корпоративных  приложений

Создание 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);

Page 36: Решение практических задач разработки корпоративных  приложений

Список получателей

СценарийОтправитель желает отправить сообщение списку получателей

Общие сценарии примененияСистема обработки заказов – маршрут к определенному вендору/департаментам

S RTopic SubSub

Sub

R

R

Page 37: Решение практических задач разработки корпоративных  приложений

Создание правил (с 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”);

Page 38: Решение практических задач разработки корпоративных  приложений

SaaS-сервис динамического выделения мощностей

Продукт Специализированный сервис, провайдер вычислительных мощностей

Описание решенияПользователь отправляет задачи через клиентское приложениеЗадачи обрабатываются в HPC-стиле на Windows AzureПользователи могут следить за прогрессом, получать уведомления

Применение Windows Azure Service BusService Bus Queue для отправления задачService Bus Relay для запросов и ответов, коммуникации с низкими задержками между контроллерами и обработчиками для размещения задачService Bus Topic для агрегации событий и мониторинга

Page 39: Решение практических задач разработки корпоративных  приложений

Windows Azure

События мониторинга(Topics)

Очередь задач

Схема сервиса динамического выделения мощностей

Сервис обработчика

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

а 1

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

а 2

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

N

Сервис контроллера

Экз. контроллер

а 1

Экз. контроллер

а 2

Данные длязадачи (Blob)

1 2

3

4

5 Реле

Page 40: Решение практических задач разработки корпоративных  приложений

Сервисы за NAT

Firewall, NAT

Windows Azure

Предоставление доступа к сервису за NAT

Релейный сервис

Сервисы клиента

Внутренний сервис Сервис 1 Сервис 2 Сервис 3

sb://pnpsummit2012.servicebus.windows.net/CrmPublicService

Service BusRelay

Page 41: Решение практических задач разработки корпоративных  приложений

ЗАЩИТА КОРПОРАТИВНЫХ ПРИЛОЖЕНИЙ С ПОМОЩЬЮ WINDOWS AZURE ACTIVE DIRECTORY

Page 42: Решение практических задач разработки корпоративных  приложений

Windows Azure Active Directory (WAAD)Облачный каталог пользователей и универсальная система аутентификации и управления доступом пользователей.

Бесплатно.

Информация о Windows Azure Active Directoryhttp://www.windowsazure.com/en-us/manage/services/identity /

Page 43: Решение практических задач разработки корпоративных  приложений

Архитектурная диаграмма WAAD

Page 44: Решение практических задач разработки корпоративных  приложений

Интеграция предприятия с облачным Active DirectoryСинхронизация каталогов - синхронизация локальных объектов каталогов с облакомЕдиный вход (Single Sign On) - обеспечение единой проверки подлинности при входе в облачные службы пользователей корпоративной сети

Page 45: Решение практических задач разработки корпоративных  приложений

Сотни SaaS-приложений для Single Sign-On

Page 46: Решение практических задач разработки корпоративных  приложений

Федеративный доступ на примере Office 365

Page 47: Решение практических задач разработки корпоративных  приложений

Работа с WAAD на портале Windows AzureДобавление пользователей и группИнтеграция с приложениямиЗаведение доменовИнтеграция каталогов

Page 48: Решение практических задач разработки корпоративных  приложений

Новые возможности управленияWindows Azure Active DirectoryActive Directory Sync Agent (DirSync)

для Windows Server 2003 и вышес синхронизацией паролей (хэшей)

Управление существующими каталогами (например, Office 365) с помощью учетной записи Windows Azure Active Directory

Page 49: Решение практических задач разработки корпоративных  приложений

Мультифакторная аутентификация

Позволяет добавить дополнительные условия аутентификации пользователей: через телефонный звонок, через SMS, через ввод кода из приложения и другие.

Статья на Wikipediahttp://en.wikipedia.org/wiki/Multi-factor_authentication

Page 50: Решение практических задач разработки корпоративных  приложений

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/

Page 51: Решение практических задач разработки корпоративных  приложений

Active Authentication SDKИнтеграция со своими сервисами и приложениямиПоддержка ASP.NET, Java, PHP, Perl, Ruby

Active Authentication SDKhttps://pfweb.phonefactor.net/framefactory

Page 52: Решение практических задач разработки корпоративных  приложений

Работа с Windows Azure Active Authentication

Page 53: Решение практических задач разработки корпоративных  приложений

ЗАДАЧИ HPC, BIG DATA И БИЗНЕС-АНАЛИТИКИ

Page 54: Решение практических задач разработки корпоративных  приложений

Big unstructured data* by Gartner

Page 55: Решение практических задач разработки корпоративных  приложений

Microsoft и Big Data

4 триллиона объектов в Windows Azure

Bing скачивает 7 петабайт данных в месяц

Page 56: Решение практических задач разработки корпоративных  приложений

Windows Azure HDInsight

Кластерпо

запросу

Кластерпо

запросу

Page 57: Решение практических задач разработки корпоративных  приложений

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

Page 58: Решение практических задач разработки корпоративных  приложений

Преимущства HDInsight

Работа с большими данными с помощью знакомых инструментов: благодаря глубокой интеграции с инструментами бизнес-аналитики от Microsoft, такими как PowerPivot, Power View и Excel, сервис HDInsight позволяет вам легко анализировать ваши данные с помощью возможностей Hadoop.

Гибкость – HDInsight предлагает гибкость соответствующую изменениям потребностей вашей организации. С богатым набором скриптов PowerShell вы можете размещать и администрировать кластер Hadoop за считанные минуты вместо привычных часов или даже дней

Hadoop корпоративного уровня: HDInsight предлагает безопасность и управляемость корпоративного уровня. Благодаря выделенному узлу Secure Node, сервис HDInsight помогает обезопасить ваш кластер Hadoop

Богатые возможности для разработчиков: сервис HDInsight предлагает мощные возможности для разработки приложений с богатым выбором языков, включая .NET, Java и другие. Разработчики на платформе .NET могут воспользоваться мощью запросов LINQ to Hive.

Page 59: Решение практических задач разработки корпоративных  приложений

Архитектура кластера HDInsight

Page 60: Решение практических задач разработки корпоративных  приложений

Роли и содержимое компонентов кластера 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

Page 61: Решение практических задач разработки корпоративных  приложений

Бизнес-аналитика из Hadoopв Excel Power Query

Page 62: Решение практических задач разработки корпоративных  приложений

Бизнес-аналитика из Hadoopв ExcelPower View

Page 63: Решение практических задач разработки корпоративных  приложений

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

Page 64: Решение практических задач разработки корпоративных  приложений

Hybrid HPC – расширение в Azure

2008 R2SP1/SP2

Объедините мощь on-premise ресурсов с возможностями масштабирования Windows AzureРасширение кластера в AzureДобавляйте облачные ресурсы по требованию

Воркер-роли – вычислительные ресурсыВиртуальные машиныOn-premise head node

& broker nodesПолная поддержка администрирования и планировщикаЗадачи (jobs/tasks) отправляются в узлы Azure, когда есть доступные ресурсыРабочие загрузки: parametric sweep, MPI, SOA

Page 65: Решение практических задач разработки корпоративных  приложений

HPC размещенный в Azure (HPC Scheduler on Azure)Приложение размещается в Azure Нет развернутых Head Node на своих мощностях

Доступ к приложениюТолстые клиенты в инфраструктуре предприятияПорталВеб-приложения

Несколько бизнес-моделейУпакованное приложение продается клиенту Приложение доступно как сервис в облаке

Планировщик и среды поддерживаемые в Windows AzureРабочие нагрузки: Parametric Sweep, SOA, MPIОтсутствует Head Node (Scheduler Service, нет сервиса администрирования)

Page 66: Решение практических задач разработки корпоративных  приложений

LINPACK151.3 TFlops 8,064 ядерЭффективность 90.2%

TOP500 165 место в TOP500суперкомпьютеров мира

Суперкомпьютер по запросу

Page 67: Решение практических задач разработки корпоративных  приложений

РАЗРАБОТКА И ТЕСТИРОВАНИЕ КОРПОРАТИВНЫХ ПРИЛОЖЕНИЙВ ОБЛАКЕ

Page 68: Решение практических задач разработки корпоративных  приложений

Разработка и тестирование на своих мощностях

Page 69: Решение практических задач разработки корпоративных  приложений

Трудности тестирования у себя ограниченный бюджет на приобретение, развертывание и

обслуживание серверов и другого оборудования; ограниченный бюджет на лицензирование серверного и другого

программного обеспечения, необходимого для тестового окружения; конкуренция за ресурсы виртуальных машин внутри компании

между разными командами и отдельными разработчиками; сниженная и часто потерянная гибкость

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

на масштабирование приложения.

Page 70: Решение практических задач разработки корпоративных  приложений

Разработка и тестирование в облаке

Page 71: Решение практических задач разработки корпоративных  приложений

Преимущества тестирования в облаке Быстрый выход качественного продукта на рынок Цена. Отсутствие и устранение капитальных расходов при доступе к

тестовому окружению в облаке, которое масштабируется лучше, чем собственное.

Использование знакомых инструментов Лучшее тестирование с “бесконечным” облаком Изолирование продакшн-серверов. Предотвращение влияния процесса

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

Доступ из облака к существующим мощностями в компании Размещение в любом месте без лок-ина

Page 72: Решение практических задач разработки корпоративных  приложений

Сценарии разработки и тестирования в облаке Песочница для разработки приложения и тестирования

на поддерживаемой ОС Проверка качества (Quality Assurance) и совместимости

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

(SharePoint, SQL Server, BizTalk, Active Directory…) Репродукция среды и ошибочных ситуаций и исправление багов Окружение для тренингов, обучения, демонстраций ПО Системы контроля версий, багтрекинг, инциденты и т.д Построение современных облачных приложений

и их тестирование в облаке

Page 73: Решение практических задач разработки корпоративных  приложений

Схемы организации разработки и тестирования в облаке Windows Azure

Page 74: Решение практических задач разработки корпоративных  приложений

Заключение• Облако – эффективный способ решать корпоративные задачи• Windows Azure – облачная платформа, решающая любые задачи• Портальные решения, обмен информацией, интеграция,

задачи HPC и анализа больших данных, своевременное реагирование, масштабирование, безопасность…• Полная инструментальная поддержка в Visual Studio• Сценарий разработки и тестирования

в облаке эффективен для команд и проектов

Page 75: Решение практических задач разработки корпоративных  приложений

О разработке облачных веб-сайтов - на русском языке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

Пора разрабатывать в облаке!

Page 76: Решение практических задач разработки корпоративных  приложений

Владимир Юневэксперт по стратегическим технологиям Microsoft

[email protected]/b/vyunev

Twitter@XaocCPS

FacebookFB/yunev

Спасибо за внимание!