Можем ли мы запустить движок приложений Google на Ubuntu / Windows и обслуживать веб-приложения - PullRequest
4 голосов
/ 21 сентября 2009

Я вижу, что Google предоставляет SDK и утилиты для разработки и запуска веб-приложения в разработке (developer-pc) и портирует их на живой движок приложений Google (на сервере Google).

Можем ли мы использовать Google App Engine для запуска локального веб-приложения без использования инфраструктуры Google?

По сути, мне нужен хороший планировщик заданий и постоянная очередь заданий для python (я не использую инфраструктуру Google). Я вижу, что Google предоставляет реализацию очереди задач вместе со своим механизмом приложений SDK.

Можно ли использовать SDK google app engine для разработки моего полноценного приложения на python для очереди задач?

Ответы [ 2 ]

8 голосов
/ 21 сентября 2009

Вы можете запускать приложения App Engine поверх appscale , который, в свою очередь, работает на Eucalyptus, Xen и других кластерных решениях, которые вы можете развернуть в Ubuntu (не уверен насчет поддержки Windows) - Похоже, что для начала может потребоваться существенная установка, настройка и администрирование системы (извините, пока не из первых рук), но после того, как вы сделали эти инвестиции, кажется, что движение вперед может быть более плавным. (Автоматизация очередей задач является сравнительно недавним дополнением к appscale, но, очевидно, она работает и может быть исправлена ​​из ветки bazaar до полной интеграции в ствол проекта appscale).

Редактировать : так как, похоже, существует некоторая путаница в отношении лицензирования этого кода, я укажу, что SDK App Engine, согласно его сайту , находится под лицензией Apache. 2.0 и appscale под новой лицензией BSD. Обе являются чрезвычайно либеральными и либеральными лицензиями с открытым исходным кодом, которые в основном разрешают вам все виды повторного использования, ремиксов, гибридных приложений, распространения и т. Д. И т. Д. И т. Д.

Редактировать : Ник также предлагает упомянуть TwistedAE , еще одно усилие по созданию способа с открытым исходным кодом (также Apache License 2.0) для развертывания приложений App Engine в собственной инфраструктуре; У меня нет прямого опыта с ним, и он все еще пре-альфа, но он кажется очень многообещающим и заслуживает того, чтобы за ним следили (tx Ник!).

0 голосов
/ 21 сентября 2009

Я не верю в это. В соответствии с условиями обслуживания App Engine:

7,1. Google дает вам персональный, во всем мире, без роялти, не назначаемые и неисключительные лицензия на использование предоставленного программного обеспечения для вас Google как часть Сервис, предоставленный вам Google (называемый "Google App Engine" Программное обеспечение "ниже). Эта лицензия предназначена для единственная цель дать вам возможность использовать и пользоваться преимуществами Сервис, предоставляемый Google , в в порядке, разрешенном Условиями.

(акцент мой)

Вы бы хотели уточнить у юриста, но для меня это звучит так, будто сервер dev_appserver.py предназначен только для разработки приложений, которые затем развертываются в «сервисе» GAE, а не для запуска ваших собственных серверов. внутри.

Я также подозреваю, что запуск производственного сервиса из dev_appserver.py нецелесообразен по соображениям производительности. Без особых усилий, многопоточные веб-серверы Python могут одновременно обслуживать только один запрос, что ограничивает вашу производительность и масштабируемость. Это связано с деталями реализации CPython, называемой GIL. См. http://docs.python.org/c-api/init.html#thread-state-and-the-global-interpreter-lock для подробного объяснения.

...