- PVSM.RU - https://www.pvsm.ru -

Экскурс от версии 1.6.1 к 1.6.5

Со времени публикации новости о выходе Google App Engine 1.6.0 [1] прошло уже много времени. А между прочем вышло 5 обновлений, каждое из которых принесло много вкусного и интересного. Попробую восполнить этот пробел.


Описание содержит базовые и большие изменения и не содержит список исправленных багов и других мелочей реализации, иначе статья получилась бы просто огромной. Полный список тут [2].

Версия 1.6.1

Дата выхода: 13 декабря, 2011 г.

Изменения в платформе:

  • Появились так называемые Frontend Instance Classes [3]. Теперь по умолчанию ваши скрипты запускаются не на какой-то псевдомашине, а на псевдомашине, больше напоминающей инстанс от Amazon. Вы можете (за отдельные деньги) по умолчанию для ваших скриптов «создавать» более мощные инстансы;
  • Выпушено High Replication Datastore (HRD) Migration Tool [4]. Это приложение, как можно догадаться из названия, позволяет переносить данные на HRD через web-интерфейс, контролируя время миграции, дату миграции и т.п. Т.е. полноценное управлять процессом миграции.

Новые API'и:

  • Вышел Conversion API [5], который позволяет конвертировать разные форматы друг в друга;
  • Вышел Logs Reader API [6] который позволяет обрабатывать и визуализировать логи.

Версия 1.6.2

Дата выхода: 31 января, 2012 г.

Экспериментальное внедрение резервных копий и восстановление из них для Datastore. На редкость удобное новшество, которое избавило от необходимости писать свои скрипты миграций с сериализацией и десериализацией.

Наконец-то Django в App Engine подружили с Cloud SQL.

Channel API [7] научился лимитировать время жизни ключа соединения.

А Python API for the Blobstore [8] научился делать асинхронные вызовы для всех типов операций над данными.

Версия 1.6.3

Дата выхода: 28 февраля, 2012 г.

Изменения в платформе:

  • Появился Traffic Splitting [9], который позволяет решить, какой процент трафика на какую версию вашего приложения отправится. Разделение можно делать, рассматривая пристальнее, какой пользователь пришёл и перенаправлять его или по IP или по кукам. Таким образом для разных стран можно определить разные версии вашего приложения;
  • Добавлена защита от спуфинга через e-mail. Теперь все письма, которые отправляются или из эккаунтов пользователей или google apps for domain автоматически подписывается DKIM-подписью [10].

Изменения в панели управления:
Кроме некоторых изменений тарификации, теперь можно:

  • Вручную выключать инстансы прямо в панели управления;
  • Logs Viewer теперь содержит ссылку на инстанс, который обслуживал данный запрос. Конечно, пока инстанс активный.

Версия 1.6.4

Дата выхода: 27 марта, 2012 г.

Много всего :)

Через 2 дня зарелизится Go [18], а его полноценная поддержка в App Engine появится со следующей версии.

Версия 1.6.5

Дата выхода: 24 апреля, 2012 г.

  • Datastore научился выполнять вот такие запросы:
    SELECT Property1, Property2 FROM MyEntity ORDER BY Property3;
  • Entity group(группы записей) получили целочисленные(автоинкрементируемые) идентификаторы;
  • Datastore Admin теперь позволяет восстанавливать индивидуальные записи из резервных копий;
  • Декоратор @db.transactional (Python) теперь поддерживает конкурирующие транзакции;
  • Images API [19] получил доступ к Google Cloud Storage;
  • Появились Request Headers (самое вкусное!), которые территориально-ориентированные. Пока только Region, City and LatLng headers [20].

Автор: xSkyFoXx


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/python/6256

Ссылки в тексте:

[1] новости о выходе Google App Engine 1.6.0: http://habrahabr.ru/post/132054/

[2] тут: http://code.google.com/p/googleappengine/wiki/SdkReleaseNotes

[3] Frontend Instance Classes: https://developers.google.com/appengine/docs/adminconsole/performancesettings#Setting_the_Frontend_Instance_Class

[4] Migration Tool: https://developers.google.com/appengine/docs/adminconsole/migration

[5] Вышел Conversion API: https://developers.google.com/appengine/docs/python/conversion/

[6] Вышел Logs Reader API: http://code.google.com/appengine/docs/python/backends/logserviceapi.html

[7] Channel API: https://developers.google.com/appengine/docs/python/channel/overview

[8] Python API for the Blobstore: http://code.google.com/appengine/docs/python/blobstore/overview.html#Making_Asynchronous_Requests

[9] Traffic Splitting: https://developers.google.com/appengine/docs/adminconsole/trafficsplitting

[10] DKIM-подписью: http://code.google.com/appengine/docs/python/mail/overview.html#DKIM

[11] Логов: https://developers.google.com/appengine/docs/adminconsole/applicationsettings#Retain_Application_Logs

[12] Datastore'ым индексам: https://developers.google.com/appengine/docs/python/datastore/stats

[13] делать миграции Blobstore: https://developers.google.com/appengine/docs/adminconsole/migration#Using_the_Migration_Tool

[14] делать прямо в Google Cloud Storage: https://developers.google.com/appengine/docs/adminconsole/datastoreadmin

[15] Memcache viewer: https://developers.google.com/appengine/docs/python/memcache/overview

[16] Работать с объектами из Google Cloud Storage: https://developers.google.com/appengine/docs/python/blobstore/functions

[17] NDB for Python: https://developers.google.com/appengine/docs/python/ndb/

[18] Go: http://golang.org/

[19] Images API: https://developers.google.com/appengine/docs/python/images/overview

[20] Region, City and LatLng headers: https://developers.google.com/appengine/docs/python/runtime#Request_Headers