Developer Days 2011, Kharkov

29
MICROSOFT CONFIDENTIAL Page 1 Фещенко Александр .NET Team Lead http://feschenkoalex.blogspot. com [email protected] Приложения и хранилища данных Developer Days 2011, Kharkov

description

16.03.2011, Developer Days 2011 at Kharkov

Transcript of Developer Days 2011, Kharkov

Page 1: Developer Days 2011, Kharkov

MICROSOFT CONFIDENTIAL Page 1

Фещенко Александр.NET Team Lead

http://[email protected]

Приложения и хранилища данных

Developer Days 2011, Kharkov

Page 2: Developer Days 2011, Kharkov

MICROSOFT CONFIDENTIAL Page 2

2

1

3

План презентации

Жизненный цикл. Разработка.

Мотивация. Разновидности облачных сервисов

Жизненный цикл. Проектирование.

4 Жизненный цикл. Разворачивание.

5Windows Azure Storage Concepts

6Windows Azure Storage Blobs

7Windows Azure Storage Tables

Page 3: Developer Days 2011, Kharkov

MICROSOFT CONFIDENTIAL Page 3

Облачные вычисления. Что это?

Page 4: Developer Days 2011, Kharkov

MICROSOFT CONFIDENTIAL Page 4

Облачные вычисления – это электрификация 21-го века.

Series1Основной

Основной

Основной

Частное обеспечениеЦентрализированное обеспечение

% с

ген

ери

рован

ного

эл

ектр

ичест

ва

1910 1920 1930

Page 5: Developer Days 2011, Kharkov

MICROSOFT CONFIDENTIAL Page 5

Облачные сервисы

Infrastructure as a Service

Platform as a Service

Software as a Service

Page 6: Developer Days 2011, Kharkov

MICROSOFT CONFIDENTIAL Page 6

Облачные сервисы

Приложения

Данные

Среда выполнения

Операционная система

Виртуализация

Сервера

Хранилища

Сетевая инфраструктура

Приложения

Данные

Среда выполнения

Операционная система

Виртуализация

Сервера

Хранилища

Сетевая инфраструктура

Приложения

Данные

Среда выполнения

Операционная система

Виртуализация

Сервера

Хранилища

Сетевая инфраструктура

Приложения

Данные

Среда выполнения

Операционная система

Виртуализация

Сервера

Хранилища

Сетевая инфраструктура

Управляется Вами

Управляется поставщиком

IaaS PaaS SaaSOn-Premise

Page 7: Developer Days 2011, Kharkov

MICROSOFT CONFIDENTIAL Page 7

Жизненный цикл. Проектирование.

Чрезвычайно масштабируемая

архитектура

Смешанный режим:

что остается у нас, что уходит в

облако

Разработка с учетом

стоимости

Определение ролей

Коммуникация и протоколы

Стратегия хранения данных

Page 8: Developer Days 2011, Kharkov

MICROSOFT CONFIDENTIAL Page 8

Все, что есть в Windows Azure, служит одной цели

Чрезвычайной масштабируемости

• Возможность запуска роли в нескольких экземплярах• Набор «небольших» реляционных баз данных• Секционированное хранилище данных• Не зависящие от состояния роли

Page 9: Developer Days 2011, Kharkov

MICROSOFT CONFIDENTIAL Page 9

Жизненный цикл. Разработка.

Все тот же инструментари

й

Локальная

эмуляция облака

Все те же навыки в разработк

е и отладке

Page 10: Developer Days 2011, Kharkov

MICROSOFT CONFIDENTIAL Page 10

Локальная эмуляция облака.

Page 11: Developer Days 2011, Kharkov

MICROSOFT CONFIDENTIAL Page 11

Жизненный цикл. Разворачивание.

Staging Production

Page 12: Developer Days 2011, Kharkov

MICROSOFT CONFIDENTIAL Page 12

Жизненный цикл. Разворачивание.

Web RoleWorker

Role

*.cspkg

*.cscfg

Загрузка на Windows Azure

Windows Azure Fabric

Controller

*.cscfg

LB*.cspkgЗагрузка приложения напрямую из

Visual Studio, что способствует повышению скорости

разработки/разворачивания и тестирования

Page 13: Developer Days 2011, Kharkov

MICROSOFT CONFIDENTIAL Page 13

Жизненный цикл. Разворачивание. Web Deploy.Актуально для Web-ролей, длительность разворачивания исчисляется секундами

Page 14: Developer Days 2011, Kharkov

MICROSOFT CONFIDENTIAL Page 14

DEMO

Page 15: Developer Days 2011, Kharkov

MICROSOFT CONFIDENTIAL Page 15

Windows Azure Storage.

Поддерживают сложные запросы, включая джойны

Как результат – высокая масштабируемость

Встроенные механизмы проверки целостности данных

Нет механизмов проверки целостности данных

Блобы, таблицы и очереди Классическая реляционная бд

Реляционная модельНереляционная модель

Масштабируемость значительно усложняется

Поддержка целостности возлагается на

