Document 5097603

advertisement
AR 301
Архитектура решений в
«облаке» - видение Microsoft
Дмитрий Мартынов
dmitrim@microsoft.com
Microsoft
Microsoft Платформа 2010
http://msplatforma.ru
Microsoft Платформа 2010
http://msplatforma.ru
http://images.fanpop.com/images/image_uploads/Old-School-TV-television-296019_1544_1500.jpg
Microsoft Платформа 2010
http://msplatforma.ru
Microsoft Платформа 2010
http://msplatforma.ru
http://www.footage.sg/Movie%20folder/747px-Full_hd_logo_svg.png
Готовность приложений к облаку
Microsoft Платформа 2010
http://msplatforma.ru
Cloud Ready
Готовность приложений к облаку
Работа локально и в облаке с
минимальными изменениями
Выбор архитектуры
Выбор технологий
Выбор методологии и модели
Развертывания, управления, разработки,
сервисов, приложения, ...
Microsoft Платформа 2010
http://msplatforma.ru
Вычисления в облаке
Основные черты
Абстракция инфраструктуры
Виртуализированные ресурсы
Мощность по требованию
Эластичность, пиковые нагрузки
Автоматическое управление
Оплата за использование
Microsoft Платформа 2010
http://msplatforma.ru
Архитектура облака
Разработка, инструменты
Сервисы управления
Сервисы безопасности
Приложения
Прикладные платформенные сервисы
Общие сервисы
Инфраструктурные сервисы
Вычислительные
Хранилище
Сетевые
Платформа хостинга
Microsoft Платформа 2010
http://msplatforma.ru
Частное облако
Динамический ЦОД на платформе Microsoft
Прикладные платформенные сервисы
SQL Server
SharePoint
.NET, …
Visual Studio, …
System Center
Forefront, Active Directory
Windows, Office, Mobile, Браузер
Инфраструктура виртуальных десктопов / VDI
Сервисы Windows Server
Вычислительные
Хранилище
Сетевые
Виртуализация / Hyper-V
Microsoft Платформа 2010
http://msplatforma.ru
Windows Azure Platform
Облако в ЦОДах Microsoft
Прикладные платформенные сервисы
SQL Azure
.NET Services
.NET, PHP, Java,
Ruby
Visual Studio, …
Fabric Controller
Сервисы безопасности
Веб-приложения и сервисы
Инфраструктурные сервисы
Windows Azure
Платформа хостинга
Microsoft Платформа 2010
http://msplatforma.ru
Стратегия ПО+Сервисы
Software+Services
Будущее: гибридная модель
Локальное ПО + сервисы через Интернет
Выбор размещения
Локально, хостинг у партнеров, Microsoft
Миграция в облако и обратно
Интеграция локального ПО и сервисов
Готовность технологий для работы в
смешанном режиме
Microsoft Платформа 2010
http://msplatforma.ru
ПРАКТИКИ
ПРОЕКТИРОВАНИЯ
И ВЫБОР ТЕХНОЛОГИЙ
Microsoft Платформа 2010
http://msplatforma.ru
Философия Azure
Масштабирование
Как увеличение так и уменьшение мощности
Поощеряет правильную архитектуру
Модульность
Слабое связывание
Сервисная ориентированность
Постепенное использование облака
Сохранение навыков
Интероперабельность
Microsoft Платформа 2010
http://msplatforma.ru
Некоторые аспекты решений
Для облака и локально
Процесс и средства разработки
Архитектура
Интеграция ЦОД-Облако
Технологии
Операционные атрибуты
Масштабирование
Безопасность
Отказоустойчивость
Microsoft Платформа 2010
http://msplatforma.ru
Процесс и средства разработки
Разработка и отладка приложений
Эмуляция Windows Azure локально
Поддержка Visual Studio
Включая бесплатные Express
Интеграция со средствами ALM
Такими как Team Foundation Server
Поддержка других языков, фреймворков,
средств разработки
Microsoft Платформа 2010
http://msplatforma.ru
Архитектура
Интеграция ЦОД - Облако
Разделение на уровни
Хранение состояния
Клиент
Бизнес-логика
Сервисы
Доступ к данным
Хранилище
Уровень представления
Уровень бизнес-логики
Уровень доступа к данным
Данные
Microsoft Платформа 2010
Сервисы
http://msplatforma.ru
Интеграция
ЦОД - Облако
.NET Service Bus
BizTalk
“Dublin”
Сервер приложений в Windows Server
Сервисно-ориентированная архитектура
Microsoft Платформа 2010
http://msplatforma.ru
Разделение на уровни
Отсутствие сложных зависимостей
Возможность замены модулей
Расширяемость
Модель плагинов
MEF – Microsoft Extensibility Framework
Слабое связывание
KISS – Keep It Simple Stupid
Microsoft Платформа 2010
http://msplatforma.ru
Хранение состояния
Не хранить в бизнес-логике!
Stateless модель
Провайдер сессии ASP.NET
Session State Provider для Azure Tables
Замена в конфигурации web.config
Microsoft Платформа 2010
http://msplatforma.ru
Кэширование
Толстый клиент – готовый кэш
Кэширование на клиенте и сервере
Встроенный кэш ASP.NET
AJAX – кэш данных на клиенте
Распределенный кэш Velocity
Content Delivery Network (CDN)
Azure BLOB (сейчас 18 узлов)
Библиотеки AJAX
Microsoft Платформа 2010
http://msplatforma.ru
Клиент
Связь может быть ненадежна!
Повтор передачи
Принцип idempotency
Повтор операции не меняет результат
Multi-tenant
ASP.NET MVC
Rewrite Module
Microsoft Платформа 2010
http://msplatforma.ru
Multi-tenancy
Персонализация
интерфейса
Интерфейс
Персонализация
интерфейса
Изоляция
бизнес-логики
Бизнес-логика
Изоляция
бизнес-логики
Изоляция данных
Данные
Изоляция данных
Microsoft Платформа 2010
http://msplatforma.ru
Бизнес-логика
.NET или unmanaged
WF 4.0
Появится в Azure с выходом .NET 4.0
Web-роль - IIS
Worker-роль – Windows Service
Microsoft Платформа 2010
http://msplatforma.ru
Доступ к данным
Компоненты DAL
Упрощают замену провайдера
ADO.NET Data Services
Протокольная совместимость с Azure Tables
Silverlight RIA Services
Entity Framework
LINQ
Microsoft Платформа 2010
http://msplatforma.ru
Хранилище
Реляционная БД
SQL Server
SQL Azure
Нереляционная БД
Azure Storage
Совместима с ADO.NET Data Services
Интеграция данных
SQL Server Integration Services
Multi-tenancy
Кастомизация схемы
Расширение схемы
Вертикальные таблицы (key, value1, value2, …)
Microsoft Платформа 2010
http://msplatforma.ru
Безопасность
На основе удостоверений (claims)
Федеративная безопасность
Федерация с AD в частном облаке
ADFS v2
Windows Identity Framework
HTTPS
Хранилище сертификатов
Microsoft Платформа 2010
http://msplatforma.ru
Развертывание
IIS Web Deployment для ЦОД
Виртуализация
ОС, представления, приложений
Azure
Замена test<->production
Обновление на месте
Hyper-V Live Migration
Microsoft Платформа 2010
http://msplatforma.ru
ПАТТЕРНЫ ПРИЛОЖЕНИЙ
Microsoft Платформа 2010
http://msplatforma.ru
Паттерн #1 – Scale-out
UI
BL
Microsoft Платформа 2010
Data
http://msplatforma.ru
Паттерн #1 – Scale-out
UI
BL
UI
BL
UI
NLB
NLB
• Уровни
• Stateless
• Сессии
BL
UI
BL
UI
BL
Microsoft Платформа 2010
Data
http://msplatforma.ru
Паттерн #2 – Compute
UI
BL
Microsoft Платформа 2010
Data
http://msplatforma.ru
Паттерн #2 – Compute
• Слабое
связывание
• Асинхронные
обработки
• Паралелльные
вычисления
Table
BL
UI
BL
Data
BL
Queue
Microsoft Платформа 2010
http://msplatforma.ru
Паттерн #3 – Storage
UI
BL
Microsoft Платформа 2010
Data
http://msplatforma.ru
Паттерн #3 – Storage
• «Код близко»
• Кэширование
UI
BL
Microsoft Платформа 2010
Data
http://msplatforma.ru
Паттерн #3 – Storage
• «Код далеко»
• Пакетные
операции
UI
BL
Microsoft Платформа 2010
Data
http://msplatforma.ru
Паттерн #4 – Communications
App
App
Microsoft Платформа 2010
http://msplatforma.ru
Паттерн #4 – Communications
Service Bus
App
App
App
App
App
• Интеграция
ЦОД - Облако
• СОА
Microsoft Платформа 2010
http://msplatforma.ru
Сравнение технологий
Windows Azure Platform и частное облако
Windows Azure Platform
Частное облако
Web роль
Windows Server 2008 R2, IIS
Worker роль
Windows Service
Service Bus
BizTalk Server, WCF, WF, “Dublin”
Access Control
ADFS v2, Windows Identity Framework
(Geneva)
Azure Tables
ADO.NET Data Services
Azure Queue
MSMQ, SQL Server Service Broker
Azure Blobs
SharePoint Services, WCF REST
SQL Azure
SQL Server 2008
Fabric Controller
System Center Virtual Machine
Manager
Microsoft Платформа 2010
http://msplatforma.ru
Dynamic Datacenter Toolkit
Частное облако для организаций
Microsoft Платформа 2010
http://msplatforma.ru
Резюме
Наша стратегия: ПО+Сервисы
Готовьте приложения к облаку
Собственному, партнерскому, общему
Пробуйте Windows Azure!
Microsoft Платформа 2010
http://msplatforma.ru
Ресурсы
www.azure.com
www.microsoft.com/privatecloud
Dynamic Datacenter Toolkit (2010 год)
Professional Developers Conference ‘09
www.microsoftpdc.com
17-18 Ноября пленарные доклады Live
Microsoft Платформа 2010
http://msplatforma.ru
ВОПРОСЫ
Microsoft Платформа 2010
http://msplatforma.ru
Microsoft Платформа 2010
http://msplatforma.ru
Download