Обратная связь по использованию Google App Engine? [закрытый]


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

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

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

11 123

11 ответов:

Я пробовал App engine для моего небольшого приложения quake watch http://quakewatch.appspot.com/

моей целью было увидеть возможности App engine, поэтому вот основные моменты:

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

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

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

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

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

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

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

Если вы привыкли к гибкости 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-patch это хороший слой между Django и App Engine, что позволяет использовать приложение auth и многое другое.
  • Google пообещали SLA и модель ценообразования к концу 2008 года.
  • запросы должны завершите в 10 секундах, подзапросы к веб-службам необходимо завершить в 5 секундах. Это заставляет вас разрабатывать быстрое, легкое приложение, разгружая серьезную обработку на другие платформы (например, размещенный сервис или экземпляр EC2).
  • больше языков в ближайшее время! Google не скажет, что, хотя: -). Дальше я ставлю на Яву.

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

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

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

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

Я использовал GAE для создания простого приложения, которое принимает некоторые параметры, форматы и отправлять электронную почту. Это было очень просто и быстро. Я также сделал некоторые тесты производительности на хранилище данных GAE и memcache services (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, но это была степень сложности. Я нахожусь в процессе создания гораздо более сложного приложения, которое я начинаю блог о о http://brianyamabe.com.