Русские документы
Ежедневные компьютерные новости RSS rusdoc.ru  Найти :
Новости
Последние поступления
Книжный магазин
  Hardware:
Видеоустройства
Системные платы
Процессоры
Мобильные устройства
Аудиосистема
Охлаждение системы
Накопители информации
КПК и ноутбуки
Телефоны и связь
Периферия
Система
Сети
Разные устройства
 
  Programming:
Web-разработка
Языки программирования
Технологии и теория
Разработка игр
Программная инженерия
 
  Software:
Операционные системы
Windows 7
Базы данных
Обзоры программ
Графика и дизайн
   
  Life:
Компьютерная жизнь
Разные материалы
   
Партнеры
Публикация
Правовая информация
Реклама на сайте
Обратная связь
Экспорт в RSS Экспорт в RSS2.0
    Читать в Яндекс.Ленте



Google App Engine: достоинства и недостатки

Раздел: Programming / Технологии разработки @ 18.04.2008 | Ключевые слова: Google App Engine достоинства недостатки версия для печати

Автор: scater
Источник: habrahabr

Google App Engine: достоинства и недостатки
Изучив информацию в интернете о Google App Engine, хотел бы высказать собственное мнение по поводу громких споров вокруг этого продукта, а также предоставить общий перечень его ограничений на основе изученных публикаций по данной теме.

Профессиональный разработчик подбирает инструмент под задачу и решает ее средствами, которые есть в наличии.

Это касается как выбора языка Python, так и платформы в целом. Я лично являюсь Python и Django разработчиком уже больше года и могу судить об их преимуществах и недостатках. Python и Django показали себя в качестве отличных средств для создания web-приложений. Использовать их или нет - дело каждого. По моему мнению, Google подобрал и предоставил достаточно средств для полноценной web-разработки. Почему выбран именно Python, я думаю, понятно всем - корпорация имеет широкий опыт работы с данным языком. А также не следует забывать, что Guido van Rossum - член команды разработчиков.

Встретилась публикация, в которой решение от Google сравнивают с хостингом на "ваш любимый язык + MySQL". Сомневаюсь, что Google вдруг решил переквалифицироваться в хостинговую компанию среднего пошиба. Google App Engine - это не free-хостинг для вашего любимого блога, это масштабируемая среда для высоко-нагруженных приложений, которые работают с большими наборами данных. Именно в такой ситуации она будет вам полезна, хотя вы и можете ее использовать, как угодно. Нужно понимать, как позиционируется продукт и как правильно необходимо его использовать. Приведу в пример вопрос о произвольных запросах. Для каждого вашего запроса среда требует создания индекса. Делает она это абсолютно верно (и часто автоматически). Хотя это и ограничивает возможности "поиграть" с данными, но реальное приложение всегда работает с лимитированным перечнем запросов к базе. Оно всегда производит одни и те же запросы, только с разными параметрами. Оптимизация под именно ваши запросы - это правильное решение и это очень хорошо, что сама среда подталкивает вас к этому. Таким образом, данная технология требует понимания своего предназначения.

Перечень действительных ограничений:
  – объем статичных файлов лимитирован 1 MB. App Engine не поддерживает частичные запросы контента.
  – невозможно использовать comet-технологии (server push).
  – приложение не идентифицируется уникально по ip-адресу. Затруднительно для взаимодействия с внешними сервисами. Приложение может страдать от плохих соседей на этом же сервисе.
  – нет поддержки SSL. Отсутствие уникального IP-адреса затрудняет авторизацию, но порт 443 открыт для запросов. Вы можете полагаться на сервисы Google для доверяемых логинов.

Перечень решаемых ограничений:
  – нет возможности использовать cron jobs. Решается выносом на вне и вызовом специальных URL-ов вашего приложения.
  – нет обработки изображений. Не работает Python Imaging Library, поскольку часть библиотеки написано на C. Пишите собственный процессинг изображений на чистом python.
  – завязка на Google Accounts. Каждый раз при логине в ваше приложение, пользователи будут знать о вашем выборе Google App Engine. Не вижу в этом особых проблем. Позитивный момент - лучшее рекламное позиционирование в AdSence.
  – медленное сканирование таблиц. BigTable - это не MySQL. Читаем документацию - меняем мышление. Если ваши запросы выполняются медленно, значит, скорее всего, вы используете инструмент не верно. Посмотрите примеры, продумайте архитектуру еще раз.
  – нужно постоянное взаимодействие с хостом. Есть только один способ запустить код со всеми особенностями среды - это загрузить его на сервер. Это создает неудобства, поскольку вы не можете "поднять" проект локально.

Кросс-пост с сайта: http://www.pleso.net/ru/publications/200… , автор - посмотреть профиль scater

Интернет-источники:
http://community.livejournal.com/evan_te…
http://www.niallkennedy.com/blog/2008/04…
http://www.tomstechblog.com/post/2008/04…

Это интересно:








версия для печатиРаспечатать статью


Вернуться в раздел: Programming / Технологии разработки


Реклама:
Читать наc на:

Add to Google
Читать в Яндекс.Ленте






Rambler's Top100
© Copyright 1998-2012 Александр Томов. All rights reserved.