Отзыв об использовании Google App Engine?

Хотите сделать очень маленький, быстрый и грязный побочный проект. Мне нравится тот факт, что Google App Engine работает на Python со встроенным Django - это дает мне повод попробовать эту платформу ... но мой вопрос таков:

Кто-нибудь использовал движок приложения для чего-нибудь, кроме игрушечной? Я вижу там несколько хороших примеров приложений, поэтому я предполагаю, что этого достаточно для реальной сделки, но хотел получить некоторые отзывы.

Любые другие заметки об успехе / неудаче были бы замечательными.

должно быть вики сообщества

SilentGhost 28.01.2010 18:22
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
126
1
10 552
11
Перейти к ответу Данный вопрос помечен как решенный

Ответы 11

Взгляните на sql игра, он очень стабилен и фактически увеличил ограничения трафика в какой-то момент, так что он был ограничен Google. Я не видел ничего, кроме хороших новостей о App Engine, кроме размещения вашего приложения на серверах, полностью контролируемых кем-то другим.

sql игра переехала с Google App Engine на частный сервер.

systempuntoout 23.06.2010 22:46

Идея «App Engine, работающего с Django» немного вводит в заблуждение. App Engine заменяет весь уровень модели Django, поэтому будьте готовы потратить некоторое время на освоение хранилища данных App Engine, которое требует другого способа моделирования и осмысления данных.

Хороший момент - кажется, что он по умолчанию берет на себя создание шаблонов Django, но не обязательно все остальное.

agartzke 21.09.2008 08:24
Ответ принят как подходящий

Я пробовал движок приложения для моего небольшого приложения для наблюдения за землетрясениями http://quakewatch.appspot.com/

Моей целью было увидеть возможности движка приложения, поэтому вот основные моменты:

  1. он не поставляется по умолчанию с Django, у него есть собственная веб-структура, которая является pythonic, имеет диспетчер URL-адресов, такой как Django, и использует шаблоны Django Итак, если у вас есть Django exp. вы найдете это простым в использовании
  2. Вы не можете выполнять какие-либо длительные процессы на сервере, вы отвечаете на запрос, и это должно быть быстро, иначе appengine убьет его. Так что, если вашему приложению требуется много внутренней обработки, appengine - не лучший способ в противном случае вам придется выполнять обработку на собственном сервере
  3. В моем приложении quakewatch есть функция подписки, это означает, что мне приходилось отправлять по электронной почте последние землетрясения по мере их возникновения, но я не могу запустить фоновый процесс в движке приложения для отслеживания новых землетрясений. решение здесь - использовать стороннюю службу, такую ​​как pingablity.com, которая может подключаться к одной из ваших страниц и запускает рассылку электронной почты подписки. но и здесь вам нужно будет позаботиться о том, чтобы вы не проводили здесь много времени или разбить задачу на несколько частей
  4. Он предоставляет возможности моделирования, подобные Django, но бэкэнд совершенно другой, но для нового проекта это не имеет значения.

Но в целом я считаю, что он отлично подходит для создания приложений, которые не нуждаются в большой фоновой обработке.

Редактировать: Теперь очереди задач можно использовать для выполнения пакетной обработки или запланированных задач.

Редактировать: после работы / создания реального приложения на GAE в течение года, теперь я считаю, что, если вы не создаете приложение, которое нужно масштабировать до миллиона и миллионов пользователей, не используйте GAE. Поддержание и выполнение тривиальных задач в GAE является головной болью из-за распределенного характера, чтобы избежать ошибок превышения крайнего срока, подсчета объектов или выполнения сложных запросов требуется сложный код, поэтому небольшое сложное приложение должно придерживаться LAMP.

Редактировать: Модели должны быть специально разработаны с учетом всех транзакций, которые вы хотите проводить в будущем, потому что в транзакции могут использоваться сущности только из одной и той же группы сущностей, и это делает процесс обновления двух разных групп кошмаром, например. перевод денег от пользователя user1 к пользователю2 в транзакции невозможен, если они не находятся в одной группе объектов, но создание их одной группы объектов может быть не лучшим вариантом для целей частого обновления .... прочтите это http://blog.notdot.net/2009/9/Distributed-Transactions-on-App-Engine

