- PVSM.RU - https://www.pvsm.ru -
Недавно google анонсировал [1] Cloud SQL [2] для своего облака. Но вначале подержки django не было, и вот в начале февраля выходит App Engine 1.6.2 [3] с поддержкой запуска приложений на django. Теперь можно забыть про скакания вокруг app-engine-patch и django-nonre, и пытаться эмулировать реляционную базу данных поверх bigtable.
Нам дают django 1.2 и модуль работы с Cloud SQL из коробки, и мы можем забыть про костыли с упаковкой пакетов в zip архивы. Вот какие шаги нам необходимо сделать для получения простого приложения в облаке:
application: appname version: 1 runtime: python27 api_version: 1 threadsafe: true libraries: - name: django version: "1.2" builtins: - django_wsgi: on
DATABASES = { 'default': { 'ENGINE': 'google.appengine.ext.django.backends.rdbms', 'INSTANCE': 'my_project:instance1', 'NAME': 'my_database', } }
Это основное что необходимо сделать для подготовки приложения. При первой попытки сделать syncdb нас попросят авторизоваться, для этого нужно получить токен через Google APIs Console [4] на вкладке «API Access», и как говорит инструкция [5] расположить его в ~/.googlesql_oauth2.dat
(для windows %USERPROFILE%.googlesql_oauth2.dat
). Во время syncdb в Cloud SQL создаться необходимая схема базы для приложения и загрузятся fixtures если они есть. Пока разработка идет на локальной машине, приложение работает с sqlite3 базой. После этого можно смело пушить приложение в облако.
Я считаю что гугл сделал правильный шаг, давая SQL базу. У них не получилось выстрелить со своим облаком. Да в то время это смотрелось интересно, но все быстро поняли что оно слишком ограничено, и завязнуф на сервисах google будет очень тяжело перенести приложение куда либо. Да есть инструменты для миграций на амазоноские сервисы, но они не дают гарантий, и в любом случае потребуется N-ое количество человеко часов для переноса. Я не вспомню не одного крупного сайта работающего поверх GAE, был интересный проект [6] интернет магазина, но и тот скорее мертв чем жив. Большие проекты скорее избегают GAE или даже о нем не думают, когда рядом есть амазон, на котором можно построить свою архитектуру, легко смигрироваф при необходимости.
Для тех кому нужно что то поменьше, запустить бложик, сайт визитку и т.п это слишком сложно, да и зачем разбираться в особенностях разработки под GAE, когда можно без особых усилий запустить подобное на специализированных сервисах.
А вот с запуском Cloud SQL ситуация хоть немного может измениться. Теперь можно спокойно запускать django сайты средней сложности на GAE, прикрутить к нему домен, и забыть про администрирование сервера. Только не стоит забывать про то что GAE поддерживает библиотеки написанные только на чистом python, про все сишные модули стоит забыть, а также ограничения на http запросы из приложения. И нам все еще надо будет использовать API GAE для загрузки файлов в хранилище, отсылку email и кэширование в memcache, но даже с этими ограничениями это покроет большую часть нужд для разворачивания «простых» сайтов.
Ссылки:
Автор: yurtaev
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/django-2/2980
Ссылки в тексте:
[1] анонсировал: http://habrahabr.ru/blogs/gae/129907/
[2] Cloud SQL: https://developers.google.com/cloud-sql/
[3] App Engine 1.6.2: http://googleappengine.blogspot.com/2012/01/app-engine-162-released.html
[4] Google APIs Console: https://code.google.com/apis/console
[5] инструкция: https://developers.google.com/cloud-sql/docs/django
[6] проект: http://habrahabr.ru/blogs/gae/70355/
Нажмите здесь для печати.