- PVSM.RU - https://www.pvsm.ru -
Добрый день, уважаемые коллеги.
Предлагаю вам ознакомиться с переводом очередной части сравнения сервисов хранилища двух известнейших облачных платформ. Остальные переводы будут выкладываться по мере оформления.
Первая часть цикла — Сравнение Windows Azure Table Storage и Amazon DynamoDB [1]
В этом цикле статей я хочу сравнить основную функциональность Windows Azure Blob Storage Service [2] и Amazon Simple Storage Service (S3) [3]. В этой части мы посмотрим на основные концепции, ценообразование и сравним функциональность контейнеров блобов и корзин. В части II мы будем сравнивать блобы и объекты. В части III я приведу выводы, в части IV — сравнение Windows Azure Blob Storage и Google Cloud Storage.
Аббревиатуры: Windows Azure Blob Storage — WABS, Amazon Simple Storage Service – AS 3.
Концептуально WABS и AS3 представляют из себя похожие по функциональности системы. Кратко говоря, обе системы можно рассматривать как файловую систему в облаке, в которой пользователь хранит большие объемы неструктурированных данных (обычно в виде файлов).
В обеих системах вы можете создать один или более контейнеров блобов или корзин, которые будут содержать ноль или более блобов или объектов.
Обе системы предоставляют REST API для работы с очередями и сообщениями и другими библиотеками высокоуровневых языков, которые обычно представляют из себя врапперы REST API. Обе системы имеют временную конвенцию именования версий – на момент написания этой статьи версия API WABS имеет версию 2011-08-18 [4], AS3 — 2006-03-01 [5].
В целом обе системы предоставляют похожие функции, некоторые из которых приведены ниже:
Есть, конечно же, и различия:
Перед тем, как мы поговорим подробнее об этих двух сервисах, я считаю важным пояснить некоторые концепции. Если вы знакомы с базовыми концепциями WABS и AS3, можете пропустить этот раздел.
Контейнеры блобов и корзины: Если эти сервисы – файловые системы в облаке, рассматривайте контейнер блобов WABS и корзину AS3 как папку или директорию. В аккаунте хранилища WABS или аккаунте AS3 вы можете иметь ноль и более контейнеров блобов и корзин, которые могут содержать блобы или объекты соответственно.
Комментарии:
Блобы и объекты: Блобы WABS и объекты AS3 – это файлы в вашей облачной файловой системе, расположенные в контейнерах блобов и корзинах.
Комментарии:
При использовании обеих систем отсутствуют «капитальные» затраты. Модель ценообразования относительно проста и основана на потреблении. В обеих системах счет выставляется на основе использования и он может состоять из трех компонентов:
Доступна также специальная модель ценообразования и обе системы предоставляют различные пакеты оплаты. Подробнее про ценообразование — https://www.windowsazure.com/en-us/pricing/details/ [14] для WABS и http://aws.amazon.com/s3/pricing/ [15] для AS3.
Рассмотрим подробнее эти функции.
| WABS | AS3 | |
| Create Container/PUT Bucket | Да [78] | Да [18] |
Эта функция создает новый контейнер блобов или корзину.
Важным моментом, который необходимо помнить, является то, что контейнеры блобов ограничиваются аккаунтом хранилища, тогда как корзины AS3 ограничиваются аккаунтом Amazon. Когда вы создаете аккаунт хранилища WABS, вы определяете его расположение (датацентр), и ваши контейнеры блобов располагаются в конкретном датацентре в конкретной географической локации. Когда вы создаете корзину в AS3, вы определяете регион, в котором будет создана эта корзина, таким образом, можно распределить корзины по всем датацентрам в AS3, если есть такая необходимость. Для того, чтобы сделать то же самое в WABS, вам нужно создать по аккаунту хранилища в каждом датацентре, в котором вы хотите разместить контейнеры.
Есть несколько правил именования контейнеров блобов и корзин, они сведены в таблицу ниже.
| WABS | AS3 | |
| Минимальная/максимальная длина название | 3/63 | 3/63 |
| Чувствительность к регистру | Нижний регистр | Нижний регистр |
| Разрешенные символы | Alphanumeric, дефис (-) | Alphanumeric, дефис (-) и точка (.) |
Ещё правила по именованию:
Примечания:
| WABS | AS3 | |
| List Containers/GET Service | Да [20] | Да [21] |
Функция возвращает список всех контейнеров блобов или корзин.
Комментарии:
| WABS | AS3 | |
| Delete Container/DELETE Bucket | Да [23] | Да [24] |
Функция удаляет контейнер блобов или корзину.
Комментарии:
| WABS | AS3 | |
| List Blobs/GET Bucket (List Objects) | Да [26] | Да [27] |
Функция используется для получения списка блобов и объектов в контейнере или корзине. Функции в системах выполняют одно и то же, учитывая:
Различия:
| WABS | AS3 | |
| Set Blob Service Properties/PUT Bucket logging | Да [29] | Да [30] |
Обе системы предлагают возможности по логированию запросов, и эта функция не включена по умолчанию. В WABS эта функция называется Storage Analytics [79] и используется для всех сервисов хранилища Windows Azure – таблиц, очередей, блобов.
Различия в логировании:
| WABS | AS3 | |
| Get Blob Service Properties/GET Bucket logging | Да [32] | Да [33] |
Функция используется для получения информации о логировании. В AS3 к этой информации может получить доступ любой разрешенный пользователь, и операция возвратит информацию об этом пользователе.
| WABS | AS3 | |
| Set Container ACL/PUT Bucket acl | Да [35] | Да [36] |
Функция используется для указания ACL для контейнеров или корзин, и в WABS можно также указать одну или более политик доступа.
Для контейнера блобов значения ACL могут быть:
Для корзин значения ACL могут быть равны:
Удобным в AS3 является то, что можно дать пользователям различные наборы разрешений, например, user1 может иметь READ ACL, user2 – WRITE ACL, в WABS такой гибкости нет, разрешения ставятся только на контейнер блобов.
Удобным в WABS является то, что помимо ACL можно задавать до 5 политик доступа к контейнеру, которые определяют временной набор разрешений к этому контейнеру. Например, можно создать политику доступа с разрешением на запись на контейнер блобов, которая будет действовать только день. Использование политик позволяет генерировать специальный URL с сигнатурой и выдавать его пользователям (гибкая функциональность Shared Access Signatures). Сигнатуры позволяют выдать права на доступ на контейнеры и блобы на более детальном уровне на определенное время.
| WABS | AS3 | |
| Get Container ACL/GET Bucket acl | Да [35] | Да [38] |
Функция используется для получения ACL для контейнера блобов или корзины, и в WABS эта функция также возвращает политики доступа, определенные для контейнера.
| WABS | AS3 | |
| List Blobs/GET Bucket Object versions | Да [26] | Да [40] |
Обе системы поддерживают версионирование – в WABS версионирование блобов (снапшоты), в AS3 – объектов, однако используют для этого различные механизмы. В AS3 функция возвращает только версионированные объекты, в WABS версионированные объекты можно также получить с использованием List Blobs (см. выше).
Полезный совет: Если вы хотите получить список только снапшотов или версии одного объекта в AS3, вы можете использовать эту функцию, передав ей полное имя объекта как префикс.
| WABS | AS3 | |
| List Blobs/List Multipart Uploads | Да [26] | Да [42] |
Обе системы поддерживают загрузку блобов и объектов по частям. В WABS при загрузке блоков блобов можно разделить блобы на блоки и загрузить эти блоки, после чего подтвердить их и сделать блоб доступным для использования. В AS3 вы можете загрузить объект, разделив его на множество частей и загрузив их, после чего подтвердить и сделать объект доступным для использования.
List Multipart Uploads в AS3 сообщает вам о том, какие из частей объекта загружаются, как они разделены и статус загрузки, однако не сообщает о том, какие были загружены, а какие нет. В WABS можно реализовать аналогичную функциональность, используя List Blobs (указав WABS, что вместе с подтвержденными блобами необходимо также возвращать и неподтвержденные.
| WABS | AS3 | |
| Set Container Metadata | Да [44] | Нет |
Функция используется для указания словаря метаданных в виде коллекции записей ключ-значение для контейнера блобов в WABS.
Комментарии:
| WABS | AS3 | |
| Get Container Metadata | Да [46] | Нет |
Функция используется для получения метаданных, определенных для контейнера блобов.
| WABS | AS3 | |
| PUT Bucket versioning | Нет | Да [48] |
Версионирование позволяет управлять несколькими копиями объекта. Эта функция позволяет включить версионирование на объектах в корзине и, если будет совершена одна из операций PUT, POST, COPY, DELETE, будет создана новая версия объекта. По умолчанию эта функциональность выключена.
WABS поддерживает похожую функциональность “Snapshot Blob [80]”, вызов которой создает копию только для чтения текущей версии блоба.
Различия в версионировании в двух системах:
| WABS | AS3 | |
| GET Bucket versioning | Нет | Да [50] |
Функция используется для получения состояния версионирования (Enabled или Suspended) для корзины в AS3. Возвращает пустой результат, если состояние версионирования никогда не менялось.
| WABS | AS3 | |
| PUT Bucket lifecycle | Нет | Да [52] |
В AS3 эта функция позволяет указать, необходимо ли удалять объекты из корзины автоматически по прошествии определенного времени. Например, вы храните логи как объекты в корзине, и хотите, чтобы они автоматически удалялись через 30 дней.
По умолчанию объекты хранятся в корзинах до момента их удаления пользователем.
Эта функция применяется на уровне папки. Например, вы храните логи доступа и ошибок в корзине «logs» в соответствующих папках «accesslogs» и «errorlogs». Используя эту функцию, вы можете определить, что объекты в папке «accesslogs» будут удаляться по прошествии определенного времени (используя префикс).
Нельзя использовать, если вы хотя бы раз включали версионирование на конкретной корзине.
| WABS | AS3 | |
| GET Bucket lifecycle | Нет | Да [54] |
Функция возвращает информацию о конфигурации жизненного цикла (см. выше про автоматическое удаление).
| WABS | AS3 | |
| DELETE Bucket lifecycle | Нет | Да [56] |
Функция удаляет конфигурацию жизненного цикла, привязанную к корзине.
| WABS | AS3 | |
| PUT Bucket policy | Нет | Да [58] |
AS3 предоставляет несколько механизмов по защите корзин и объектов от несанкционированного доступа, одним из которых является политика корзины. Для этого просто необходимо воспользоваться этой функцией и положить политику корзины куда надо. С политикой корзины владелец корзины может:
Подробнее про политики корзин тут [81].
| WABS | AS3 | |
| GET Bucket policy | Нет | Да [58] |
Функция возвращает политику, установленную на корзину.
| WABS | AS3 | |
| DELETE Bucket policy | Нет | Да [61] |
Функция удаляет политику, установленную на корзину.
| WABS | AS3 | |
| PUT Bucket notification | Нет | Да [63] |
AS3 может отправлять сообщения в Amazon Simple Notification Service (SNS), если случается какое-либо важное событие в жизни корзины. Подписчики SNS могут получать эти сообщения, которые могут доставляться на веб-сервер, e-mail, Amazon Simple Queue Service.
В текущей реализации можно использовать уведомления только для одного события: “s3:ReducedRedundancyLostObject”, которое возникает при потере всех реплик объекта и, соответственно, отсутствии возможности обращаться к этому объекту.
Функция используется для включения или выключения уведомлений об изменении состояния корзины.
| WABS | AS3 | |
| GET Bucket notification | Нет | Да [65] |
Функция возвращает конфигурацию уведомлений корзины.
| WABS | AS3 | |
| PUT Bucket requestPayment | Нет | Да [67] |
В обычной ситуации владелец корзины платит за скачивания из корзины, однако AS3 предлагает переложить эту обязанность на другого пользователя — владелец корзины может настроить так, чтобы за скачивание из корзины платил другой аккаунт. Эта функция используется для, в том числе, определения, что человек, запросивший скачивание, должен будет заплатить за это скачивание. Подробнее тут [82].
| WABS | AS3 | |
| GET Bucket requestPayment | Нет | Да [69] |
Функция возвращает конфигурацию по запросу оплаты (см. выше) для корзины.
| WABS | AS3 | |
| PUT Bucket website | Нет | Да [71] |
Ещё одной удобной функцией в AS3 является возможность размещения статических веб-сайтов в корзинах, что можно делать и в WABS, но в WABS нельзя определить страницу, которая будет открываться по умолчанию, страницу ошибки и привязать какое-либо доменное имя к размещаемому веб-сайту (что можно сделать в AS3). Подробнее тут [83].
Функция позволяет сконфигурировать корзину для использования в качестве статического веб-сайта и указать страницы по умолчанию и страницы ошибок (например, для ошибки 404).
| WABS | AS3 | |
| GET Bucket website | Нет | Да [73] |
Функция возвращает конфигурацию корзины как статического веб-сайта.
| WABS | AS3 | |
| DELETE Bucket website | Нет | Да [75] |
Функция удаляет конфигурацию корзины как статического веб-сайта.
| WABS | AS3 | |
| HEAD Bucket | Нет | Да [77] |
Функция позволяет определить, существует ли корзина и имеет ли пользователь разрешения на доступ к этой корзине.
Концептуально оба сервиса предоставляют аналогичную функциональность, но Amazon S3 является более «богатым» на функции, отчасти из-за того, что у Amazon было на 2+ года больше на разработку системы. Я очень надеюсь, что Windows Azure Blob Storage нагонит S3 и реализует отсутствующие очень нужные функции. Лично я люблю такие функции S3, как:
Однако было бы замечательно увидеть и такие функции, как:
Примечание от переводчика:
Насколько я знаю, для Windows Azure создан отдельный сайт, называющийся http://www.mygreatwindowsazureidea.com [84], где пользователи голосуют за разработку необходимых им фич, и Microsoft действительно реагирует на запросы пользователей. Для платформы Amazon, к сожалению, я не нашел подобной площадки, что не является хорошей практикой – в случае именно облачных платформ, которые являются гигантскими программными комплексами, ориентироваться на мнение пользователей очень важно. Если у Amazon есть подобные механизмы взаимодействия с пользователями, прошу указать в комментариях. В целом же спорить не с чем – в контексте первого уровня иерархии файловой системы (контейнеры блобов и корзины) Amazon выигрывает за счёт более богатой функциональности. Скоро я выложу переводы остальных статей, и из них станет понятно, что в остальных аспектах сравнения сохраняется относительный паритет.
Автор: ahriman
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/microsoft/8762
Ссылки в тексте:
[1] Первая часть цикла — Сравнение Windows Azure Table Storage и Amazon DynamoDB : http://habrahabr.ru/post/144762/
[2] Windows Azure Blob Storage Service: http://msdn.microsoft.com/en-us/library/windowsazure/dd135733.aspx
[3] Amazon Simple Storage Service (S3): http://aws.amazon.com/s3/
[4] 2011-08-18: http://msdn.microsoft.com/en-us/library/windowsazure/dd894041.aspx
[5] 2006-03-01: http://docs.amazonwebservices.com/AmazonS3/latest/API/Welcome.html?r=4391
[6] Amazon Identity and Access Management (IAM), Bucket Policies, ACLs and Query String Authentication: http://docs.amazonwebservices.com/AmazonS3/2006-03-01/dev/UsingAuthAccess.html
[7] ACLs and Shared Access Signatures: http://msdn.microsoft.com/en-us/library/windowsazure/ee393341.aspx
[8] Amazon Import/Export: http://aws.amazon.com/importexport/
[9] Amazon DevPay: http://docs.amazonwebservices.com/AmazonS3/latest/dev/UsingDevPay.html
[10] Requester Pay Buckets: http://docs.amazonwebservices.com/AmazonS3/latest/dev/RequesterPaysBuckets.html
[11] http://mybucket.s3.amazon.com/myobject: http://mybucket.s3.amazon.com/myobject
[12] http://s3-eu-west-1.amazonaws.com/mybucket/myobject: http://s3-eu-west-1.amazonaws.com/mybucket/myobject
[13] http://myaccount.blob.core.windows.net/myblobcontainer/myblob: http://myaccount.blob.core.windows.net/myblobcontainer/myblob
[14] https://www.windowsazure.com/en-us/pricing/details/: https://www.windowsazure.com/en-us/pricing/details/
[15] http://aws.amazon.com/s3/pricing/: http://aws.amazon.com/s3/pricing/
[16] Create Container/PUT Bucket: http://gauravmantri.com/2012/05/09/comparing-windows-azure-blob-storage-and-amazon-simple-storage-service-s3part-i/#f001
[17] Да: http://msdn.microsoft.com/en-us/library/windowsazure/dd179468.aspx
[18] Да: http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketPUT.html
[19] List Containers/GET Service: http://gauravmantri.com/2012/05/09/comparing-windows-azure-blob-storage-and-amazon-simple-storage-service-s3part-i/#f002
[20] Да: http://msdn.microsoft.com/en-us/library/windowsazure/dd179352.aspx
[21] Да: http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTServiceGET.html
[22] Delete Container/DELETE Bucket: http://gauravmantri.com/2012/05/09/comparing-windows-azure-blob-storage-and-amazon-simple-storage-service-s3part-i/#f003
[23] Да: http://msdn.microsoft.com/en-us/library/windowsazure/dd179408.aspx
[24] Да: http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketDELETE.html
[25] List Blobs/GET Bucket (List Objects): http://gauravmantri.com/2012/05/09/comparing-windows-azure-blob-storage-and-amazon-simple-storage-service-s3part-i/#f004
[26] Да: http://msdn.microsoft.com/en-us/library/windowsazure/dd135734.aspx
[27] Да: http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketGET.html
[28] Set Blob Service Properties/PUT Bucket logging: http://gauravmantri.com/2012/05/09/comparing-windows-azure-blob-storage-and-amazon-simple-storage-service-s3part-i/#f005
[29] Да: http://msdn.microsoft.com/en-us/library/windowsazure/hh452235.aspx
[30] Да: http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketPUTlogging.html
[31] Get Blob Service Properties/GET Bucket logging: http://gauravmantri.com/2012/05/09/comparing-windows-azure-blob-storage-and-amazon-simple-storage-service-s3part-i/#f006
[32] Да: http://msdn.microsoft.com/en-us/library/windowsazure/hh452239.aspx
[33] Да: http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketGETlogging.html
[34] Set Container ACL/PUT Bucket acl: http://gauravmantri.com/2012/05/09/comparing-windows-azure-blob-storage-and-amazon-simple-storage-service-s3part-i/#f007
[35] Да: http://msdn.microsoft.com/en-us/library/windowsazure/dd179391.aspx
[36] Да: http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketPUTacl.html
[37] Get Container ACL/GET Bucket acl: http://gauravmantri.com/2012/05/09/comparing-windows-azure-blob-storage-and-amazon-simple-storage-service-s3part-i/#f008
[38] Да: http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketGETacl.html
[39] List Blobs/GET Bucket Object versions: http://gauravmantri.com/2012/05/09/comparing-windows-azure-blob-storage-and-amazon-simple-storage-service-s3part-i/#f009
[40] Да: http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketGETVersion.html
[41] List Blobs/List Multipart Uploads: http://gauravmantri.com/2012/05/09/comparing-windows-azure-blob-storage-and-amazon-simple-storage-service-s3part-i/#f010
[42] Да: http://docs.amazonwebservices.com/AmazonS3/latest/API/mpUploadListMPUpload.html
[43] Set Container Metadata: http://gauravmantri.com/2012/05/09/comparing-windows-azure-blob-storage-and-amazon-simple-storage-service-s3part-i/#f011
[44] Да: http://msdn.microsoft.com/en-us/library/windowsazure/dd179362.aspx
[45] Get Container Metadata: http://gauravmantri.com/2012/05/09/comparing-windows-azure-blob-storage-and-amazon-simple-storage-service-s3part-i/#f012
[46] Да: http://msdn.microsoft.com/en-us/library/windowsazure/ee691976.aspx
[47] PUT Bucket versioning: http://gauravmantri.com/2012/05/09/comparing-windows-azure-blob-storage-and-amazon-simple-storage-service-s3part-i/#f013
[48] YДа: http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketPUTVersioningStatus.html
[49] GET Bucket versioning: http://gauravmantri.com/2012/05/09/comparing-windows-azure-blob-storage-and-amazon-simple-storage-service-s3part-i/#f014
[50] Да: http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketGETversioningStatus.html
[51] PUT Bucket lifecycle: http://gauravmantri.com/2012/05/09/comparing-windows-azure-blob-storage-and-amazon-simple-storage-service-s3part-i/#f015
[52] Да: http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketPUTlifecycle.html
[53] GET Bucket lifecycle: http://gauravmantri.com/2012/05/09/comparing-windows-azure-blob-storage-and-amazon-simple-storage-service-s3part-i/#f016
[54] Да: http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketGETlifecycle.html
[55] DELETE Bucket lifecycle: http://gauravmantri.com/2012/05/09/comparing-windows-azure-blob-storage-and-amazon-simple-storage-service-s3part-i/#f017
[56] Да: http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketDELETElifecycle.html
[57] PUT Bucket policy: http://gauravmantri.com/2012/05/09/comparing-windows-azure-blob-storage-and-amazon-simple-storage-service-s3part-i/#f018
[58] Да: http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketPUTpolicy.html
[59] GET Bucket policy: http://gauravmantri.com/2012/05/09/comparing-windows-azure-blob-storage-and-amazon-simple-storage-service-s3part-i/#f019
[60] DELETE Bucket policy: http://gauravmantri.com/2012/05/09/comparing-windows-azure-blob-storage-and-amazon-simple-storage-service-s3part-i/#f020
[61] Да: http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketDELETEpolicy.html
[62] PUT Bucket notification: http://gauravmantri.com/2012/05/09/comparing-windows-azure-blob-storage-and-amazon-simple-storage-service-s3part-i/#f021
[63] Да: http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketPUTnotification.html
[64] GET Bucket notification: http://gauravmantri.com/2012/05/09/comparing-windows-azure-blob-storage-and-amazon-simple-storage-service-s3part-i/#f022
[65] Да: http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketGETnotification.html
[66] PUT Bucket requestPayment: http://gauravmantri.com/2012/05/09/comparing-windows-azure-blob-storage-and-amazon-simple-storage-service-s3part-i/#f023
[67] Да: http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTrequestPaymentPUT.html
[68] GET Bucket requestPayment: http://gauravmantri.com/2012/05/09/comparing-windows-azure-blob-storage-and-amazon-simple-storage-service-s3part-i/#f024
[69] Да: http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTrequestPaymentGET.html
[70] PUT Bucket website: http://gauravmantri.com/2012/05/09/comparing-windows-azure-blob-storage-and-amazon-simple-storage-service-s3part-i/#f025
[71] Да: http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketPUTwebsite.html
[72] GET Bucket website: http://gauravmantri.com/2012/05/09/comparing-windows-azure-blob-storage-and-amazon-simple-storage-service-s3part-i/#f026
[73] Да: http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketGETwebsite.html
[74] DELETE Bucket website: http://gauravmantri.com/2012/05/09/comparing-windows-azure-blob-storage-and-amazon-simple-storage-service-s3part-i/#f027
[75] Да: http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketDELETEwebsite.html
[76] HEAD Bucket: http://gauravmantri.com/2012/05/09/comparing-windows-azure-blob-storage-and-amazon-simple-storage-service-s3part-i/#f028
[77] Да: http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketHEAD.html
[78] Да: http://msdn.microsoft.com/en-us/library/windowsazure/dd179469.aspx
[79] Storage Analytics: http://msdn.microsoft.com/en-us/library/windowsazure/hh343270.aspx
[80] Snapshot Blob: http://msdn.microsoft.com/en-us/library/windowsazure/ee691971.aspx
[81] тут: http://docs.amazonwebservices.com/AmazonS3/latest/dev/UsingBucketPolicies.html
[82] тут: http://docs.amazonwebservices.com/AmazonS3/2006-03-01/dev/RequesterPaysBuckets.html?r=7393
[83] тут: http://docs.amazonwebservices.com/AmazonS3/latest/dev/WebsiteHosting.html
[84] http://www.mygreatwindowsazureidea.com: http://www.mygreatwindowsazureidea.com/
Нажмите здесь для печати.