microsoft azure pryaniky.com

Post on 16-Jun-2015

114 Views

Category:

Engineering

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

Pryaniky.com architecture features. Updated.

TRANSCRIPT

Архитектура и технологии 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

Писать: welcome@pryaniky.comЗвонить: +7 (495) 669-37-56Заходить: http://pryaniky.comFacebook: http://facebook.com/pryanikyTwitter: @pryaniky

top related