Jump to content

Google App Engine

Разработчик(и) Google
Первоначальный выпуск 7 апреля 2008 г .; 16 лет назад ( 07.04.2008 ) [1]
Тип Платформа как услуга
Веб-сайт облако .Google /appengine /

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]

См. также [ править ]

Ссылки [ править ]

  1. ^ «Представляем Google App Engine + наш новый блог» . Блог Google App Engine . 7 апреля 2008 года . Проверено 3 декабря 2019 г.
  2. ^ «Среда выполнения Python — Google App Engine — Google Code» . 22 февраля 1999 года . Проверено 14 февраля 2012 г.
  3. ^ Сандерсон, Дэн (2009). Программирование Google App Engine: создание и запуск масштабируемых веб-приложений в инфраструктуре Google . О'Рейли Медиа . ISBN  978-0-596-52272-8 .
  4. Перейти обратно: Перейти обратно: а б «Документация Google App Engine | Документация App Engine» . Гугл облако . Проверено 3 декабря 2019 г.
  5. ^ «Квоты — Google App Engine — Google Code» . 22 февраля 1999 года . Проверено 14 февраля 2012 г.
  6. ^ «Добро пожаловать в webapp2! — документация по webapp2 v2.5.1» . Webapp-improved.appspot.com . Проверено 14 февраля 2012 г.
  7. ^ «AppEngineFrameworks — Tipfy — Всемогущая маленькая платформа для Google App Engine — Хостинг проектов Google» . Проверено 14 февраля 2012 г.
  8. ^ «Что такое Google App Engine? – Google App Engine – Google Code» . 22 февраля 1999 года . Проверено 14 февраля 2012 г.
  9. ^ «Обзор веб-приложения – Google App Engine – Google Code» . 22 февраля 1999 года . Проверено 14 февраля 2012 г.
  10. ^ «Google выбрал Jetty для App Engine» . Infoq.com. 13 июля 2012 года . Проверено 17 июля 2012 г.
  11. ^ «Низкоуровневый API хранилища данных Google App Engine» .
  12. ^ «Библиотека Объектифай» . Гитхаб . 4 декабря 2022 г.
  13. ^ «Фреймворк Slim3» .
  14. ^ «Джелло Фреймворк» .
  15. ^ «WillItPlayInJava — googleappengine — перечисляет уровень совместимости различных технологий Java и App Engine — Google App Engine — хостинга проектов Google» . Проверено 14 февраля 2012 г.
  16. ^ «Django-nonrel — поддержка NoSQL для Django» . Все кнопки нажаты. 4 февраля 2010 года . Проверено 17 июля 2012 г.
  17. ^ «djangoappengine — серверные части Django App Engine (БД, электронная почта и т. д.)» . Все кнопки нажаты. 30 сентября 2011 года . Проверено 17 июля 2012 г.
  18. ^ «Загрузка и скачивание данных – Google App Engine – Google Code» . 22 февраля 1999 года . Проверено 14 февраля 2012 г.
  19. ^ арал. «арал/гаебар» . Гитхаб . Проверено 14 февраля 2012 г.
  20. ^ «approcket — Живая синхронизация между AppEngine и MySQL — Хостинг проектов Google» . Проверено 14 февраля 2012 г.
  21. ^ «gawsh — Помощники веб-служб Google Apps — Хостинг проектов Google» . Проверено 14 февраля 2012 г.
  22. ^ «gae-filestore — простая виртуальная файловая система в хранилище данных Google App Engine — хостинг проектов Google» . Проверено 14 февраля 2012 г.
  23. ^ «Белый список классов JRE — Google App Engine — Google Developers» . 22 февраля 1999 года . Проверено 14 июня 2013 г.
  24. ^ «Базы данных Google Cloud SQL — Cloud SQL — Google Cloud Platform» . Облачная платформа Google .
  25. ^ «Использование Google Cloud SQL — стандартной среды App Engine для Java — Google Cloud Platform» . Облачная платформа Google .
  26. ^ Разработчики Google (7 апреля 2008 г.). «Campfire One: Представляем Google App Engine (часть 3)» – через YouTube. {{cite web}}: |last= имеет общее имя ( справка )
  27. ^ «Моделирование отношений между сущностями — Google App Engine — Google Developers» . 26 июня 2012 года . Проверено 17 июля 2012 г.
  28. ^ Галлахер, Шон (9 апреля 2008 г.). «Анализ: Google App Engine заманчив, от него будет сложно уйти» . Арс Техника . Проверено 17 июля 2012 г.
  29. Перейти обратно: Перейти обратно: а б «typhoonae — Typhoon App Engine — Хостинг проектов Google» . Проверено 17 июля 2012 г.
  30. ^ AppScale запускается как эквивалент Google App Engine для резервного копирования с открытым исходным кодом . TechCrunch (24 июня 2013 г.). Проверено 18 сентября 2013 г.
  31. ^ [1] Архивировано 20 февраля 2010 г. в Wayback Machine.
  32. ^ Google I/O 2011: Серверные части App Engine на YouTube
  33. ^ «Обзор API-интерфейсов Backends Python — стандартная среда App Engine для Python — Google Cloud Platform» . Облачная платформа Google .
  34. ^ «Обзор API-интерфейсов Backends Python — стандартная среда App Engine для Python — Google Cloud Platform» . Облачная платформа Google .
  35. ^ «Google Cloud SQL: ваша база данных в облаке — официальный блог Google Code» . 6 октября 2011 г.
  36. ^ «Функции Cloud SQL – Документация по Cloud SQL – Google Cloud Platform» . Облачная платформа Google .
  37. ^ «Общие вопросы о Google App Engine» . Разработчики Google . Проверено 18 июня 2015 г.
  38. ^ «Понимание квот приложений в Google App Engine» . Проверено 16 апреля 2010 г.

Библиография [ править ]

Внешние ссылки [ править ]

Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: ed241e0d0d0fa8f5a73b234847e0ccc2__1718283060
URL1:https://arc.ask3.ru/arc/aa/ed/c2/ed241e0d0d0fa8f5a73b234847e0ccc2.html
Заголовок, (Title) документа по адресу, URL1:
Google App Engine - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)