Относительные преимущества хранения с использованием Amazon Web Services S3 по сравнению с Google Application Engine - PullRequest
6 голосов
/ 07 апреля 2009

В чем вы видите преимущества и недостатки Amazon Web Services S3 по сравнению с Google Application Engine? Стоимость одного гигабайта для двоих, на мой взгляд, примерно одинакова; Я не видел каких-либо распространенных жалоб на качество обслуживания; поэтому я думаю, что решение о том, какой из них использовать, может зависеть от API (всего).

API Google разбивает ваш контент на то, что они называют статическим контентом, таким как ваши CSS-файлы, значки избранного, изображения и т. Д. И нестатические динамически генерируемые HTTP-ответы. Запросы на статические данные будут обслуживаться тем, кто их запрашивает, до тех пор, пока не будет достигнут предел вашей пропускной способности; нестатические запросы будут выполняться до тех пор, пока не будет достигнута полоса пропускания или ограничение ЦП. Что касается ваших нестатических запросов, вы можете предоставить любую логику, которую вы можете выразить в Python, чтобы вы могли выбирать, кому вы служите.

API Amazon обрабатывает весь ваш контент как большие двоичные объекты и предоставляет протокол доступа, который позволяет вам различать различные выполняемые запросы - от общедоступных до только для владельцев. Если вы хотите что-то, чего нет в комплекте, я не знаю, что вы делаете, кроме того, что задумываетесь о распределении ваших URI.

Какие различия вы видите между ними? Есть ли другие облачные сервисы хранения данных, которые вам нравятся? У Зетты сегодня был пресс-релиз, но они ищут минимум десять терабайт в бета-приложении, и ни один из моих клиентов там не был (пока); и Джойент , вероятно, что-то сделает в ближайшем будущем.

Ответы [ 2 ]

3 голосов
/ 07 апреля 2009

На мой взгляд, Google App Engine в основном предоставляет «песочницу» для развертывания приложения, если оно написано с их требованиями (Python и т. Д.). Amazon предоставляет вам виртуальную машину с гораздо большей гибкостью в том, что можно сделать, но, вероятно, потребуется больше работы на вашей стороне. MS Azure, кажется, идет по маршруту GAE, но замените Python на .NET.

2 голосов
/ 07 апреля 2009

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 секунд выполнения, не могут изменять файлы и т. Д.).

...