Developer Days 2011, Kharkov
-
Upload
alexandr-feschenko -
Category
Economy & Finance
-
view
1.189 -
download
0
description
Transcript of Developer Days 2011, Kharkov
MICROSOFT CONFIDENTIAL Page 1
Фещенко Александр.NET Team Lead
http://[email protected]
Приложения и хранилища данных
Developer Days 2011, Kharkov
MICROSOFT CONFIDENTIAL Page 2
2
1
3
План презентации
Жизненный цикл. Разработка.
Мотивация. Разновидности облачных сервисов
Жизненный цикл. Проектирование.
4 Жизненный цикл. Разворачивание.
5Windows Azure Storage Concepts
6Windows Azure Storage Blobs
7Windows Azure Storage Tables
MICROSOFT CONFIDENTIAL Page 3
Облачные вычисления. Что это?
MICROSOFT CONFIDENTIAL Page 4
Облачные вычисления – это электрификация 21-го века.
Series1Основной
Основной
Основной
Частное обеспечениеЦентрализированное обеспечение
% с
ген
ери
рован
ного
эл
ектр
ичест
ва
1910 1920 1930
MICROSOFT CONFIDENTIAL Page 5
Облачные сервисы
Infrastructure as a Service
Platform as a Service
Software as a Service
MICROSOFT CONFIDENTIAL Page 6
Облачные сервисы
Приложения
Данные
Среда выполнения
Операционная система
Виртуализация
Сервера
Хранилища
Сетевая инфраструктура
Приложения
Данные
Среда выполнения
Операционная система
Виртуализация
Сервера
Хранилища
Сетевая инфраструктура
Приложения
Данные
Среда выполнения
Операционная система
Виртуализация
Сервера
Хранилища
Сетевая инфраструктура
Приложения
Данные
Среда выполнения
Операционная система
Виртуализация
Сервера
Хранилища
Сетевая инфраструктура
Управляется Вами
Управляется поставщиком
IaaS PaaS SaaSOn-Premise
MICROSOFT CONFIDENTIAL Page 7
Жизненный цикл. Проектирование.
Чрезвычайно масштабируемая
архитектура
Смешанный режим:
что остается у нас, что уходит в
облако
Разработка с учетом
стоимости
Определение ролей
Коммуникация и протоколы
Стратегия хранения данных
MICROSOFT CONFIDENTIAL Page 8
Все, что есть в Windows Azure, служит одной цели
Чрезвычайной масштабируемости
• Возможность запуска роли в нескольких экземплярах• Набор «небольших» реляционных баз данных• Секционированное хранилище данных• Не зависящие от состояния роли
MICROSOFT CONFIDENTIAL Page 9
Жизненный цикл. Разработка.
Все тот же инструментари
й
Локальная
эмуляция облака
Все те же навыки в разработк
е и отладке
MICROSOFT CONFIDENTIAL Page 10
Локальная эмуляция облака.
MICROSOFT CONFIDENTIAL Page 11
Жизненный цикл. Разворачивание.
Staging Production
MICROSOFT CONFIDENTIAL Page 12
Жизненный цикл. Разворачивание.
Web RoleWorker
Role
*.cspkg
*.cscfg
Загрузка на Windows Azure
Windows Azure Fabric
Controller
*.cscfg
LB*.cspkgЗагрузка приложения напрямую из
Visual Studio, что способствует повышению скорости
разработки/разворачивания и тестирования
MICROSOFT CONFIDENTIAL Page 13
Жизненный цикл. Разворачивание. Web Deploy.Актуально для Web-ролей, длительность разворачивания исчисляется секундами
MICROSOFT CONFIDENTIAL Page 14
DEMO
MICROSOFT CONFIDENTIAL Page 15
Windows Azure Storage.
Поддерживают сложные запросы, включая джойны
Как результат – высокая масштабируемость
Встроенные механизмы проверки целостности данных
Нет механизмов проверки целостности данных
Блобы, таблицы и очереди Классическая реляционная бд
Реляционная модельНереляционная модель
Масштабируемость значительно усложняется
Поддержка целостности возлагается на
разработчика
MICROSOFT CONFIDENTIAL Page 16
Windows Azure Storage Account.
• Географическое расположение данных (US, Europe, Asia)
Уникальный глобальный
идентификатор
• 18 CDN-узлов для доставки блобов
Возможность доступа посредством CDN
• Аккаунт содержит 2 независимых 512 битных ключа
Безопасность
• До 100 Tb на один аккаунтХранилище
• Выполняется явным образом или при помощи Affinity Groups
Размещение рядом с вычислительной
частью
MICROSOFT CONFIDENTIAL Page 17
Windows Azure Storage. Предоставляемые сервисы.
Очереди. Механизм хранения и доставки
сообщений (Коммуникационный
канал)
Таблицы. Структурированное
хранилище. Таблица – набор сущностей.
Сущность – набор свойств.
Блобы. Простые именованные файлы, содержащие также
метаданные
Диски. Постоянные NTFS разделы, базирующиеся
на блобах.
MICROSOFT CONFIDENTIAL Page 18
Blob Storage. Концептуальная схема.http://<account>.blob.core.windows.net/<container>/
<blobname>
Account
Test
Container
Images
Blob Pages/Blocks
Videos
Pic1.jpg
Pic2.jpg
Video.avi
Block/Page
Block/Page
MICROSOFT CONFIDENTIAL Page 19
Blob Storage. Основные операции.
• Основные операции:• PutBlob• GetBlob• DeleteBlob• CopyBlob• SnapshotBlob• LeaseBlob
• Ассоциация метаданных• Наборы пар «имя/значение», до 8 Kb под каждый
блоб• Устанавливаются как часть операции PutBlob или
независимо• Доступ к блобам осуществляется по имени
• Имя может включать / или другие разделители
MICROSOFT CONFIDENTIAL Page 20
Blob Storage. Разновидности.
Block Blobs
Идеальны для стриминга
Каждый блоб состоит из набора блоков. Каждый блок идентифицируется уникальным идентификатором
Лимит в 200 Гб
Page Blobs
Идеальны для случайного доступа (чтение/запись)
Каждый блоб состоит из последовательности страниц. Cтраница идентифицируется сдвигом от начала блоба.
Лимит в 1 Tb
MICROSOFT CONFIDENTIAL Page 21
Table Storage. Концептуальная схема.
Account
Test
Table Entity
Customers
Photos
Name = …Email = ….
Name = …EmailAdd =
..
PhotoId = ..Date = …
PhotoId = …
Date = …
MICROSOFT CONFIDENTIAL Page 22
Table Storage.Основные операции.
• Таблицы• Create, Query, Delete• Каждая таблица может содержать
метаданные• Сущности• Insert• Update• Merge – частичное обновление• Replace – обновление целой
сущности• Delete• Query• Групповые транзакции• Множество CRUD операций в одной
транзакции
MICROSOFT CONFIDENTIAL Page 23
Table Storage. Свойства сущностей.
• Максимальный размер – 1 Мб на сущностьСущность может
иметь до 255 свойств
• PartitionKey & RowKey, уникально идентифицируют сущность, определяют порядок сортировки
Обязательные свойства для
каждой сущности
• Каждое свойство сохраняется как <name, typed value> пара
• Схема для таблицы не хранится• Свойства могут быть стандартными .NET
типами• String, binary, bool, DateTime, GUID, int, int64,
double
Нет фиксированной
схемы для остальных
свойств
MICROSOFT CONFIDENTIAL Page 24
Queue Storage. Концептуальная схема.
Account
Test
Queue Message
Jobs
CustomerIdOrderId
CustomerIdOrderId
MICROSOFT CONFIDENTIAL Page 25
Слабо связанные сценарии при помощи очередей
Удобны для сценариев «поставщик-потребитель», позволяя организовывать асинхронную подсистему
Web-роль
Web-роль
Web-роль
Queue
Worker-роль
Worker-роль
Worker-роль
Worker-роль
MICROSOFT CONFIDENTIAL Page 26
Queue Storage. Подробности.
• Безлимитное количество сообщений• 8 Kb – максимальный размер сообщения• Допустимые операции:• CreateQueue• DeleteQueue• Get/Set Metadata• Clear Messages
• Допустимые операции над сообщениями:• PutMessage• GetMessages• PeekMessages• DeleteMessage
MICROSOFT CONFIDENTIAL Page 27
DEMO
MICROSOFT CONFIDENTIAL Page 28
Как попробовать?
• Для MSDN подписчиков• http://msdn.microsoft.com/subscriptions/ee461
076.aspx• 30 дневная бесплатная подписка• http://windowsazurepass.com/?
campid=AA2D1C8A-FC44-E011-B3BB-001F29C6FB82
• Promo Code: CloudCover• CPLS, Partners• https://partners.microsoft.com/40118760
• Для всех остальных• http://www.microsoft.com/windowsazure/offers
MICROSOFT CONFIDENTIAL Page 29
Фещенко Александр.NET Team Lead
http://feschenkoalex.blogspot.comTwitter: FeschenkoAlex
Developer Days 2011, Kharkov
?