Презентация по лекции 6

advertisement
Тема 6. Azure Services Platform
Аксёнов С.В.
Платформа Windows Azure – это модель Платформа как Сервис, которая
предполагает запуск приложений на серверах и связанной сетевой инфраструктуре,
размещенной в центрах обработки данных Microsoft и имеющей доступ в Интернет.
Платформа состоит из мастшабируемой «облачной» операционной системы, фабрики
хранения данных и связанных сервисов доставки через физические или логические
(виртуализация) экземпляры Windows Server.
Согласно Microsoft, при использовании Azure пользователь получает:
Адаптацию существующих приложений для работы с веб сервисами;
Построение, изменение и распределение приложений в Сети с минимальными
локальными ресурсами;
Выполнение услуг, таких как хранение больших объемов данных, пакетная
обработка данных, вычисления большой объемов данных, и так далее;
Создание, тестирование, отладка и распределение веб сервисов быстро и недорого;
Снижение стоимости и рисков построения и распространения местных ресурсов;
Снижение затрат и усилий на ИТ управление.
Компоненты платформы Windows Azure и Комплекта средств разработки
Windows Azure, которая включает:
Azure Hosted service;
Storage Accounts;
SQL Azure
Live службы, которые ключают:
Live Framework: Предварительная версия;
Live Services: существующие интерфейсы прикладного программирования.
Windows Azure Storage
Хранилище Windows Azure Storage обеспечивает разработчикам возможность хранения данных
в облаке. Приложение может выполнять доступ к своим данным в любой момент времени из
любой точки планеты, хранить любой объем данных и как угодно долго. При этом данные
гарантированно не будут повреждены и утеряны. Windows Azure Storage предлагает богатый
набор абстракций данных:
Windows Azure Table – обеспечивает структурированное хранилище состояний сервиса.
Windows Azure Blob – обеспечивает хранилище больших элементов данных.
Windows Azure Queue – обеспечивает диспетчеризацию асинхронных заданий для реализации
обмена данными между сервисами.
Azure Table Services
Windows Azure Table - структурированное хранилище, которе поддерживает
высокомасштабируемые таблицы в облаке, которые могут содержать
миллиарды сущностей и терабайты данных. По мере увеличения трафика,
система будет эффективно масштабироваться, автоматически подключая
тысячи серверов. Структурированное хранилище реализовано в виде таблиц
(Tables), в которых располагаются сущности (Entities), содержащие ряд
именованных свойств (Properties).
Основные характеристики Windows Azure Table:
Поддержка LINQ, ADO .NET Data Services и REST.
Контроль типов во время компиляции при использовании клиентской библиотеки
ADO .NET Data Services.
Богатый набор типов данных для значений свойств.
Поддержка неограниченного количества таблиц и сущностей без ограничения
размеров таблиц.
Поддержка целостности для каждой сущности.
Нежесткая блокировка при обновлениях и удалениях.
Для запросов, выполнение которых требует длительного периода времени, или
запросов, прерванных по завершению времени ожидания, возвращаются частичные
результаты и маркер продолжения
Модель данных таблицы Windows Azure Table:
Учетная запись хранилища (Storage Account).
Таблица (Table)
Сущность (строка) (Entity (Row))
Свойство (столбец) (Property (Column))
Ключ секции (PartitionKey)
Ключ строки (RowKey)
Временная метка (Timestamp)
Секция (Partition)
Порядок сортировки (Sort Order)
Тип свойства
Binary
Bool
DateTime
Double
GUID
Int
Int64
String
Описание
Массив байтов размером до 64 КБ.
Булево значение.
64-разрядное значение, представляющее
время в формате UTC. Поддерживаемый
диапазон значений: от 1/1/1600 до
12/31/9999.
64-разрядное значение с плавающей
точкой.
128-разрядный глобально уникальный
идентификатор.
32-разрядное целое значение.
64-разрядное целое значение.
16-разрядное UTF-кодированное значение.
Размер строковых значений может быть до
64 КБ.
Для таблиц и сущностей поддерживаются следующие базовые операции:
Создание таблицы или сущности.
Извлечение таблицы или сущности с применением фильтров.
Обновление сущности (но не таблицы).
Удаление таблицы или сущности.
Учетная запись хранилища – Любой доступ к Windows Azure Storage осуществляется
через учетную запись хранилища.
Это самый высокий уровень пространства имен для доступа к объектам blob.
Учетная запись может иметь множество контейнеров Blob.
Контейнер Blob – Контейнер обеспечивает группировку набора объектов blob. Область
действия имени контейнера ограничена учетной записью.
Политики совместного использования задаются на уровне контейнера. В
настоящее время поддерживаются «Public READ» (Открытое чтение) и «Private»
(Закрытый). Если для контейнера определена политика «Public READ», все его
содержимое открыто доступно для чтения без необходимости аутентификации.
Политика «Private» означает доступ с аутентификацией, т.е. только владелец
соответствующей учетной записи имеет доступ к объектам blob этого контейнера.
С контейнером могут быть ассоциированы метаданные, которые задаются в виде
пар <имя, значение>. Максимальный размер метаданных контейнера – 8КБ.
Существует возможность получения списка всех объектов blob контейнера.
Blob – Объекты blob хранятся в контейнерах Blob Container и их область действия
ограничена этими контейнерами. Каждый blob может быть размером до 50ГБ и имеет
уникальное в рамках контейнера строковое имя. С blob могут быть ассоциированы
метаданные, которые задаются в виде пар <имя, значение> и могут достигать размера
8КБ для blob. Метаданные blob могут быть получены и заданы отдельно от данных
blob.
Команды HTTP/REST, поддерживаемые для реализации операций с blob:
PUT Blob – Вставить новый или перезаписать существующий blob с
заданным именем.
GET Blob – Получить весь blob или диапазон байтов blob, используя
стандартную HTTP-операцию для возвращения диапазона GET.
DELETE Blob – Удалить существующий blob.
Windows Azure Blob обеспечивает следующие операции уровня блока:
•PUT block – загрузить блок blob. Обратите внимание, что успешно
загруженный посредством операции PUT block блок не является частью blob
до тех пор, пока это не будет подтверждено списком блоков, загружаемым
операцией PUT blocklist.
•PUT blocklist – подтвердить blob через предоставление списка ID блоков, его
составляющих. Указанные в этой операции блоки должны быть уже успешно
загружены через вызовы PUT. Порядок блоков в операции PUT blocklist
обеспечит пригодную для чтения версию blob.
GET blocklist – извлечь список блоков, переданный ранее для blob операцией
PUT blocklist. В возвращаемом списке блоков указываются ID и размер
каждого блока.
Azure Queue Services
Windows Azure Queue предоставляет надежный механизм доставки
сообщений. Она предлагает простой алгоритм диспетчеризации
асинхронных заданий, который обеспечивает возможность подключения
к разным компонентам приложения в облаке. Очереди Windows Azure
Queue характеризуются высокой надежностью, постоянством и
производительностью. Текущая реализация гарантирует, по крайней
мере, однократную обработку сообщения. Более того, Windows Azure
Queue имеет REST-интерфейс, таким образом, приложения могут
создаваться на любом языке программирования и выполнять доступ к
очереди через веб в любое время из любой точки Интернета.
Построение приложений для облака с использованием Azure Queue
Модель данных Windows Azure Queue
Учетная запись хранилища – Любой доступ к Windows Azure Storage
осуществляется через учетную запись хранилища.
Очередь – Очередь содержит множество сообщений. Область действия
имени очереди ограничена учетной записью.
Сообщения – Сообщения хранятся в очередях. Каждое сообщение может
быть размером не более 8КБ. Для хранения данных большего размера
используются хранилища Azure Blob или Azure Table, а в сообщении
указывается имя большого двоичного объекта/сущности.
Пример использования очереди
Download