[Обновленный список 21 августа 09]
Помогите мне составить список всех преимуществ и недостатков построения приложения в Google App Engine
Плюсы:
- Не нужно покупать серверы или серверное пространство (без обслуживания).
- Помогает решить проблему масштабирования.
- Свободно до определенного уровня потребляемых ресурсов.
Минусы:
- Заблокировано в Google App Engine?
- Разработчики имеют доступ только для чтения к файловой системе в App Engine.
- App Engine может выполнять только код, вызываемый из HTTP-запроса (за исключением запланированных фоновых задач).
- Пользователи могут загружать произвольные модули Python, но только если они являются чистыми Python; C и Pyrex не поддерживаются.
- App Engine ограничивает максимальное количество строк, возвращаемых от объекта, до 1000 строк на вызов Datastore. (Обновление) - App Engine теперь поддерживает курсоры для доступа к более крупным запросам)
- Приложения Java могут использовать только подмножество (белый класс класса JRE) классов из стандартной версии JRE.
- Java-приложения не могут создавать новые потоки.
Известные проблемы!: http://code.google.com/p/googleappengine/issues/list
Жесткие ограничения
Приложения для разработчика - 10
Время в заказе - 30 секунд
Файлы за приложение - 3000
Размер ответа HTTP - 10 МБ
Размер хранилища данных - 1 МБ
Размер прикладного кода - 150 МБ
Обновление Хранилище Blob теперь позволяет хранить файлы до 50 МБ
Pro или Con?
Инфраструктура App Engine устраняет многие проблемы системного администрирования и разработки приложений для масштабирования до миллионов обращений. Google обрабатывает развертывание кода в кластере, мониторинг, восстановление после сбоя и запуск экземпляров приложения по мере необходимости.
В то время как другие службы позволяют пользователям устанавливать и настраивать почти любое совместимое с * NIX программное обеспечение, App Engine требует от разработчиков использовать Python или Java в качестве языка программирования и ограниченного набора API. Текущие API-интерфейсы позволяют хранить и извлекать данные из не-реляционной базы данных BigTable; выполнение HTTP-запросов; отправка электронной почты; манипулирование изображениями; и кеширование. Большинство существующих веб-приложений не могут работать в App Engine без изменений, поскольку для них требуется реляционная база данных.