Обратная связь по использованию Google App Engine? [закрытый]
глядя, чтобы сделать очень маленький, быстрый и грязный боковой проект. Мне нравится тот факт, что движок приложений Google работает на Python со встроенным Django - дает мне повод попробовать эту платформу... но мой вопрос таков:
кто-нибудь использовал движок приложения для чего-либо, кроме проблемы с игрушкой? Я вижу некоторые хорошие примеры приложений там, поэтому я бы предположил, что это достаточно хорошо для реальной сделки, но хотел бы получить некоторую обратную связь.
любой другой успех/провал заметки были бы великолепны.
11 ответов:
Я пробовал App engine для моего небольшого приложения quake watch http://quakewatch.appspot.com/
моей целью было увидеть возможности App engine, поэтому вот основные моменты:
- он не поставляется по умолчанию с django, он имеет свою собственную веб-структуру, которая является pythonic имеет URL-адрес диспетчера, как django, и он использует шаблоны django Так что если у вас есть django exp. вы найдете его простым в использовании
- но вы можете использовать любой чистый питон рамки и 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 который может подключиться к одной из ваших страниц и который выполняет подписку по электронной почте но и здесь вам придется позаботиться что вы не проводите здесь много времени или разбить задание на несколько частей
- он предоставляет 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.