GAE имеет ограничение в 10 МБ каждый для статических файлов, загружаемых через appcfg.py (посмотрите внизу http://code.google.com/appengine/docs/python/tools/uploadinganapp.html).. Очевидно, что вы можете написать код для разбиения больших файлов на биты и повторной сборки во время загрузки, но это подсказывает мне, что Google не ожидает, что App Engine будет использоваться просто как простой CDN, и что если вы хотите использовать его как один, вам придется выполнить некоторую работу. S3 выполняет всю работу из коробки, все, что вам нужно нужно взять стороннее интерфейсное приложение.
Если вы хотите сделать что-то нестандартное с доступом к файлам на S3, то, вероятно, Amazon ожидает от вас наличия экземпляра сервера на EC2. Как только это будет сделано, у вас будет гораздо больше гибкости, чем в среде GAE, но вы платите больше (наличными и, возможно, за обслуживание).
Плюсом для GAE является то, что он имеет «дешевую» сторону для небольших приложений (до 1 ГБ хранилища, 1 ГБ пропускной способности и 1,3 миллиона обращений в день бесплатно: http://code.google.com/appengine/docs/quotas.html). В зависимости от вашего использования, это может быть значительным или неуместным в масштабах ваших общих расходов на пропускную способность.
По совпадению, я только что в последние пару дней впервые посмотрел на GAE. Я взял старый скрипт Perl CGI и превратил его в приложение GAE, которое уже работает. Всего около 10 часов, включая чтение вводных документов GAE и запоминание того, как Python должен работать достаточно, чтобы написать пару сотен строк. Я бы предположил, что это больше усилий, чем загрузка нескольких файлов на S3, но меньше усилий, чем обслуживание серверов EC2. Тем не менее, я не использовал Amazon.
[Отредактировано, чтобы добавить: это звучит так, как будто все преимущества есть у Amazon в коммерческих целях. Это вполне может быть правдой, но тогда GAE еще не созрел и, по-видимому, выздоровеет отсюда довольно быстро. Они позволяют людям начать платить в декабре или около того, до этого это было только по бесплатной квоте, за исключением специального соглашения с Google. В то время как Google порой притворяется, что заявляет о «вечной бета-версии», я думаю, что GAE действительно все еще запускается. Если ваше приложение хорошо подходит для парадигмы данных BigTable, то оно может лучше масштабироваться в GAE, чем в EC2. Что касается хранилища, я предполагаю, что S3 уже достаточно хорош для всех разумных целей, а умная архитектура Google не дает GAE никаких преимуществ, чтобы компенсировать, когда все, что вы делаете - это обслуживание файлов.]
* За исключением того, что Google только что предложил мне предварительный просмотр поддержки Java в GAE.
** Только что заметил, что вы можете настраивать задания chron, но они ограничены теми же правилами, что и любой другой запрос (30 секунд выполнения, не могут изменять файлы и т. Д.).