Google App Engine
![]() | этой статьи Фактическая точность может быть нарушена из-за устаревшей информации . ( июль 2024 г. ) |
![]() | Эта статья может потребовать редактирования текста с точки зрения грамматики, стиля, связности, тона или орфографии . ( Апрель 2024 г. ) |
![]() | |
Разработчик(и) | |
---|---|
Первоначальный выпуск | 7 апреля 2008 г [ 1 ] |
Тип | Платформа как услуга |
Веб-сайт | облако |
Google App Engine (также называемый GAE или App Engine ) — это платформа облачных вычислений , используемая в качестве службы для разработки и размещения веб-приложений . Приложения изолированы и запускаются на нескольких серверах, управляемых Google. [ 2 ] GAE поддерживает автоматическое масштабирование веб-приложений, выделяя веб-приложению больше ресурсов по мере увеличения количества запросов. [ 3 ] Он был выпущен в качестве предварительной версии в апреле 2008 года и официально запущен в сентябре 2011 года.
Приложения, написанные на Go , PHP , Java , Python , Node.js , .NET и Ruby , поддерживаются App Engine, а поддержка других языков может осуществляться за дополнительную плату. [ 4 ] Бесплатная версия сервиса предлагает стандартную среду с ограниченными ресурсами. Плата взимается за дополнительное хранилище, пропускную способность или часы экземпляра. [ 5 ]
Функции
[ редактировать ]Google App Engine в первую очередь поддерживает Go , PHP , Java , Python , Node.js , .NET и Ruby , хотя он также может поддерживать другие языки через «настраиваемые среды выполнения». приложения [ 4 ]
Веб-фреймворки Python, работающие на Google App Engine, включают Django , CherryPy , Pyramid , Flask и web2py, а также фреймворк веб-приложений, написанный Google, и несколько других, разработанных специально для платформы, которые были созданы после выпуска. [ 6 ] Для создания приложения можно использовать любую платформу Python, поддерживающую WSGI с использованием адаптера CGI, а платформу можно загрузить вместе с разработанным приложением. Также можно загружать сторонние библиотеки, написанные на Python. [ 7 ] [ 8 ]
В SDK версии 1.2.2 добавлена поддержка массовой загрузки данных с использованием Python. [ 9 ]
Интегрированная в App Engine база данных Google Cloud Datastore имеет SQL -подобный синтаксис, называемый « GQL » ( язык запросов Google ). GQL не поддерживает оператор соединения . [ 10 ] Вместо этого отношения «один ко многим» и «многие ко многим» могут быть реализованы с помощью ReferenceProperty()
. [ 11 ]
Google Cloud Firestore является преемником Google Cloud Datastore и заменяет GQL методом запроса на основе документов, который рассматривает хранимые объекты как коллекции документов. Firestore был запущен в октябре 2017 года. [ 12 ]
Серверные части
[ редактировать ]На Google I/O 2011 компания Google анонсировала бэкэнды App Engine , которым разрешено работать непрерывно и потреблять больше памяти. [ 13 ] [ 14 ] Backend API устарел с 13 марта 2014 г. в пользу API модулей. [ 15 ]
Google Облачный SQL
[ редактировать ]В октябре 2011 года Google представила базу данных SQL, не требующую обслуживания, которая поддерживает JDBC и DB-API. [ 16 ] Этот сервис позволяет создавать, настраивать и использовать реляционные базы данных с приложениями App Engine. Google Cloud SQL поддерживает MySQL 8.0, 5.7 и 5.6. [ 17 ]
Ограничения
[ редактировать ]- Разработчики имеют доступ только для чтения к файловой системе App Engine. Приложения могут использовать только виртуальные файловые системы.
- App Engine может выполнять только код, вызванный из HTTP-запроса (запланированные фоновые задачи допускают самовызов HTTP-запросов).
- Пользователи могут загружать произвольные модули Python, но только если они написаны на чистом Python. Модули C и Pyrex не поддерживаются.
- Приложения Java могут использовать только подмножество (Белый список классов JRE) классов из стандартной редакции JRE. [ 18 ] Это ограничение не существует для стандартной среды выполнения Java8 App Engine.
- Процесс, запущенный на сервере для ответа на запрос, не может длиться более 60 секунд (с версии 1.4.0 это ограничение больше не распространяется на фоновые задания).
- Не поддерживает закрепленные сеансы (так называемые привязки сеансов), поддерживаются только реплицированные сеансы, включая ограничение объема сериализуемых данных и времени сериализации сеанса.
Хостинг приложений
[ редактировать ]В то время как другие службы позволяют пользователям устанавливать и настраивать практически любое *NIX-совместимое программное обеспечение, App Engine требует от разработчиков использовать только поддерживаемые языки, API и платформы . Текущие API позволяют хранить и извлекать данные из документоориентированной базы данных Google Cloud Datastore , выполнять HTTP-запросы, отправлять электронную почту, манипулировать изображениями и кэшировать. Google Облачный SQL [ 19 ] может использоваться для приложений App Engine, требующих реляционной базы данных, совместимой с MySQL . [ 20 ]
Дневные и поминутные квоты накладывают ограничения на пропускную способность и использование ЦП, количество обслуживаемых запросов, количество одновременных запросов и вызовов различных API. Отдельные запросы прекращаются, если они занимают более 60 секунд или возвращают более 32 МБ данных.
Проблемы переносимости
[ редактировать ]Разработчики обеспокоены тем, что приложения не будут переносимы из App Engine, и опасаются, что их привязывают к этой технологии. [ 21 ] В ответ существует ряд проектов по созданию серверных частей с открытым исходным кодом для различных проприетарных/закрытых API-интерфейсов движка приложений, особенно хранилища данных.
AppScale автоматически развертывает и масштабирует неизмененные приложения Google App Engine в популярных общедоступных и частных облачных системах и локальных кластерах. [ 22 ] Он может запускать приложения Python, Java, PHP и Go в EC2, Google Compute Engine, Azure и других облачных поставщиках.
Веб- платформа Web2py предлагает миграцию между базами данных SQL и Google App Engine, однако она не поддерживает некоторые специфичные для App Engine функции, такие как транзакции и пространства имен. [ 23 ]
Kubernetes — это система управления заданиями с открытым исходным кодом, изобретенная Google для абстрагирования инфраструктуры, чтобы контейнерные приложения с открытым исходным кодом (например, Docker) могли работать на многих типах инфраструктуры, таких как Amazon Web Services , Microsoft Azure и других.
Квоты использования
[ редактировать ]Для запуска Google App Engine требуется учетная запись Google, которая может позволить разработчику зарегистрировать до 25 бесплатных приложений и неограниченное количество платных приложений. [ 24 ]
Google App Engine определяет квоты использования для бесплатных приложений. Можно запросить расширение этих квот, а авторы приложений могут оплатить дополнительные ресурсы. [ 25 ]
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ «Представляем 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 г.
- ^ «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 App Engine – Google Code» . 22 февраля 1999 года . Проверено 14 февраля 2012 г.
- ^ Разработчики Google (7 апреля 2008 г.). «Campfire One: Представляем Google App Engine (часть 3)» – через YouTube.
{{cite web}}
:|last=
имеет общее имя ( справка ) - ^ «Моделирование отношений между сущностями — Google App Engine — Google Developers» . 26 июня 2012 года . Проверено 17 июля 2012 г.
- ^ «Google запускает Cloud Firestore, новую базу данных документов для разработчиков приложений» . ТехКранч . 3 октября 2017 г. Проверено 16 июля 2018 г.
- ^ 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 .
- ^ «Белый список классов 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 .
- ^ Галлахер, Шон (9 апреля 2008 г.). «Анализ: Google App Engine заманчив, от него будет сложно уйти» . Арс Техника . Проверено 17 июля 2012 г.
- ^ AppScale запускается как эквивалент Google App Engine для резервного копирования с открытым исходным кодом . TechCrunch (24 июня 2013 г.). Проверено 18 сентября 2013 г.
- ^ [1] Архивировано 20 февраля 2010 г., в Wayback Machine.
- ^ «Общие вопросы по 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