Теперь пакетный процесс можно запустить в GAE.

Anurag Uniyal 06.05.2009 13:56

Ознакомьтесь с новым API очереди задач Python также в документации App-Engine.

Jason Rikard 23.06.2009 03:00

Большая часть этой информации устарела - Django 0.96 теперь встроен в GAE с 17 июля 2009 года.

ine 18.07.2009 04:16

Django 1.0.x теперь также включен в GAE. Вы можете выбрать нужную версию Django.

Laurent 01.09.2009 18:48

Еще одно обновление, Django 1.1 теперь доступно с GAE, а также с предыдущими версиями.

SingleNegationElimination 06.12.2009 02:24

Еще одно обновление: вам больше не нужно вводить классы Django в GAE с помощью помощника или патча. джанго-нерел исправляет Django для работы поверх любого нереляционного хранилища, включая GAE. Это означает, что вы можете запускать приложение Django непосредственно поверх GAE без каких-либо изменений модели.

wescpy 22.04.2010 05:04

Задачи и задания cron теперь выполняются до 10 минут.

Sudhir Jonathan 11.12.2010 07:19

Еще одно обновление: вы можете использовать функции Django 1.2.6 с GAE (февраль 2011 г.) в соответствии с goo.gl/QbIL2, однако в самом App Engine доступны только версии 0.96 и 1.2.6. вам необходимо связать, если вы используете другие версии.

wescpy 25.04.2011 10:51

Если вы хотите использовать SSL в пользовательских доменах, забудьте об этом!

themihai 28.09.2011 15:12

SDK поставляется с 3 версиями django.

Tom Willis 15.04.2012 06:04

Одна из веских причин, по которой я использовал Google App Engine, - это его интеграция с Google Apps для вашего домена. По сути, он позволяет вам создавать настраиваемые управляемые веб-приложения, которые ограничены (контролируемыми) входами в ваш домен.

По большей части мой опыт работы с этим кодом связан с созданием простого приложения для отслеживания времени / задач. Механизм шаблонов был прост, но при этом делал многостраничное приложение очень доступным. Api входа в систему / осведомленности пользователя также полезен. Я смог создать парадигму публичной / частной страницы без особых проблем. (пользователь должен войти в систему, чтобы увидеть частные страницы. Анонимному пользователю была показана только общедоступная страница.)

Я как раз входил в часть проекта, посвященную хранилищу данных, когда меня отстранили для «настоящей работы».

Мне удалось добиться многого (это еще не сделано) за очень небольшой промежуток времени. Поскольку я никогда раньше не использовал Python, это было особенно приятно (как потому, что это был новый для меня язык, так и потому, что разработка шла быстро, несмотря на новый язык). Я столкнулся с очень немногим, что заставило меня поверить в то, что я не смогу выполнить свою задачу. Вместо этого у меня довольно положительное впечатление о функциональности и возможностях.

Таков мой опыт с этим. Возможно, это не более чем незавершенный игрушечный проект, но он представляет собой осознанное испытание платформы, и я надеюсь, что это поможет.

Практически идентично моей ситуации - не считая "настоящей работы", но все же кое-что, что мне нужно сделать и в конце концов иметь функциональные возможности.

agartzke 21.09.2008 09:40

То же самое. Кроме того, большим плюсом является то, что установка среды разработки выполняется совсем несложно (вы пишете код в течение минуты). То же самое и для развертываний.

Jilles 03.06.2010 03:21

Я использовал GAE для сборки http://www.muspy.com

Это немного больше, чем игрушечный проект, но и не слишком сложный. Я по-прежнему полагаюсь на то, что Google решит несколько вопросов, но в целом разработка веб-сайта была приятным занятием.

Если вы не хотите заниматься проблемами хостинга, администрирования серверов и т. д., Я определенно могу порекомендовать это. Особенно, если вы уже знаете Python и Django.

