Развитие платформы облачных вычислений Microsoft Windows Azure Лекция 6 Windows Azure Storage Сафонов Владимир Олегович Профессор кафедры информатики Заведующий лабораторией Java-технологии Санкт-Петербургский государственный университет Email: vosafonov@gmail.com WWW: http://www.vladimirsafonov.org Введение в Azure Storage Windows Azure Storage– основная компонента Azure, предназначенная для управления памятью в “облаке”. По классу ПО (см. лекцию 1) Azure Storage относится к промежуточному ПО (middleware) Azure Storage предназначена для поддержки хранения информации в Azure Platform. (C) Сафонов В.О. 2013 Основные сервисы Storage - Сервис Blob (Binary Large OBjects) для хранения текста или бинарных данных - Сервис Queue для надежного сохраняемого обмена сообщениями между сервисами - Сервис Table для работы со структурированной памятью, к которой можно обращаться по запросам. (C) Сафонов В.О. 2013 Преимущества Windows Azure Storage Троекратное дублирование данных; устойчивость к ошибкам Поддержка REST (Representational State Transfer) – наиболее оптимального асинхронного протокола взаимодействия с Web-сервисами В новой версии Azure (2013) разработана библиотека Azure Client Library с более дружественным интерфейсом для создания и обработки элементов Azure Storage (C) Сафонов В.О. 2013 Формат доменных имен элементов Windows Azure Storage В новой версии Azure предоставляются три сервиса Памяти - таблицы (tables), очереди (queues) и бинарные объекты (blobs) Каждый сервис имеет программный .NET API и HTTP REST API REST-узлы сети имеют следующий формат имен: .[storage,blob,queue].core.windows.net. (C) Сафонов В.О. 2013 Таблицы Структурированные, не требующие описаний в виде схем, масштабируемые хранилища данных Каждый объект имеет имя таблицы и набор свойств вида ключ / значение Ограничения на объекты: максимальный объем – 1 МБайт, максимальное число свойств – 255. Поддерживаются следующие типы свойств: - строка (string) - двоичный объект (binary) - целое число (int) - длинное целое (long) - булевское значение (bool) - вещественное двойной точности (double) - глобальный идентификатор объекта (guid) Имеется три специальных свойства: ключ раздела (partition key), ключ строки в таблице (row key), и версия (version) К таблицам поддерживаются очереди сообщений Таблица делится на разделы (partitions), каждый из которых может быть размещен в отдельной виртуальной машине Запросы к таблицам (C) Сафонов В.О. 2013 Windows Azure Storage: Таблицы (C) Сафонов В.О. 2013 Бинарные объекты (blobs) Бинарные объекты могут создаваться и обрабатываться программным путем (через REST API, через Windows Azure Client Library или через Windows Azure drives) Бинарные объекты – блочные или страничные Бинарные объекты идентифицируются уникальными, мнемоничными путями доступа в виде URL-адресов типа: <account>.blob.core.windows.net Блоки до 64 МБайт могут обрабатываться непосредственно, большей длины – должны быть разделены на блоки. Размер блочных бинарных объектов – до 200 ГБайт Каждый блок закачивается на сайт отдельно. В конце операции проверяется, все ли блоки закачаны. Возможно использование страничных бинарных объектов, размером до 1 TB. Они предназначены для произвольного доступа к памяти. Пространство имен для бинарных объектов – это иерархический URL-путь вида: <account>.blob. core.windows.net Бинарные объекты можно изменять (C) Сафонов В.О. 2013 Windows Azure Storage: BLOBs (C) Сафонов В.О. 2013 Windows Azure Storage: Очереди Память Windows Azure Queue – это сервис для хранения большого числа сообщений, доступ к которому возможен через Web с помощью аутентифицированных вызовов, использующих протоколы HTTP или HTTPS Каждое из сообщений в очереди может иметь размер до 64KB Очередь может состоять из нескольких миллионов сообщений. Предельный объем учетной записи – 100 TB Основные способы использования очередей: - Создание рабочего множества для асинхронной обработки - Передача сообщений от Web-роли Windows Azure к worker-роли Windows Azure (C) Сафонов В.О. 2013 Windows Azure Storage: Очереди (C) Сафонов В.О. 2013 Формат URL-адресов для очередей Очереди адресуются с использованием следующего URL-формата: http://<storage account>.queue.core.windows.net/<queue> Следующий URL-адрес ссылается на одну из очередей на диаграмме (см. предыдущий слайд): http://myaccount.queue.core.windows.net/imagesToDownload (C) Сафонов В.О. 2013 Существующий Storage Account (C) Сафонов В.О. 2013 Создание нового Storage Account (C) Сафонов В.О. 2013 Создание нового Storage Account (C) Сафонов В.О. 2013 Территориальная группа для Storage Account (C) Сафонов В.О. 2013 Создание новой учетной записи хранения (C) Сафонов В.О. 2013 URL-адрес учетной записи хранения (C) Сафонов В.О. 2013 Учетная запись хранения создана (C) Сафонов В.О. 2013 Создание контейнера для Storage account saf2 (C) Сафонов В.О. 2013 Имя контейнера и доступ к нему (C) Сафонов В.О. 2013 Контейнер для BLOB создан (C) Сафонов В.О. 2013 Попытка просмотра пустого BLOBконтейнера (C) Сафонов В.О. 2013 Мониторинг Storage account (C) Сафонов В.О. 2013 Настройка георепликации и мониторинга (C) Сафонов В.О. 2013 Создание ключей доступа (C) Сафонов В.О. 2013 Трассировка операций над Storage в облаке (C) Сафонов В.О. 2013 Домашнее задание к лекции 6 1. Войдите в облако Azure, создайте Storage account и в нем – контейнер. 2. Изучите Azure Client Library и с ее помощью разработайте приложение для создания бинарного объекта, таблицы и очереди. (C) Сафонов В.О. 2013