Download - Microsoft Azure Pryaniky.com
Архитектура и технологии Pryaniky.com
Что под капотом у Пряников.
Москва, 2014
О продукте
www.pryaniky.com
Баллы
Бейджи
Рейтинги
Миссии
Миссии
Призы
Сервис Пряники – как это работает
Ключевые технологии:• Microsoft Azure
• Web Role• Worker Role• Service Bus• SQL Azure
• SQL Server 2008 (для коробочной версии)• Sync Services• WIF + ADFS – аутентификация пользователей из
домена в облачном сервисе• SharePoint 2010
Пряники - как это работает
www.pryaniky.com
Пряники в Azure – используют CQRS и очереди.Часть сервисов в коробочной версии также предоставляется через Azure
WIF
Сервис Пряники – как это работает
Общая архитектура:
Microsoft Azure
Web Worker SQL Azure
Mobile ClientsDesktop Clients
Web Clients
ADFS Proxy SharePoint
Active Directory
Forms
Active Directory
Пряники
Sync Framework/WCF
SQL Azure Data Sync, ACSService Bus (пробуем)
Сервис Пряники – Синхронизация данных
Синхронизация с “облаком”:• SQL Azure Data Sync• Microsoft Sync Framework
Сервис Пряники – Синхронизация данных
SQL Data Sync:• Нет необходимости писать код• Поддерживает сложные схемы синхронизации
многих источников• Минус – простое разрешение конфликтов
Агент локальный
Azure SQL
Агент локальный
Агент локальный
Сервис Пряники – Синхронизация данных
Microsoft Sync Framework (4.0 CTP):• Аналогичен по функционалу SQL Azure Data Sync• Нужно писать код (довольно простой)• Ручное разрешение конфликтов
• С помощью Sync Framework можно устранить ключевой недостаток SQL Azure Data Sync – организовать синхронизацию данных с учетом версионности изменений.
• Например, при одновременном изменении данных клиентом в корпоративной среде и в облачном сервисе.
Сервис Пряники – Аутентификация
WIF + ADFS • Позволяет аутентифицировать пользователей из
домена в облачном сервисе
ADFS и Azure
• Интеграцию приложения в Azure с корпоративным порталом можно реализовать двумя способами:– Активная аутентификация (используется для
Web-компонент, встроенных через iframe)– Пассивная аутентификация (с использованием
промежуточного сервиса WCF)
Сервис Пряники – Аутентификация
WIF + ADFS – пассивная аутентификация• Позволяет аутентифицировать пользователей из
домена в облачном сервисе
Azure
ADFS Proxy
SharePoint
Active Directory
Pryaniky (iFrame)
USER1
23
4
Сервис Пряники – Аутентификация
WIF + ADFS – пассивная аутентификация • Позволяет аутентифицировать пользователей из
домена в облачном сервисе без аутивного участия пользователей
Azure (WCF)
ADFS Proxy
SharePoint
Active Directory
Pryaniky
WCF с WIF
USER1
2
34
Настройка ADFS - СертификатыPryanikyapp.cloudapp.net(точка входа HTTPS)
Iis.domain.localСертификат + ключ в IIS и ADFS (коммуникационный)
ADFSIIS
Сертификат управления подпиской AZURE
Private key
Private key
Private key
Private key
Pryanikyapp.cloudapp.net(точка входа HTTPS)Private key
Сертификат + ключ управления подпиской
Private key
Настройка ADFS – checklist!
• Создать необходимые сертификаты• Установить сертификат в IIS для домена по умолчанию и
настроить Связь SSL• Установить и настроить службу ADFS 2.0 (standalone с
сертификатом тем же сертификатом что и IIS)• В Azure Access Control добавить Identity Provider загрузив
метаданные из ADFS 2.0 (Federation Metadata)• Добавить в ADFS 2.0 в качестве Relying Party сервис Azure
Access Control• Добавить ссылку на сервис STS в приложение из Azure
Access Control• Добавить в Azure Access Control созданное приложение
Сервис Пряники – Обновление
Entity Framework Code First Migration (EntityFramework.SqlMigrations)• Позволяет легко обновлять базу данных по уже
написанным классам
puiblic class Pryanik{ public long Id{get;set;} public string Name {get;set;}}
puiblic class Pryanik{ public long Id{get;set;} public string Name {get;set;} public string Descr{get;set;}}
[Id] [long] IDENTITY(1,1) NOT NULL,[Name] [nvarchar](max) NULL,
[Id] [long] IDENTITY(1,1) NOT NULL,[Name] [nvarchar](max) NULL,[Descr] [nvarchar](max) NULL,
>update-database
Сервис Пряники – Безопасность и производительность
Инструменты, использованные для обеспечения безопасности приложений в Azure:• Microsoft Web Application Configuration Analyzer
v2.0• ELMAH и Microsoft.WindowsAzure.Diagnostic• – расширенное журналирование и оповещение• Web Protection Library (WPL) – умное
экранирование ввода• Azure Diagnostics Manager 2 (Cerebrata)
Сервис Пряники – Безопасность
Microsoft Web Application Configuration Analyzer v2.0
Многие из правил валидации не актуальны для Azure, но для некоторых стоит перенастроить штатный образ WebRole. Зачем нам, например, Print Spooler и Alerter?
Сервис Пряники – Безопасность
ELMAH и Microsoft.WindowsAzure.Diagnostic• ELMAH – открытая библиотека для
ASP.NET/ASP.NET MVC, позволяющая организовать оповещение и журналирование событий
• Microsoft.WindowsAzure.Diagnostic – штатный инструмент для отладки и трассировки
Сервис Пряники – Безопасность
Azure Diagnostics Manager 2 (Cerebrata)• Позволяет получить данные со счетчиков
производительности• Журналы трассировки• Системные журналы ролей
Сервис Пряники – Безопасность
Azure Dashboard• http://www.windowsazure.com/ru-ru/support/s
ervice-dashboard/
• Пароль на Windows Live
«Пряники»: Игра, радость, команда,
успех!Мотивация 2.0
http://pryaniky.com
Писать: [email protected]Звонить: +7 (495) 669-37-56Заходить: http://pryaniky.comFacebook: http://facebook.com/pryanikyTwitter: @pryaniky