Лучше ли Google App Engine, чем Webfaction, для новичка в разработке Django?

Я новичок в разработке сайтов на Django. Я запускаю небольшие дискуссионные сайты, похожие на SO.

У меня есть учетная запись на Bluehost, которая была кошмаром при разработке Django. Я обнаружил, что Webfaction и Google App Engine кажутся лучшим выбором для Django.

Однако я не уверен, какой из них лучше для меня.

Является ли Google App Engine лучшим, чем Webfaction, для запуска небольших веб-сайтов?


person Léo Léopold Hertz 준영    schedule 06.04.2009    source источник
comment
Webfaction и Google App Engine — лучший выбор для Django? С тех пор как? Я считаю, что мой VPS делает потрясающую работу с гораздо большей гибкостью, чем WebFaction или GAE.   -  person Oli    schedule 30.11.2009
comment
Да, но VPS значительно дороже, чем общие хосты. Для небольшого приложения, использующего WebFaction, вы можете потратить 102 доллара плюс стоимость домена, и вам хватит на год. Даже дешевый VPS стоит в два раза дороже аналогичного плана.   -  person LeafStorm    schedule 06.02.2010


Ответы (6)


Веб-фракция:

Плюс:

  1. Отличный доступ к оболочке. Возможность установки модулей Python или чего-либо еще, что вам может понадобиться. Вам понравится проверять исходный код из оболочки, чтобы обновлять свою продукцию (больше не нужно ничего передавать по FTP!)
  2. Очень хорошая производительность и надежность
  3. Отличная поддержка + множество информации в справочной базе знаний и на форумах. (ЗАБУДЬТЕ bluehost или что-либо еще, что вы когда-либо пробовали). Я был удивлен количеством ответов, которые я нашел на, как мне казалось, сложные вопросы.
  4. Вы можете использовать обычную базу данных, и вы можете выполнять соединения (см. движок приложения минус № 2)

Минус:

  1. Настройка начального развертывания может быть немного сложной в первые несколько раз (как и следовало ожидать от оболочки).
  2. Рост-масштабирование может быть дорогим, и вы, вероятно, не выживете, когда будете «слэш-точками».

Система приложений

Плюс:

  1. Бесплатно для начала
  2. Исходная база данных проще в настройке.
  3. Развертывание — это просто
  4. Обеспечение соблюдения «хороших» принципов дизайна с самого начала, которые помогут вам с № 5. (например, жесткие ограничения, денормализация БД и т. д.)
  5. Масштабируемость (но это не бесплатно — нужно думать наперед).
  6. Не требует обслуживания: автоматическое резервное копирование, безопасность предоставляется бесплатно, ведение журнала + централизованная панель управления, обновления программного обеспечения автоматические.

Минус:

  1. Настроить Django на App Engine не так просто, как и привыкнуть к этой настройке. Фреймворк веб-приложений от Google слаб.
  2. Модель базы данных требует немного времени, чтобы окунуться в нее. Это не SQL-сервер вашей мамы. Например, вы должны с самого начала денормализовать свою БД, и вы не можете выполнять соединения (если они не являются самостоятельными соединениями).
  3. Обычные вещи, к которым вы привыкли, не всегда есть. Некоторые вещи, такие как тестирование и импорт данных, уже не так просты.
  4. Вы привязаны к App Engine, и перенос ваших данных на другую базу данных или сервер, хотя и не невозможен, но не прост. (Не то чтобы вы так часто переносили данные! Наверное, никогда)
  5. Жесткие ограничения в запросах, ответах и ​​размерах файлов (последний раз я слышал о 1 МБ).
  6. В настоящее время App Engine поддерживает только Python 2.5.

Ничего другого пока придумать не могу. В настоящее время я работаю в Webfaction и также тестирую App Engine. Мне не сложно перейти от мышления Django-Webfaction к App-Engine. Однако я не уверен, что маршрут AppEngine -> Автономные серверы будет таким же простым.

Ссылки

Переговоры:

person Andriy Drozdyuk    schedule 14.11.2009

Я не могу говорить за Google App Engine, но, будучи довольно недавним пользователем Django, я недавно перенес свой сайт разработки на сервер WebFaction и должен сказать, что был очень впечатлен. Они очень дружелюбны к настройкам Django (среди прочего), а сотрудники службы поддержки быстро решали любые небольшие проблемы, которые у меня возникали. Я определенно рекомендую их.

Другие дружественные к Django хосты можно найти на Djangofriendly.com.

person Paolo Bergantino    schedule 06.04.2009

Если вы уже написали свое приложение django, установить его в Google App Engine может быть очень сложно, так как вам придется адаптировать свою модель данных. GAE использует большую таблицу, хранилище (ключей, данных) вместо традиционной реляционной модели. Это отлично подходит для производительности, но усложняет программирование (например, нет встроенных обработчиков отношений «многие ко многим»).

