Публикации о продуктах и инструментах компании Google. Секреты продвижения Вашего сайта в Google
О Google ИНФО
Блог о поисковой системе Google
Для вебмастеров, оптимизаторов сайтов, специалистов по SEO
Google App Engine
Google App Engine является платформой для создания и хостинга web-приложений на серверах компании Google. Впервые бета-версия этого сервиса была представлена публично в апреле 2008 года. До тех пор, пока платформа Google App Engine находится в режиме тестирования, доступны только бесплатные аккаунты.[1] Как сообщает Google, бесплатный аккаунт включает в себя 500 мегабайт свободного места под данные и ресурсы сервера, достаточные для обслуживания 5 миллионов просмотров страниц в месяц. Однако, в ближайшем будущем планируется добавить возможность приобретения дополнительных вычислительных ресурсов по доступной стоимости.
Для реализации множества функций среда выполнения предлагает богатый набор API для сервисов постоянного хранилища (datastore), аккаунтов Google, загрузки данных по URL и электронной почты. Использование службы аккаунтов Google позволяет пользователю быстро начать работу с приложением, так как нет необходимости тратить время и проводить отдельную регистрацию учётных данных на каждом сайте. Это также позволяет разработчику не заботиться о реализации функционала ещё одной системы регистрации пользователей специально для своего приложения.
Платформа Google конкурирует с аналогичными сервисами от компании Amazon, которые предоставляют возможности размещать файлы и веб-приложения, используя свою инфраструктуру. Множество технических аналитиков прогнозировали, что Google со временем выйдет на этот рынок.
Приложения, разворачиваемые на базе App Engine, должны быть написаны на языке программирования Python. Предлагаемая среда исполнения включает в себя полную реализацию возможностей самого языка Python, большинство функций из стандартной библиотеки языка и ограниченную версию веб-фреймворка Django. Планируется в будущем добавить поддержку других языков.
Отличия от традиционной модели хостинга приложений
В отличие от многих обычных размещений приложений на виртуальных машинах, таких как Amazon EC2, платформа App Engine тесно интегрирована с приложениями и накладывает на разработчиков некоторые ограничения. Конкурирующие среды позволяют оперировать множеством программного обеспечения, созданного под *NIX системами, в то время как App Engine требует от разработчика обязательного использования языка программирования Python и сохранения информации в собственном хранилище (Datastore) — подмножестве проприетарной базы данных BigTable, являющейся ноу-хау компании Google.
Хотя большинство из разработанных на языке Python приложений возможно запустить без изменений под App Engine (исключая те, которые требуют доступа к низкоуровневым функциям системы или доступа к сети), использование хранилища потребует значительных сил от разработчиков на адаптацию приложений. В отличие от популярных СУБД MySQL и PostgreSQL, хранилище не является реляционной базой данных. Так как архитектура платформы поддерживает масштабирование без изменения кода, использование традиционных баз данных привело бы к значительному замедлению работы. Доставляя неудобства разработчикам, отсутствием возможности производить объединения таблиц (join) с данными, платформа тем не менее позволяет резко увеличить возможности масштабирования приложений.
В то же самое время все эти ограничения могут привести к тому, что многим разработчикам придётся прилагать дополнительные усилия для адаптации к новой среде, и они предпочтут выбор альтернативных платформ.
Ограничения
Среда выполнения платформы Google App Engine позволяет разработчику контролировать лишь часть параметров операционной системы, что может представлять проблему для разработки приложений.
Разрабочики не имеют возможности получить доступ к файловой системе сервера. Существует единственный способ сохранять данные — использовать внутреннее хранилище (нереляционная, высокомасштабируемая база данных). Это также означает, что существующие системы управления сессиями посетителей, использующими в своей работе файловую систему, не будут работать под App Engine. Однако, Google предоставляет альтернативный вариант — использование Memcache API, которое позволяет приложениям хранить временные данные и поддерживать таким образом сессии. Также имеется возможность огранизовать авторизацию пользователей сайта через аккаунты Google, используя соответствующее API.
Приложение не может осуществлять самостоятельную фоновую работу без обслуживания запросов пользователей. Оно также не может готовить ответ на HTTP запрос больше нескольких секунд. Если обработчик запроса выполняется слишком долго, приложение будет принудительно завершено и пользователю выдастся ошибка. Порог этого ограничения является динамическим и может варьироваться в зависимости от существующей нагрузки на сервер. Некоторые разработчики считают, что в связи с тем, что Google широко использует в своих приложениях технологию MapReduce (высокоскоростной интерфейс для параллельных вычислений, проводимых на множестве узлов кластера), её поддержка будет вскоре добавлена к возможностям платформы.
На сегодняший день единственным поддерживаемым языком программирования является Python. Ходят неподтверждённые слухи, что ещё до завершения предварительного периода тестирования, Google добавит к своей платформе поддержку языков PHP и Java.
Внутреннее хранилище имеет большие отличия от реляционных СУБД MySQL и PostgreSQL, которые используются на текущий момент на большинстве сайтов.
Официальный сайт Google App Engine: http://appengine.google.com/
Задать вопросы владельцу блога Вы можете посредствам письма по адресу adm.ehb[dog]gmail.com