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

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

19 октября 2008, 02:52 (5662 дня назад, №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.



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

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

8706 дней назад, 03:5919 июня 2000 Пишут о технологии улучшения видимого человеком изображения. Основная идея довольно хитра: свет, который формирует на сетчатке глаза изображение, от этой самой сетчатки частично отражается. Отражение улавливается цифровой камерой, в результате фиксируется различие между реальным изображением объекта и объектом с ...далее

Избранное

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

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