разработчика

Page 16: Developer Days 2011, Kharkov

MICROSOFT CONFIDENTIAL Page 16

Windows Azure Storage Account.

• Географическое расположение данных (US, Europe, Asia)

Уникальный глобальный

идентификатор

• 18 CDN-узлов для доставки блобов

Возможность доступа посредством CDN

• Аккаунт содержит 2 независимых 512 битных ключа

Безопасность

• До 100 Tb на один аккаунтХранилище

• Выполняется явным образом или при помощи Affinity Groups

Размещение рядом с вычислительной

частью

Page 17: Developer Days 2011, Kharkov

MICROSOFT CONFIDENTIAL Page 17

Windows Azure Storage. Предоставляемые сервисы.

Очереди. Механизм хранения и доставки

сообщений (Коммуникационный

канал)

Таблицы. Структурированное

хранилище. Таблица – набор сущностей.

Сущность – набор свойств.

Блобы. Простые именованные файлы, содержащие также

метаданные

Диски. Постоянные NTFS разделы, базирующиеся

на блобах.

Page 18: Developer Days 2011, Kharkov

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

Page 19: Developer Days 2011, Kharkov

MICROSOFT CONFIDENTIAL Page 19

Blob Storage. Основные операции.

• Основные операции:• PutBlob• GetBlob• DeleteBlob• CopyBlob• SnapshotBlob• LeaseBlob

• Ассоциация метаданных• Наборы пар «имя/значение», до 8 Kb под каждый

блоб• Устанавливаются как часть операции PutBlob или

независимо• Доступ к блобам осуществляется по имени

• Имя может включать / или другие разделители

Page 20: Developer Days 2011, Kharkov

MICROSOFT CONFIDENTIAL Page 20

Blob Storage. Разновидности.

Block Blobs

Идеальны для стриминга

Каждый блоб состоит из набора блоков. Каждый блок идентифицируется уникальным идентификатором

Лимит в 200 Гб

Page Blobs

Идеальны для случайного доступа (чтение/запись)

Каждый блоб состоит из последовательности страниц. Cтраница идентифицируется сдвигом от начала блоба.

Лимит в 1 Tb

Page 21: Developer Days 2011, Kharkov

MICROSOFT CONFIDENTIAL Page 21

Table Storage. Концептуальная схема.

Account

Test

Table Entity

Customers

Photos

Name = …Email = ….

Name = …EmailAdd =

..

PhotoId = ..Date = …

PhotoId = …

Date = …

Page 22: Developer Days 2011, Kharkov

MICROSOFT CONFIDENTIAL Page 22

Table Storage.Основные операции.

• Таблицы• Create, Query, Delete• Каждая таблица может содержать

метаданные• Сущности• Insert• Update• Merge – частичное обновление• Replace – обновление целой

сущности• Delete• Query• Групповые транзакции• Множество CRUD операций в одной

транзакции

Page 23: Developer Days 2011, Kharkov

MICROSOFT CONFIDENTIAL Page 23

Table Storage. Свойства сущностей.

• Максимальный размер – 1 Мб на сущностьСущность может

иметь до 255 свойств

• PartitionKey & RowKey, уникально идентифицируют сущность, определяют порядок сортировки

Обязательные свойства для

каждой сущности

• Каждое свойство сохраняется как <name, typed value> пара

• Схема для таблицы не хранится• Свойства могут быть стандартными .NET

типами• String, binary, bool, DateTime, GUID, int, int64,

double

Нет фиксированной

схемы для остальных

свойств

Page 24: Developer Days 2011, Kharkov

MICROSOFT CONFIDENTIAL Page 24

Queue Storage. Концептуальная схема.

Account

Test

Queue Message

Jobs

CustomerIdOrderId

CustomerIdOrderId

Page 25: Developer Days 2011, Kharkov

MICROSOFT CONFIDENTIAL Page 25

Слабо связанные сценарии при помощи очередей

Удобны для сценариев «поставщик-потребитель», позволяя организовывать асинхронную подсистему

Web-роль

Web-роль

Web-роль

Queue

Worker-роль

Worker-роль

Worker-роль

Worker-роль

Page 26: Developer Days 2011, Kharkov

MICROSOFT CONFIDENTIAL Page 26

Queue Storage. Подробности.

• Безлимитное количество сообщений• 8 Kb – максимальный размер сообщения• Допустимые операции:• CreateQueue• DeleteQueue• Get/Set Metadata• Clear Messages

• Допустимые операции над сообщениями:• PutMessage• GetMessages• PeekMessages• DeleteMessage

Page 27: Developer Days 2011, Kharkov

MICROSOFT CONFIDENTIAL Page 27

DEMO

Page 28: Developer Days 2011, Kharkov

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

Page 29: Developer Days 2011, Kharkov

MICROSOFT CONFIDENTIAL Page 29

Фещенко Александр.NET Team Lead

http://feschenkoalex.blogspot.comTwitter: FeschenkoAlex

Developer Days 2011, Kharkov

?