Отзывы об использовании Google App Engine? [закрытый]
глядя, чтобы сделать очень маленький, быстрый и грязный боковой проект. Мне нравится тот факт, что Google App Engine работает на Python с встроенным Django - дает мне повод попробовать эту платформу... но мой вопрос таков:--1-->
кто-нибудь использовал движок приложения для чего-либо, кроме проблемы с игрушками? Я вижу некоторые хорошие примеры приложений, поэтому я бы предположил, что это достаточно хорошо для реальной сделки, но хотел получить некоторую обратную связь.
любой другой успех/провал заметки были бы великолепны.
11 ответов
Я попробовал App engine для моего небольшого приложения quake watch http://quakewatch.appspot.com/
моей целью было увидеть возможности App engine, поэтому вот основные моменты:
- он не поставляется по умолчанию с django, он имеет свою собственную веб-структуру, которая pythonic имеет url-диспетчер, как django, и использует шаблоны django
Поэтому, если у вас есть django exp. вы найдете его простым в использовании
- но вы можете использовать любой чистый python рамки и django можно легко добавить см. http://code.google.com/appengine/articles/django.html google-app-engine-django (http://code.google.com/p/google-app-engine-django/) проект отличный и работает почти как работа над проектом django
- вы не можете выполнить какой-либо длительный процесс на сервере, что вы делаете, это ответить на запрос и который должен быть быстрым, иначе appengine убьет его Поэтому, если вашему приложению нужно много бэкэнд-обработка appengine-не лучший способ в противном случае вам придется делать обработку на собственном сервере
- мое приложение quakewatch имеет функцию подписки, это означает, что я должен был отправить по электронной почте последние землетрясения, как они происходят, но я не могу запустить фоновый процесс в App engine для мониторинга новых землетрясений решение здесь заключается в использовании службы третьей части, такой как pingablity.com который может подключиться к одной из ваших страниц и который выполняет подписку emailer но и здесь вам придется позаботиться что вы не тратите много времени или разбить задачу на несколько частей
- он предоставляет Django как возможности моделирования, но бэкэнд совершенно другой, но для нового проекта это не должно иметь значения.
но в целом, я думаю, он отлично подходит для создания приложений, которые не требуют много фоновой обработки.
изменить: Теперь задач очередей может использоваться для выполнения пакетной обработки или запланированных задач
изменить: после работая / создавая реальное приложение на GAE в течение года, теперь мой opnion заключается в том, что, если вы не делаете приложение, которое должно масштабироваться до миллионов и миллионов пользователей, не используйте GAE. Поддержание и выполнение тривиальных задач в GAE является головной болью из-за распределенного характера, чтобы избежать превышения крайнего срока ошибок, подсчета сущностей или сложных запросов требует сложного кода, поэтому небольшое сложное приложение должно придерживаться лампы.
изменить: Модели должны быть специально разработаны с учетом всех транзакции, которые вы хотите иметь в будущем, потому что сущности только в одной группе сущностей могут использоваться в транзакции, и это делает процесс обновления двух разных групп кошмаром, например, перевод денег из user1 в user2 в транзакции невозможен, если они не находятся в одной группе сущностей, но сделать их одной группой сущностей может быть не лучшим для частых целей обновления.... прочтите это http://blog.notdot.net/2009/9/Distributed-Transactions-on-App-Engine
Я использую GAE для размещения нескольких приложений с высоким трафиком. Как на заказе 50-100 req / sec. Это здорово, я не могу рекомендовать его достаточно.
мой предыдущий опыт работы с веб-разработкой был с Ruby (Rails/Merb). Изучение Python было легко. Я не связывался с Django или пилонами или любой другой структурой, просто начал с примеров GAE и построил то, что мне нужно, из основных библиотек webapp, которые предоставляются.
Если вы привыкли к гибкости SQL к хранилищу данных нужно привыкнуть. Не слишком травматично! Самая большая настройка-это уход от соединений. Вы должны отбросить мысль о том, что нормализация имеет решающее значение.
Бен
одной из убедительных причин, по которой я столкнулся с использованием Google App Engine, является его интеграция с Google Apps для вашего домена. По сути, это позволяет создавать пользовательские управляемые веб-приложения, которые ограничены (контролируемыми) логинами вашего домена.
большая часть моего опыта работы с этим кодом заключалась в создании простого приложения отслеживания времени/задач. Движок шаблонов был прост и все же сделал многостраничное приложение очень доступным. Api входа / осведомленности пользователя так же полезно. Я смог сделать парадигму публичной страницы/частной страницы без особых проблем. (пользователь должен войти в систему, чтобы увидеть личные страницы. Анонимному пользователю была показана только общедоступная страница.)
Я как раз входил в часть хранилища данных проекта, когда меня вытащили для "реальной работы".
Я смог многое сделать (это еще не сделано) за очень небольшое количество времени. Поскольку я никогда раньше не использовал Python, это было особенно приятно (оба потому что это был новый язык для меня, а также потому, что развитие все еще было быстрым, несмотря на новый язык). Я столкнулся с очень немногим, что заставило меня поверить, что я не смогу выполнить свою задачу. Вместо этого у меня есть довольно положительное впечатление о функциональности и функциях.
Это мой опыт с ним. Возможно, это не более чем незаконченный игрушечный проект, но это действительно информированное испытание платформы, и я надеюсь, что это поможет.
идея "App Engine running Django" немного вводит в заблуждение. App Engine заменяет весь слой модели Django, поэтому будьте готовы потратить некоторое время на акклиматизацию с хранилищем данных App Engine, которое требует другого способа моделирования и мышления о данных.
Я использовал GAE для сборки http://www.muspy.com
Это немного больше, чем игрушечный проект, но не слишком сложный. Я все еще зависит от нескольких вопросов, которые будут решены Google, но в целом разработка веб-сайта была приятным опытом.
Если вы не хотите заниматься вопросами хостинга, администрирования серверов и т. д., Я могу определенно рекомендовать его. Особенно если вы уже знаете Python и Django.
Я думаю, что App Engine довольно круто для небольших проектов на данный момент. Есть много чего сказать, чтобы никогда не беспокоиться о хостинге. API также подталкивает вас к созданию масштабируемых приложений, что является хорошей практикой.
- app-engine-патч является хорошим слоем между Django и App Engine, что позволяет использовать приложение auth и многое другое.
- Google пообещал SLA и модель ценообразования к концу 2008 года.
- запросы должны завершите в 10 секундах, суб-запросы к веб-службам, необходимые для завершения в 5 секундах. Это заставляет вас разрабатывать быстрое, легкое приложение, выгружая серьезную обработку на другие платформы (например, размещенную службу или экземпляр EC2).
- больше языков в ближайшее время! Google не скажет, что, хотя: -). Мои деньги на Java далее.
на этот вопрос был полностью дан ответ. И это хорошо. Но одно, пожалуй, стоит упомянуть. В Google app engine есть плагин для Eclipse ide, с которым приятно работать.
Если вы уже делаете свою разработку с eclipse, вы будете так рады этому.
для развертывания на веб - сайте Google app engine все, что мне нужно сделать, это нажать одну маленькую кнопку - с логотипом самолета-Супер.
взгляните на в SQL-игры, Он очень стабилен и фактически подтолкнул ограничения трафика в один момент, так что он был задушен Google. Я не видел ничего, кроме хороших новостей о App Engine, кроме размещения приложения на серверах, которые полностью контролирует кто-то другой.
Я использовал GAE для создания простого приложения, которое принимает некоторые параметры, форматы и отправляет электронную почту. Это было очень просто и быстро. Я также сделал некоторые критерии производительности в хранилище данных GAE и сервисах memcache (http://dbaspects.blogspot.com/2010/01/memcache-vs-datastore-on-google-app.html). Это не так быстро. Я считаю, что GAE-это серьезная платформа, которая применяет определенную методологию. Я думаю, что он будет развиваться до действительно масштабируемой платформы, где плохая практика просто не пускают.
Я использовал GAE для моего флеш-игрового сайта,Бородатые Игры. GAE-отличная платформа. Я использовал шаблоны Django, которые намного проще, чем в старые времена PHP. Он поставляется с отличной панелью администратора и дает вам действительно хорошие журналы. Хранилище данных отличается от базы данных, такой как MySQL, но с ним намного проще работать. Создание сайта было легко и просто и у них есть много полезных советов на сайте.
Я использовал GAE и Django для создания приложения Facebook. Я использовал http://code.google.com/p/app-engine-patch как моя отправная точка, как это в Django 1.1 поддержка. Я не пытался использовать ни один из manage.py команды, потому что я предполагал, что они не будут работать, но я даже не смотрел на это. Приложение имело три модели, а также использовало pyfacebook, но это была степень сложности. Я в процессе создания гораздо более сложного приложения, которое я начинаю блог о on http://brianyamabe.com.