Кроме того, большинство приложений, доступных для django, не будут работать в GAE, поскольку эти приложения используют реляционную модель данных. Самая очевидная проблема заключается в том, что отличное приложение администратора django не будет работать. Кроме того, GAE склонен заставлять вас использовать учетные записи Google для идентификации. Это можно обойти, но опять же, не используя легкодоступные приложения django. Это может быть полезно для вас, но может быть проблемой (например, многие имена пользователей уже заняты в Google).

Итак, мой последний совет: если вы новичок, вам следует избегать GAE.

Если вы находитесь в Европе, djangohosting.ch также является хорошим выбором вместо веб-фракции.

person madewulf    schedule 07.04.2009
comment
Лучше ли использовать хостинг, который находится в Европе, если моя целевая аудитория - Европа? Каковы преимущества наличия хоста рядом с моими клиентами? - person Léo Léopold Hertz 준영; 07.04.2009
comment
У вас будет лучшее время отклика не только для вас, но и для ваших пользователей. Попробуйте зайти на сайты в Австралии (например, сайты университетов), вы почувствуете боль. - person madewulf; 07.04.2009
comment
@madewulf: Вы знаете, чем отличается хостинг между Webfaction и djangohosting.ch? - person Léo Léopold Hertz 준영; 07.04.2009
comment
Для меня это почти то же самое, за исключением того, что WebFaction — гораздо более крупная компания. Я являюсь клиентом djangohosting.ch и могу сказать, что у них хорошая поддержка. Единственное, что меня когда-либо беспокоило, - это ограничение в 60 мегабайт оперативной памяти для вашего приложения, но до сих пор я никогда не сталкивался с проблемами. - person madewulf; 07.04.2009
comment
Это во многом зависит от вашего приложения. Мой активно обращается к БД и может потреблять до 20 МБ. Я никогда не пытался проводить стресс-тесты с более чем 5 одновременными запросами. Возможно я должен.... - person madewulf; 07.04.2009
comment
@madewulf: Как вам удалось перенести существующие веб-сайты на djangohosting.ch? Было тяжело? - person Léo Léopold Hertz 준영; 07.04.2009
comment
Это было совсем не сложно. Они генерируют для вас файл settings.py и сценарии инициализации для веб-сервера (они используют lighttpd). Редактировать их просто) Мой единственный вопрос был о том, как настроить отправку электронной почты, но они ответили в одночасье. (уже настроил, делать нечего). - person madewulf; 07.04.2009
comment
@madewulf: Спасибо за ваши ответы! - person Léo Léopold Hertz 준영; 07.04.2009
comment
Что бы это ни стоило, у меня был хороший опыт работы с WebFaction. - person baudtack; 13.06.2009

Немного запоздал с ответом, но тем не менее... Я новичок в Django, и у меня есть первое приложение Django. и работает в GAE. Это произошло благодаря исправлению App Engine. С его помощью у вас есть админка django и несколько других приложений, доступных из коробки. Если вы хотите попробовать, выберите версию для багажника. Этот проект достаточно хорошо документирован и имеет отзывчивое сообщество.

person Alexander Vasiljev    schedule 13.06.2009
comment
@Alexander: Отличные ответы никогда не поздно :) Спасибо за ответ! - person Léo Léopold Hertz 준영; 13.06.2009
comment
@Alexander: Вы использовали существующий код Django? Похоже, что утверждение Мадевульфа о том, что большинство приложений, доступных для django, не будут работать на GAE, поскольку эти приложения используют реляционную модель данных, больше не соответствует действительности. - person Léo Léopold Hertz 준영; 13.06.2009
comment
Я сам кодировал свое приложение. Мадевульф прав: перенос существующего приложения Django на AE требует усилий, даже с помощью AEP. Просто загляните в группу обсуждения проекта. Некоторые фреймворки уже портированы, а некоторые написаны с нуля, например gae-full-text-search.appspot. .com от авторов AEP. Авторы собираются создать собственный порт Django для AEP, см. code.djangoproject.com/wiki/AppEngine К сожалению, это не ближайшая задача. - person Alexander Vasiljev; 30.06.2009


Что нужно помнить о GAE, так это то, что он работает иначе, чем стандартная установка Python, и ваши приложения могут плохо работать (или вообще не работать) в этой среде. Самая большая разница - это база данных. Хотя у нереляционной базы данных, доступной в GAE, есть преимущества, вам нужно относиться к ней по-другому, и есть много вещей, которые ваш код может ожидать от вашей базы данных, но не может.

Если вы начинаете работу над приложением с нуля, любая платформа будет работать нормально. Если у вас есть существующее приложение Python, его работа в GAE потребует значительной работы.

person Nathan Voxland    schedule 07.04.2009