Google App Engine
Эта статья содержит контент, написанный как реклама . ( Август 2008 г. ) |
Эта статья может потребовать редактирования текста с точки зрения грамматики, стиля, связности, тона или орфографии . ( Апрель 2024 г. ) |
Разработчик(и) | |
---|---|
Первоначальный выпуск | 7 апреля 2008 г [1] |
Тип | Платформа как услуга |
Веб-сайт | облако |
Google App Engine (также называемый GAE и App Engine ) — это платформа облачных вычислений как сервис для разработки и размещения веб-приложений . Приложения изолированы и запускаются на нескольких серверах, управляемых Google. [2] App Engine поддерживает автоматическое масштабирование веб-приложений, выделяя веб-приложению больше ресурсов по мере увеличения количества запросов. [3] сервиса была выпущена Предварительная версия в апреле 2008 года и официально запущена в сентябре 2011 года.
Приложения, написанные на Go , PHP , Java , Python , Node.js , .NET и Ruby , поддерживаются GAE, а поддержка других языков может осуществляться за дополнительную плату. [4] Бесплатная версия сервиса предлагает стандартную среду с ограниченными ресурсами. Плата взимается за дополнительное хранилище, пропускную способность или часы экземпляра. [5]
Поддерживаемые функции/ограничения [ править ]
Среды выполнения и фреймворк [ править ]
Google App Engine в первую очередь поддерживает Go , PHP , Java , Python , Node.js , .NET и Ruby , хотя он также может поддерживать другие языки через «настраиваемые среды выполнения». приложения [4]
Веб-фреймворки Python, работающие на Google App Engine, включают Django , CherryPy , Pyramid , Flask , web2py и webapp2. [6] а также фреймворк веб-приложений, написанный Google, и несколько других, разработанных специально для платформы, которые были созданы после выпуска. [7] Для создания приложения можно использовать любую платформу Python, поддерживающую WSGI с использованием адаптера CGI, а платформу можно загрузить вместе с разработанным приложением. Также можно загружать сторонние библиотеки, написанные на Python. [8] [9]
Google App Engine поддерживает множество [ количественно ] Стандарты и фреймворки Java. Сервлет 2.5 с открытым исходным кодом с использованием веб-сервера Jetty позволяет поддерживать их, [10] наряду с сопутствующими технологиями, такими как JSP . JavaServer Faces использует некоторые обходные пути. Новая бета-версия стандартного Java App Engine поддерживает Java8, Servlet 3.1 и Jetty9.
Доступ к интегрированной базе данных Google Cloud Datastore осуществляется и поддерживается с помощью JPA , JDO и простого низкоуровневого API. [11] Существуют альтернативные библиотеки и платформы, которые вы можете использовать для моделирования и сопоставления данных с базой данных, такие как Objectify, [12] Тонкий3, [13] и фреймворк Jello . [14]
Spring Framework работает с GAE, однако модуль Spring Security (если он используется) требует обходных путей. Apache Struts 1 Поддерживается , а Struts 2 работает с обходными путями. [15]
Веб- платформу Django и приложения, работающие на ней, можно использовать в App Engine с некоторыми изменениями. Джанго-нонрел [16] призван позволить Django работать с нереляционными базами данных, и проект включает поддержку App Engine. [17]
Массовая загрузка [ править ]
В SDK версии 1.2.2 добавлена поддержка массовой загрузки данных с использованием Python. [18] Проекты Python с открытым исходным кодом gaebar, [19] подход, [20] и черт возьми [21] также разрешить пользователям загружать и создавать резервные копии данных App Engine. В настоящее время не существует метода массовой загрузки данных из GAE с использованием Java.
Ограничения [ править ]
- Разработчики имеют доступ только для чтения к файловой системе App Engine. Приложения могут использовать только виртуальные файловые системы, например gae-filestore. [22]
- App Engine может выполнять только код, вызванный из HTTP-запроса (запланированные фоновые задачи допускают самовызов HTTP-запросов).
- Пользователи могут загружать произвольные модули Python, но только если они написаны на чистом Python. Модули C и Pyrex не поддерживаются.
- Приложения Java могут использовать только подмножество (Белый список классов JRE) классов из стандартной редакции JRE. [23] Это ограничение не существует для стандартной среды выполнения Java8 App Engine.
- Процесс, запущенный на сервере для ответа на запрос, не может длиться более 60 секунд (с версии 1.4.0 это ограничение больше не распространяется на фоновые задания).
- Не поддерживает закрепленные сеансы (так называемые привязки сеансов), поддерживаются только реплицированные сеансы, включая ограничение объема сериализуемых данных и времени сериализации сеанса.
Основные различия [ править ]
Отличия от другого хостинга приложений [ править ]
В то время как другие службы позволяют пользователям устанавливать и настраивать практически любое *NIX-совместимое программное обеспечение, App Engine требует от разработчиков использовать только поддерживаемые языки, API и платформы . Текущие API позволяют хранить и извлекать данные из документоориентированной базы данных Google Cloud Datastore , выполнять HTTP-запросы, отправлять электронную почту, манипулировать изображениями и кэшировать. Google Облачный SQL [24] может использоваться для приложений App Engine, требующих реляционной базы данных, совместимой с MySQL . [25]
Дневные и поминутные квоты накладывают ограничения на пропускную способность и использование ЦП, количество обслуживаемых запросов, количество одновременных запросов и вызовов различных API. Отдельные запросы прекращаются, если они занимают более 60 секунд или возвращают более 32 МБ данных.
Различия между SQL и GQL [ править ]
Google App Engine Интегрированная база данных Google Cloud Datastore имеет SQL -подобный синтаксис, называемый « GQL » ( язык запросов Google ). GQL не поддерживает оператор соединения . [26] Вместо этого отношения «один ко многим» и «многие ко многим» могут быть реализованы с помощью ReferenceProperty()
. [27]
Google Firestore является преемником Google Cloud Datastore и заменяет GQL методом запроса на основе документов, который рассматривает хранимые объекты как коллекции документов .
Проблемы с переносимостью [ править ]
Разработчики обеспокоены тем, что приложения не будут переносимы из App Engine, и опасаются, что их привязывают к этой технологии. [28] В ответ существует ряд проектов по созданию серверных частей с открытым исходным кодом для различных проприетарных/закрытых API-интерфейсов движка приложений, особенно хранилища данных. AppScale , CapeDwarf и TyphoonAE [29] Вот некоторые из проектов с открытым исходным кодом.
AppScale автоматически развертывает и масштабирует неизмененные приложения Google App Engine в популярных общедоступных и частных облачных системах и локальных кластерах. [30] AppScale может запускать приложения Python, Java, PHP и Go в EC2, Google Compute Engine, Softlayer, Azure и других облачных поставщиках.
ТайфунAE [29] может запускать приложения Python App Engine на любом облачном сервере, поддерживающем компьютеры с Linux.
Веб- платформа Web2py предлагает миграцию между базами данных SQL и Google App Engine, однако она не поддерживает некоторые специфичные для App Engine функции, такие как транзакции и пространства имен. [31]
Kubernetes — это система управления заданиями с открытым исходным кодом, изобретенная Google для абстрагирования инфраструктуры, чтобы контейнерные приложения с открытым исходным кодом (например, Docker) могли работать на многих типах инфраструктуры, таких как Amazon Web Services , Microsoft Azure и других. Это один из ответов Google на проблему переносимости.
Бэкэнды [ править ]
На Google I/O 2011 компания Google анонсировала бэкэнды App Engine , которым разрешено работать непрерывно и потреблять больше памяти. [32] [33] Backend API устарел с 13 марта 2014 г. в пользу API модулей. [34]
Google Cloud SQL [ править ]
В октябре 2011 года Google представила базу данных SQL, не требующую обслуживания, которая поддерживает JDBC и DB-API. [35] Этот сервис позволяет создавать, настраивать и использовать реляционные базы данных с приложениями App Engine. Google Cloud SQL поддерживает MySQL 8.0, 5.7 и 5.6. [36]
Квоты использования [ править ]
Для запуска Google App Engine требуется учетная запись Google, которая может позволить разработчику зарегистрировать до 25 бесплатных приложений и неограниченное количество платных приложений. [37]
Google App Engine определяет квоты использования для бесплатных приложений. Можно запросить расширение этих квот, а авторы приложений могут оплатить дополнительные ресурсы. [38]
См. также [ править ]
Ссылки [ править ]
- ^ «Представляем Google App Engine + наш новый блог» . Блог Google App Engine . 7 апреля 2008 года . Проверено 3 декабря 2019 г.
- ^ «Среда выполнения Python — Google App Engine — Google Code» . 22 февраля 1999 года . Проверено 14 февраля 2012 г.
- ^ Сандерсон, Дэн (2009). Программирование Google App Engine: создание и запуск масштабируемых веб-приложений в инфраструктуре Google . О'Рейли Медиа . ISBN 978-0-596-52272-8 .
- ↑ Перейти обратно: Перейти обратно: а б «Документация Google App Engine | Документация App Engine» . Гугл облако . Проверено 3 декабря 2019 г.
- ^ «Квоты — Google App Engine — Google Code» . 22 февраля 1999 года . Проверено 14 февраля 2012 г.
- ^ «Добро пожаловать в webapp2! — документация по webapp2 v2.5.1» . Webapp-improved.appspot.com . Проверено 14 февраля 2012 г.
- ^ «AppEngineFrameworks — Tipfy — Всемогущая маленькая платформа для Google App Engine — Хостинг проектов Google» . Проверено 14 февраля 2012 г.
- ^ «Что такое Google App Engine? – Google App Engine – Google Code» . 22 февраля 1999 года . Проверено 14 февраля 2012 г.
- ^ «Обзор веб-приложения – Google App Engine – Google Code» . 22 февраля 1999 года . Проверено 14 февраля 2012 г.
- ^ «Google выбрал Jetty для App Engine» . Infoq.com. 13 июля 2012 года . Проверено 17 июля 2012 г.
- ^ «Низкоуровневый API хранилища данных Google App Engine» .
- ^ «Библиотека Объектифай» . Гитхаб . 4 декабря 2022 г.
- ^ «Фреймворк Slim3» .
- ^ «Джелло Фреймворк» .
- ^ «WillItPlayInJava — googleappengine — перечисляет уровень совместимости различных технологий Java и App Engine — Google App Engine — хостинга проектов Google» . Проверено 14 февраля 2012 г.
- ^ «Django-nonrel — поддержка NoSQL для Django» . Все кнопки нажаты. 4 февраля 2010 года . Проверено 17 июля 2012 г.
- ^ «djangoappengine — серверные части Django App Engine (БД, электронная почта и т. д.)» . Все кнопки нажаты. 30 сентября 2011 года . Проверено 17 июля 2012 г.
- ^ «Загрузка и скачивание данных – Google App Engine – Google Code» . 22 февраля 1999 года . Проверено 14 февраля 2012 г.
- ^ арал. «арал/гаебар» . Гитхаб . Проверено 14 февраля 2012 г.
- ^ «approcket — Живая синхронизация между AppEngine и MySQL — Хостинг проектов Google» . Проверено 14 февраля 2012 г.
- ^ «gawsh — Помощники веб-служб Google Apps — Хостинг проектов Google» . Проверено 14 февраля 2012 г.
- ^ «gae-filestore — простая виртуальная файловая система в хранилище данных Google App Engine — хостинг проектов Google» . Проверено 14 февраля 2012 г.
- ^ «Белый список классов JRE — Google App Engine — Google Developers» . 22 февраля 1999 года . Проверено 14 июня 2013 г.
- ^ «Базы данных Google Cloud SQL — Cloud SQL — Google Cloud Platform» . Облачная платформа Google .
- ^ «Использование Google Cloud SQL — стандартной среды App Engine для Java — Google Cloud Platform» . Облачная платформа Google .
- ^ Разработчики Google (7 апреля 2008 г.). «Campfire One: Представляем Google App Engine (часть 3)» – через YouTube.
{{cite web}}
:|last=
имеет общее имя ( справка ) - ^ «Моделирование отношений между сущностями — Google App Engine — Google Developers» . 26 июня 2012 года . Проверено 17 июля 2012 г.
- ^ Галлахер, Шон (9 апреля 2008 г.). «Анализ: Google App Engine заманчив, от него будет сложно уйти» . Арс Техника . Проверено 17 июля 2012 г.
- ↑ Перейти обратно: Перейти обратно: а б «typhoonae — Typhoon App Engine — Хостинг проектов Google» . Проверено 17 июля 2012 г.
- ^ AppScale запускается как эквивалент Google App Engine для резервного копирования с открытым исходным кодом . TechCrunch (24 июня 2013 г.). Проверено 18 сентября 2013 г.
- ^ [1] Архивировано 20 февраля 2010 г. в Wayback Machine.
- ^ Google I/O 2011: Серверные части App Engine на YouTube
- ^ «Обзор API-интерфейсов Backends Python — стандартная среда App Engine для Python — Google Cloud Platform» . Облачная платформа Google .
- ^ «Обзор API-интерфейсов Backends Python — стандартная среда App Engine для Python — Google Cloud Platform» . Облачная платформа Google .
- ^ «Google Cloud SQL: ваша база данных в облаке — официальный блог Google Code» . 6 октября 2011 г.
- ^ «Функции Cloud SQL – Документация по Cloud SQL – Google Cloud Platform» . Облачная платформа Google .
- ^ «Общие вопросы о Google App Engine» . Разработчики Google . Проверено 18 июня 2015 г.
- ^ «Понимание квот приложений в Google App Engine» . Проверено 16 апреля 2010 г.
Библиография [ править ]
- Сандерсон, Дэн (26 октября 2012 г.), Программирование Google App Engine (2-е изд.), O'Reilly Media , стр. 536, ISBN 978-1449398262
- де Йонге, Адриан (31 октября 2011 г.), Essential App Engine: создание высокопроизводительных Java-приложений с помощью Google App Engine (1-е изд.), Addison-Wesley Professional , стр. 304, ISBN 978-0-321-74263-6
- Гермер, Даниэль; Унру, Эми (24 ноября 2010 г.), Google App Engine Java и разработка приложений GWT (1-е изд.), Packt Publishing , стр. 480, ISBN 978-1-84969-044-7
- Рош, Кайл; Дуглас, Джефф (31 декабря 2009 г.), Начало работы с Java Google App Engine (1-е изд.), Apress , стр. 375, ISBN 978-1-4302-2553-9
- Сандерсон, Дэн (23 ноября 2009 г.), Программирование Google App Engine (1-е изд.), O'Reilly Media , стр. 400 , ISBN 978-0-596-52272-8
- Северанс, Чарльз (22 мая 2009 г.), Использование Google App Engine (1-е изд.), O'Reilly Media , стр. 262 , ISBN 978-0-596-80069-7
- Чурана, Юджин (2 февраля 2009 г.), Разработка с помощью Google App Engine (1-е изд.), Apress , стр. 164, ISBN 978-1-4302-1831-9
Внешние ссылки [ править ]
- Официальная маркетинговая страница
- Официальный сайт
- Официальный блог облачной платформы Google
- Примечания к выпуску
- Google App Engine — Запускайте свои веб-приложения в инфраструктуре Google — технический доклад инженера Google Гвидо ван Россума из Стэнфордского университета . ( онлайн видеоархив )
- Преимущества использования Google App Engine. Архивировано 2 февраля 2017 г. на Wayback Machine.
- Использование внешней базы данных с Google App Engine. Архивировано 6 августа 2017 г. на Wayback Machine.
- Поддерживаемые Java Frameworks и библиотеки
- Книга Web2py – онлайн-документация – рецепт развертывания Google App Engine
- Примеры проектов Google Cloud SQL
- Google Cloud поддерживает node.js
- Appmd : пример проекта разработки Python. App Engine/django/Google Closure/Конечные точки/Material design