Обратите внимание, что новости можно получать по RSS.
X
-

Информационные технологии, LiveJournal cr_it - архив

19 октября 2008, 02:52 (5914 дня назад, №8736)Про Amazon, который не только книжки

Немногие знают, что Amazon запустил, некоторое время назад, ряд интересных публичных веб сервисов для разработчиков:

С первым (S3 - хранение файлов) я непосредственно разбирался и работал, остальными просто интересовался. 

Amazon Simple Storage Service (S3)

Предоставляет сервис для хранения больших объемов данных (всё надёжное, распределенное и прочее и прочее) . Оплачивается хранение и трафик, плюс запросы к серверу.
Файлы могут закачиваться, скачиваться, удаляться, переименовываться,  можно создавать директории, устанавливать права доступа. Управление осуществляется через SOAP либо REST протоколы.
Полезное свойство - если я, допустим, организую сервис типа Rapidshare или  Flickr, то мне нет необходимости весь трафик пропускать через свой сервер (и создавать на него нагрузку). Через клиентское приложение делается только аутентификация и пересылаются команды. Сам трафик идёт (на выбор - HTTP, либо BitTorrent) напрямую - от пользователя к серверам Амазона (через HTTP POST), и обратно.

Ньюансы:

1.Никаких средств биллинга для файлов сервис не предоставляет. Т.е. я сам должен следить за тем, сколько скачано и закачано. Есть доступ к логам, но он не realtime и достаточно кривой. Годится скорее для последующего контроля - всё ли в порядке.
2.С точки зрения ограничения прав доступа - для файлов тоже всё весьма ограничено. По факту приходится это делать самостоятельно, просто держа в своей базе соответствие между реальными именами пользовательских файлов и секретными цифробуквенными, под которыми эти же файлы хранятся на серверах S3.

В этих двух пунктах оговорка "для файлов" (objects) означает, что наименьшими объектами достойными контроля у них считаются директории (buckets), которых может быть не более 100. Увы, такое ограничение на количество делает их использование бессмысленным для разграничения прав между пользователями приложения.

3.Служба поддержки никуда не годится. Из E-Mail'а посылают в форум, где та же девочка не может компетентно ответить на простые технические вопросы. Конкретно - проблема возникла при реализации клиента на Flex'е для работы с S3. Начиная с Flash Player версии, кажется,  9.0.24, Adobe'ы ужесточили модель безопасности (из-за чего, кстати, у народа ряд приложений перестал работать, но это уже другая тема).
Среди прочего - невозможно формировать из ActionScript'a в HTTP запросе произвольные заголовки (в т.ч. работать через сокеты), что необходимо для работы через REST (с SOAP'ом аналогично - или надо формировать заголовки, или всё только  через SSL).
Впрочем, запросы формировать можно, но для этого необходимо, чтобы на хосте к которому обращаешься (в данном случае амазоновском) был поднят Flash Socket Policy Server - простой перловый скрипт, который отвечает на строчку посланную на 843-й порт другой строчкой. Две недели пришлось эту простую мысль доводить до амазоновского саппорта. Они элементарно не хотели читать адобовские документы, ссылки на которые я им давал. В итоге кончилось отпиской, что они поняли проблему, но пока не собираются ничего с этим делать (публичную часть переписки желающие могут почитать здесь , я там писал как coddie).
Пришлось решать проблему самостоятельно - на своём сервере подняли Flash Socket Policy Server и прокси - простой php скрипт, единственная задача которого - получать от flex'ового клиента команды и повторять их Амазону.

Это все с точки зрения разработчика. С точки зрения пользователя готового клиента - открывается возможность хранения своих данных удалённо. Предположим, хранилище организовано в виде логического диска доступного в системе. Можно хранить там файлы и данные, которые будут отовсюду доступны. Причем, надежность хранения будет куда выше, чем на собственном жёстком диске. Готовое ПО для этого уже есть. Для примера можно посмотреть на плагины для Mozilla:

https://addons.mozilla.org/en-US/firefox/addon/3247
https://addons.mozilla.org/en-US/firefox/addon/6955
http://overstimulate.com/projects/s3

Amazon Elastic Compute Cloud (Amazon EC2)

Говоря человеческим языком - это хостинг. Отличие от традиционных хостингов в том, что если ваш проект оказался успешным и начала расти нагрузка, не нужно менять сервер. Конфигурация (память, процессорные мощности, объем дисков) меняется динамически. Стоимость также зависит от потребляемых ресурсов.

Amazon Simple DB

Опять же, говоря по-простому - сервер БД, типа MySQL, Postrgres и т.п. Отличия:
- Язык запросов хотя и похож местами на SQL, но очень сильно упрощён.
- Как в случае с EC2 - ресурсы масштабируются и оплачиваются взависимости от потребностей

Amazon Simple Queue Service (Amazon SQS)

Сервис обмена сообщениями (размером до 8кб, хранятся до 4 дней). Может использоваться, к примеру, для обмена данными между клиентскими частями какой-нибудь многопользовательской игры. Ну и для чатов, конечно.

Вот.

Подводя итог - всё это хорошие штуки, особенно если использовать их вместе (кстати, внутренний обмен трафиком, кажется, бесплатный) и когда Amazon'ы пошевелятся и поставят, наконец, Flash Socket Policy server.



Опубликовано: Пётр Соболев

Случайная заметка

9282 дня назад, 22:3531 июля 1999 Последнее пристанище труженника науки 31 июля 1999 в 09:52:00.8 GMT космический аппарат "Lunar Prospector" прекратил своё существование . Проработав полтора года, он собрал в 10 раз больше информации о луне, чем предполагалось, прокомментировал Alan Binder. В отличие от других КА, его конец был довольно экстравагантным: он был направлен на один и ...далее

Избранное

2794 дня назад, 01:575 мая 2017 Часть 1: От четырёх до восьми Я люблю читать воспоминания людей, заставших первые шаги вычислительной техники в их стране. В них всегда есть какая-то романтика, причём какого она рода — сильно зависит от того, с каких компьютеров люди начали. Обычно это определяется обстоятельствами — местом работы, учёбы, а иногда и вовсе — ...далее

2306 дней назад, 20:305 сентября 2018 "Finally, we come to the instruction we've all been waiting for – SEX!" / из статьи про микропроцессор CDP1802 / В начале 1970-х в США были весьма популярны простые электронные игры типа Pong (в СССР их аналоги появились в продаже через 5-10 лет). Как правило, такие игры не имели микропроцессора и памяти в современном понимании этих слов, а строились на жёсткой ...далее