Немногие знают, что Amazon запустил, некоторое время назад, ряд интересных публичных веб сервисов для разработчиков:
С первым (S3 - хранение файлов) я непосредственно разбирался и работал, остальными просто интересовался.
Amazon Simple Storage Service (S3)
Предоставляет сервис для хранения больших объемов данных (всё надёжное, распределенное и прочее и прочее) . Оплачивается хранение и трафик, плюс запросы к серверу.
Файлы могут закачиваться, скачиваться, удаляться, переименовываться, можно создавать директории, устанавливать права доступа. Управление осуществляется через SOAP либо REST протоколы.
Полезное свойство - если я, допустим, организую сервис типа Rapidshare или Flickr, то мне нет необходимости весь трафик пропускать через свой сервер (и создавать на него нагрузку). Через клиентское приложение делается только аутентификация и пересылаются команды. Сам трафик идёт (на выбор - HTTP, либо BitTorrent) напрямую - от пользователя к серверам Амазона (через HTTP POST), и обратно.
Ньюансы:
1.Никаких средств биллинга для файлов сервис не предоставляет. Т.е. я сам должен следить за тем, сколько скачано и закачано. Есть доступ к логам, но он не realtime и достаточно кривой. Годится скорее для последующего контроля - всё ли в порядке.Это все с точки зрения разработчика. С точки зрения пользователя готового клиента - открывается возможность хранения своих данных удалённо. Предположим, хранилище организовано в виде логического диска доступного в системе. Можно хранить там файлы и данные, которые будут отовсюду доступны. Причем, надежность хранения будет куда выше, чем на собственном жёстком диске. Готовое ПО для этого уже есть. Для примера можно посмотреть на плагины для 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.