Выпущен релиз Google App Engine SDK 1.4.0

    Выпущен релиз Google App Engine SDK 1.4.0



    http://code.google.com/appengine/images/appengine_lowres.gif

    2 декабря разработчики Google App Engine выпустили новую версию SDK. Без преувеличений, этот релиз богат на нововведения и улучшения. Узнать о новых возможностях и других вкусностях новой версии можно под катом.



    Среди основных нововведений:

    1. Channel API. Нативная поддержка websocket'ов пригодится тем, кто собирается проектировать риалтаймовые веб-приложения такие как чаты, игры, а также приложения с высокой интерактивностью. Работает прозрачно с Javascript клиентами и крутится на инфраструктуре Google Talk. Доступна документация

    2. Always On. За отдельную плату ($9/месяц), специально для вашего приложения зарезервируют 3 инстанса, которые будут работать постоянно, даже когда нету трафика. Это должно избавить от большой латентности при «холодном старте». Прим. За бесплатно, можно «подогревать» свое приложение с помощью периодичных запросов к самому себе через Task Queue. Или Cron, но за 1 мин инстанс может успеть выгрузиться, а холодный старт недешевая операция для CPU.

    image

    3. Warm Up Requests. Теперь вы можете задать специальный обработчик, который будет запускаться при старте нового инстанса, но перед непосредственной обработкой трафика этим инстансом. По-умолчанию включено для тех, к то приобрел «Always On».

    4. Увеличены таймауты на фоновые задачи. Теперь Task Queue и Cron могут обрабатывать задачи до 10 минут, а не до 30 секунд, как было раньше. Теперь не прийдеться разбивать задачи на более мелкие.

    5. Увеличен лимит на объём запросов/ответов к API:
    • URLFetch может возвращать ответы до 32Мб (раньше 1Мб)
    • Memcache get/set могут оперировать данными до 32Мб. Лимит на один объект по прежнему 1Мб
    • Image API может принимать/отсылать до 32Мб информации (раньше 1Мб)
    • Размер прикрепленных файлов через Mail API был увеличен с 1 до 10 Мб

    6. Metadata Queries. Теперь вы можете получить мета-информацию о типах сущностей, их полях и пространствах имен в хранилище. Документация

    7. Разработчик, который закачал приложение, может скачать свою версию исходного кода. Опцию можно отключить, но потом уже не включишь. Java разработчики скачают свой байткод, здесь без сюрпризов :)

    В блоге упомянули о скором релизе новых вкусностей, таких как High Replication Datastore.

    Полный список изменений доступен в Python SDK Release Notes / Java SDK Release Notes. Также проверьте обновленный Roadmap

    Скачать Google App Engine SDK 1.4.0

    Оригинальная запись в блоге Google AppEngine
    Поделиться публикацией

    Похожие публикации

    Комментарии 33
      –6
      Если для пользователей вэб-приложения останутся халявными, то будет супер!!!
        0
        Так ведьи не говорится о том, что они станут платными. Или вы где-то видели такую информацию?
          0
          Я-же говорю — хорошо что они халявные — пусть такими остаются!!!
        +4
        Хороший апдейт. Увеличение лимитов и таймаутов особенно радует.
          +1
          Да, соглашусь с комментарием ниже. Самое вкусное в релизе websockets.
          Надо, правда, еще пощупать реализацию.
            0
            это не вебсокеты, это эмуляция через лонг-пулинг и она односторонняя — слать на сервер нужно обычным постом.
              0
              Странно, но в блоге сказано совсем обратное:
              A bi-directional channel for communicating directly with user browsers by pushing notifications directly to the JavaScript running on the client, eliminating the need for polling.
              Правда, вебсокетами они их не называют…
                0
                хорошо, найдите мне метод write() у объекта socket на этой странице — www.gaech.org/habr/1/

                а потом еще расскажите, зачем это нужно, если на сервер оно все равно придет постом.

                бидирекшн оно в том смысле, что сервер может инициировать отправку данных, а не в том, что у этого объекта есть write()
                  0
                  write/send на клиенте вы реализовываете сами, но идти оно будет не через channel api.
            +1
            Таймауты! 30 секунд для background-операций было откровенно мало.
            +1
            Channel API радует, очень может пригодиться.
              +3
              Поиска очень не хватает…
                +1
                Вы имеете в виду полнотекстовый поиск в их GQL? Есть выходы-же вроде, ну точнее сказать даже хаки. (:
                  0
                  я слышал что для питона есть хаки, но для явы не нашел. Может подскажете, буду благодарен!
                    0
                    Сам только начал интересоваться GAE, но когда был на GDDRU — там обмолвились о некоем баге(который кстати не собираются прикрывать), который позволяет реализовать некое подобие full-text search. Один из первых линков в гугле: www.kimchy.org/searchable-google-appengine-with-compass/
                    К сожалению, не могу ручаться за его работоспособность, но думаю, что при желании можно нагуглить рабочее решенее, раз о нем говорилось на gddru.
                      +1
                      это и не баг — просто индексы хранятся в алфавитном порядке и это можно использовать с неожиданной стороны
                        0
                        Спасибо, буду знать. Просто сказал, что это баг, потому что так понял из ссылки выше (:
                +1
                Небольшое уточнение. «Always On» — 9$ в месяц.

                Интересно, как они будут память делить между «Always On» приложениями и всеми остальными. Пока не было «Always On» выкидывало наименее часто используемое приложение. А тут жесткий резерв. Будут выделять отдельные машины под «Always On»? Если кто владеет информацией, поделитесь.
                  +1
                  а есть если вообще где-то информация про архитектуру низкого уровня, каким образом приложения крутятся в контейнерах?
                    +1
                    Пока не было Always On, для поддержания приложений активно использовались хаки с запросами через cron или бесконечный taskqueue раз в минуту или чаще. Похоже, что теперь сервисные запросы обладают другим приоритетом и эффективность хаков снизилась. Что, впрочем, не мешает повесить запрашивающий скрипт на другое приложение…

                    Подробная информация по архитектуре вряд ли будет доступна. Желающих получить максимальный приоритет обходными путями немало, а их действия могут плохо повлиять на простых пользователей.
                      0
                      Спасибо, поправил.
                      Информацией о алгоритме работы «Always On» не владею. На самом деле инвалидация инстансов работает для всех приложений без трафика, а для платных (9 долл./мес) — она убрана. «Машины» — это громко сказано, инстанс — кусок памяти где крутится ваше приложение, а все остальное — через api в рамках квоты.
                      0
                      Здорово,
                      теперь понятно почему пару дней назад GAE минут 30 был не доступен, видимо обновляли ПО.
                        +1
                        да его последние недели вообще очень штормило — постоянные 500 и 503 в админке и при деплойменте, хоть сами приложения работали
                        +1
                        Поскорее бы еще релизнулся флеш 10.2 и было бы вообще инди-геймдев-счастье :)
                          +2
                          а что там такого для инди-геймдева? разве что нативные курсорчики
                            +1
                            А как же stage video? Вы только представьте, какие можно будет делать бэкграунды в казуалках.
                              0
                              ну в принципе и раньше можно было делать
                              или вы хотите 1080p бэкграунды?
                              часто ли браузерные казуалки играют в фулскрине, за собой ни разу не замечал
                                0
                                Зачем 1080 и фуллскрин? Накидайте векторов, полупрозрачностей, много движущихся объектов поверх обычного видео размера стандартного приложения соц сети и получите слайдшоу. Есть надежда, что sv будет на небольших разрешениях работать быстрее, чем сейчас.
                          0
                          Извините за оффтоп, но что значит Number of Indexes в Quota Details?
                            +1
                            Number of Indexes
                            The number of datastore indexes that exist for the application. This includes indexes that were created in the past and no longer appear in the application's configuration but have not been deleted using AppCfg's vacuum_indexes command.

                            code.google.com/appengine/docs/quotas.html#Datastore
                              0
                              Спасибо конечно, но я всё равно ничего не понял.
                              0
                              Для каждого запроса использующего сортировку требуется индекс:
                                +1
                                Для каждого запроса использующего сортировку требуется индекс:
                                Например a>x или a>y — будут использовать один и тот-же индекс, а вот для запроса a<x потребуется другой индекс, в котором поле a отсортировано наоборот по убыванию.
                                Соответственно сколько разных вариантов запросов с сортировкой, столько индексов Вам понадобиться для работы.
                                Для запросов вида a=x или a=y индекс не требуется.

                              Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                              Самое читаемое