Я думаю, что App Engine на данный момент довольно хорош для небольших проектов. Есть много чего сказать, чтобы никогда не беспокоиться о хостинге. API также подталкивает вас к созданию масштабируемых приложений, что является хорошей практикой.

  • патч движка приложения - это хороший слой между Django и App Engine, позволяющий использовать приложение аутентификации и многое другое.
  • Google пообещал SLA и модель ценообразования к концу 2008 года.
  • Запросы должны выполняться за 10 секунд, подзапросы к веб-службам - за 5 секунд. Это заставляет вас разрабатывать быстрое и легкое приложение, переносящее серьезную обработку данных на другие платформы (например, размещенную службу или экземпляр EC2).
  • Скоро появятся и другие языки! Google не скажет, что именно :-). Теперь мои деньги на Java.

с февраля 2009 г. многие из вышеперечисленных ограничений были сняты.

husayt 23.02.2009 15:45

Если кто-то может отредактировать этот ответ, было бы неплохо отразить, что Java действительно является следующим доступным языком.

JasonSmith 03.05.2009 15:46

@jhs Ваш комментарий прекрасно это делает!

afternoon 12.05.2009 13:44

И язык Go теперь тоже поддерживается!

davewasthere 13.05.2011 13:45

Я использую GAE для размещения нескольких приложений с высоким трафиком. Вроде порядка 50-100 запросов / сек. Это здорово, я не могу этого рекомендовать.

Мой предыдущий опыт веб-разработки был с Ruby (Rails / Merb). Изучить Python было легко. Я не возился с Django, Pylons или любым другим фреймворком, просто начал с примеров GAE и построил то, что мне нужно, из базовых библиотек веб-приложений, которые предоставляются.

Если вы привыкли к гибкости SQL, к хранилищу данных может потребоваться некоторое время. Ничего особенного! Самая большая корректировка - отход от JOIN. Вы должны отказаться от идеи, что нормализация имеет решающее значение.

Бен

Я использовал GAE и Django для создания приложения Facebook. Я использовал http://code.google.com/p/app-engine-patch в качестве отправной точки, поскольку он поддерживает Django 1.1. Я не пробовал использовать какие-либо команды manage.py, потому что предполагал, что они не будут работать, но я даже не изучал их. В приложении было три модели, а также использовался pyfacebook, но это была степень сложности. Я нахожусь в процессе создания гораздо более сложного приложения, о котором я начинаю писать в блоге на http://brianyamabe.com.

Я начал использовать manage.py для запуска сервера, а также для запуска некоторых модульных тестов. Запуск сервера работает нормально, но поскольку мое приложение работает как приложение Facebook, это не так уж и полезно (мне нужен размещенный сервер, на который ссылается Facebook). Модульное тестирование тоже работало, и оно работало даже с приборами. Однако мне не удалось заставить работать приборы, ссылающиеся на другие модели. Я до сих пор не понял, проблема ли это в моем приспособлении или проблема с патчем app-engine.

byamabe 08.12.2009 19:55

Я использовал GAE для создания простого приложения, которое принимает некоторые параметры, форматы и отправляет электронную почту. Это было очень просто и быстро. Я также сделал несколько тестов производительности хранилища данных GAE и служб memcache (http://dbaspects.blogspot.com/2010/01/memcache-vs-datastore-on-google-app.html). Это не так быстро. Я считаю, что GAE - это серьезная платформа, которая применяет определенную методологию. Я думаю, что она превратится в действительно масштабируемую платформу, где плохие методы просто недопустимы.

Я использовал GAE для своего сайта с флеш-играми, Бородатые Игры. GAE - отличная платформа. Я использовал шаблоны Django, которые намного проще, чем старые времена PHP. Он поставляется с отличной админ-панелью и дает вам действительно хорошие журналы. Хранилище данных отличается от базы данных, такой как MySQL, но с ним намного проще работать. Создание сайта было простым и понятным, и у них есть много полезных советов по сайту.

На этот вопрос дан полный ответ. И это хорошо. Но, пожалуй, стоит упомянуть одну вещь. В движке приложений Google есть плагин для eclipse ide, с которым приятно работать.

Если вы уже занимаетесь разработкой с помощью eclipse, вы будете очень этому рады.

Для развертывания на веб-сайте движка приложений Google все, что мне нужно сделать, это нажать одну маленькую кнопку - с логотипом самолета - супер.

Другие вопросы по теме