Agenda Введение в облачные технологии Облачная платформа Windows Azure Сценарии использования Windows Azure для разработки корпоративных веб-приложений Сценарии построения распределенных проектов и гетерогенных систем на базе сервисов Windows Azure Использование облачных сервисов для защиты приложений и решения задач HPC и Big Data Организация разработки и тестирования в облаке Windows Azure Заключение
ВВЕДЕНИЕ В ОБЛАЧНЫЕ ТЕХНОЛОГИИ
Вычислительные ресурсы и ресурсы хранения по запросу. Подход к построению приложений, когда особенно важны масштабируемость и гибкость к текущим условиям вашего бизнеса
Эволюция через виртуализацию к облакам
Решение своими силами Хранилище Сервера Сеть ОС Системное ПО Виртуализация Данные Приложение Среда исполнения Лежит на ваших плечах 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 Автоматизированная Управляемые ресурсы Гибкая По использованию виртуальные машины веб-сайты облачные сервисы SQL базы данных noSQL базы данных хранилище BLOB соединения виртуальные сети управление трафиком
Платите только за то, что используете.
Поминутная тарификация.
ВЕБ-ПРИЛОЖЕНИЯ И КОРПОРАТИВНЫЕ ПОРТАЛЫ С WINDOWS AZURE WEB SITES
Windows Azure Web Sites – PaaS для современного веба Мощная само обслуживаемая платформа для разработчиков Гибкое решение хостинга для ИТ Гибкая Размещение приложений на платформах, фреймворках и языках на ваш выбор Масштабируема я Масштабирование вверх или вниз за секунды в балансируемом и всегда актуальном окружении Высокая защита корпоративного уровня с поддержкой SSL и аутентификации Active Directory Безопасная WINDOWS AZURE WEBSITES Windows Azure Web Sites это масштабируемая, безопасная и гибкая платформа для построения мощных веб-приложений для запуска и развития вашего бизнеса и привлечения новых клиентов.
Node.jsPHPNET PythonFastCGI
Mercurial Git локальные или приватные TFS Visual Studio Online GitHub BitBucket CodePlex DropBox
Выбор готовых приложений (>30)
Тесная интеграция с Visual Studio 2013
Web sites
БЭКЕНД ДЛЯ КОРПОРАТИВНЫХ МОБИЛЬНЫХ ПРИЛОЖЕНИЙ
Вызовы мобильной разработки
Ответ Windows Azure Mobile Services
Данные Идеальный бэкенд для мобильных приложений – это… SQL REST API, Open Source SDKs Пуш-уведомления Серверный код Git Custom REST Web API CRON Аутентификация Facebook Twitter Microsoft Account Google Active Directory Table Blobs SQL Обработка CRUD Node.js, NPM MongoDB Масштабирование по требованию и автоматически Бесплатный тариф Администрирование, скрипты, мониторинг, логи Store - 3 rd party сервисы: DB, Mail, SMS, Auth0, OCR, …
Создание бэкенда, мониторинг, логи
Масштабирование бэкенда
Создание и управление таблицами
Подключение к бэкенду
Обращение к таблице SQL
Аутентификация и бэкенд
Создание своего REST Web API
Интеграция с Git
Mobile Services Web Sites Identity Cloud Services Blob Storage Analytics Virtual Machines Service Bus Caching Integration Big Data CDN Media Services Table Storage SQL database
Трудности при рассылке уведомлений
APNsWNS Notification Hub App back-end iOS app Windows Store app Google app
Notification Hub App back-end Tag:BeatlesTag:Wailers Tag:Beatles
Service Bus Notification Hub App back-end $(message) { aps: { alert: $(message) } { message: Hello! } Hello!
ОБМЕН СООБЩЕНИЯМИ В РАСПРЕДЕЛЕННЫ Х ПРИЛОЖЕНИЯХ
Сервисная шина - подход к построению распределённых корпоративных информационных систем, включающий в себя промежуточное ПО, которое обеспечивает взаимосвязь между различными приложениями Что такое 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 Topic Sub
Создание Service Bus Topics & Subscriptions NamespaceManager namespaceManager = NamespaceManager.Create() namespaceManager.CreateTopic(topicName"); namespaceManager.CreateSubscription(topicName", FirstSubscription"); namespaceManager.CreateSubscription(topicName", SecondSubscription"); namespaceManager.CreateSubscription(topicName", ThirdSubscription");
Маршрутизатор на базе контента Сценарий Направление сообщения к разным получателям на базе данных сообщения Общие сценарии применения Системы обработки заказов S Topic Sub
Создание 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 Topic Sub
Создание правил (с 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 Bus Service Bus Queue для отправления задач Service Bus Relay для запросов и ответов, коммуникации с низкими задержками между контроллерами и обработчиками для размещения задач Service Bus Topic для агрегации событий и мониторинга
Windows Azure События мониторинга (Topics) Очередь задач Схема сервиса динамического выделения мощностей Данные для задачи (Blob) Реле
Сервисы за NAT Firewall, NAT Windows Azure Предоставление доступа к сервису за NAT Сервисы клиента sb://pnpsummit2012.servicebus.windows.net/CrmPublicService Service Bus Relay
ЗАЩИТА КОРПОРАТИВНЫХ ПРИЛОЖЕНИЙ С ПОМОЩЬЮ WINDOWS AZURE ACTIVE DIRECTORY
Windows Azure Active Directory (WAAD) Облачный каталог пользователей и универсальная система аутентификации и управления доступом пользователей. Бесплатно. Информация о Windows Azure Active Directory
Архитектурная диаграмма WAAD
Интеграция предприятия с облачным Active Directory Синхронизация каталогов - синхронизация локальных объектов каталогов с облаком Единый вход (Single Sign On) - обеспечение единой проверки подлинности при входе в облачные службы пользователей корпоративной сети
Сотни SaaS-приложений для 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, через ввод кода из приложения и другие. Статья на Wikipedia
Windows Azure Active Authentication Включение мультифакторной аутентификации для сервисов использующих облачный сервис Windows Azure Active Directory. Поддерживаются: телефонные звонки, SMS, мобильные приложения, одноразовые секретные коды. Поддержка сервисов с Windows Azure Active Directory: Office 365, Dynamics CRM Online и других. Windows Azure Active Directory
Active Authentication SDK Интеграция со своими сервисами и приложениями Поддержка ASP.NET, Java, PHP, Perl, Ruby Active Authentication SDK
Работа с Windows Azure Active Authentication
ИНТЕГРАЦИЯ ГЕТЕРОГЕННЫХ СИСТЕМ С WINDOWS AZURE BIZTALK SERVICES
Windows Azure BizTalk Services Службы интеграции, предоставляющие возможности B2B и интеграции корпоративных приложений (EAI) для реализации облачных и гибридных решений.
Назначение BizTalk Services Облачная EDI-обработка Enterprise Application Integration (EAI) Построение гибридных решений (интеграция с SAP, Oracle EBS, PeopleSoft) Документация
Безопасный доступ к бизнес-приложениям предприятия Предоставление безопасного доступа к сервисам и приложениям предприятия за NAT и Firewall
Гибридные решения Построение гибридных решений, которые используют все преимущества как облака, так и инфраструктуры предприятия
Enterprise to Enterprise (B2B) Обмен данными с важными внешними бизнес-системами партнеров
Интеграция с SaaS Легкая интеграция всех SaaS решений компании с системами на предприятии
Управление процессами бизнеса Использование Enterprise Service Bus (ESB) для обмена сообщениями, трансформации данных, создания правил и маршрутов
Интеграция с удаленными офисами Синхронизация данных между центральным и удаленными офисами
Пора попробовать BizTalk Services Подписка на сервисы BizTalk Services Документация и руководства Больше ссылок по теме
ЗАДАЧИ HPC, BIG DATA И БИЗНЕС- АНАЛИТИКИ
Big unstructured data * by Gartner
Microsoft и Big Data 4 триллиона объектов в Windows Azure Bing скачивает 7 петабайт данных в месяц
Windows Azure HDInsight Кластер по запросу
Windows Azure HDInsight 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 и JobTracker HiveServer and HiveServer2 Pig, Sqoop, Metastore, Derbyserver, Oozie, Templeton, Ambari Worker Nodes отвечают за запуск сервисов, которые поддерживают планирование задач, исполнение задач и доступ к данным TaskTracker, DataNode, Pig, Hive Client
Бизнес- аналитика из Hadoop в Excel Power Query
Бизнес- аналитика из Hadoop в Excel Power View
HPC- мощности по запросу в Windows Azure A8 = 8 ядер CPU, 56 Gb RAM A9 = 16 ядер CPU, 112 Gb RAM Xeon E GHz 10 Gbps networking 40 Gbps Infiniband networking, RDMA Быстрое масштабирование PaaS
2008 R2 SP1/SP2
РАЗРАБОТКА И ТЕСТИРОВАНИЕ КОРПОРАТИВНЫХ ПРИЛОЖЕНИЙ В ОБЛАКЕ
Разработка и тестирование на своих мощностях
Трудности тестирования у себя ограниченный бюджет на приобретение, развертывание и обслуживание серверов и другого оборудования; ограниченный бюджет на лицензирование серверного и другого программного обеспечения, необходимого для тестового окружения; конкуренция за ресурсы виртуальных машин внутри компании между разными командами и отдельными разработчиками; сниженная и часто потерянная гибкость тестовой среды для разработчиков; трудности с проведением реальных тестов на масштабирование приложения.
Разработка и тестирование в облаке
Преимущества тестирования в облаке Быстрый выход качественного продукта на рынок Цена. Отсутствие и устранение капитальных расходов при доступе к тестовому окружению в облаке, которое масштабируется лучше, чем собственное. Использование знакомых инструментов Лучшее тестирование с бесконечным облаком Изолирование продакшн-серверов. Предотвращение влияния процесса разработки и тестирования и тестовых приложений на серверы работающие в коммерческой эксплуатации в компании Доступ из облака к существующим мощностями в компании Размещение в любом месте без лок-ина
Сценарии разработки и тестирования в облаке Песочница для разработки приложения и тестирования на поддерживаемой ОС Проверка качества (Quality Assurance) и совместимости приложения на новых ОС, серверном ПО Нагрузочное тестирование с реальной нагрузкой Песочница для разработки тяжелых решений (SharePoint, SQL Server, BizTalk, Active Directory…) Репродукция среды и ошибочных ситуаций и исправление багов Окружение для тренингов, обучения, демонстраций ПО Системы контроля версий, багтрекинг, инциденты и т.д Построение современных облачных приложений и их тестирование в облаке
Схемы организации разработки и тестирования в облаке Windows Azure
Заключение Облако – эффективный способ решать корпоративные задачи Windows Azure – облачная платформа, решающая любые задачи Портальные решения, обмен информацией, интеграция, задачи HPC и анализа больших данных, своевременное реагирование, масштабирование, безопасность… Полная инструментальная поддержка в Visual Studio Сценарий разработки и тестирования в облаке эффективен для команд и проектов
Пора разрабатывать в облаке!
Спасибо за внимание!