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

Post on 25-Feb-2016

87 Views

Category:

Documents

4 Downloads

Preview:

Click to see full reader

DESCRIPTION

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

TRANSCRIPT

с помощью облачного бэкенда 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

vyunev@microsoft.comblogs.msdn.com/b/vyunev

Twitter@XaocCPS

FacebookFB/yunev

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

top related