19 Nov 2010

O #gddru 2010

Неделю назад в Крокус Экспо в Москве прошел Google Developer Day Moscow 2010. В этом году мне посчатливилось там побывать. Хочется поделиться впечатлениями и почерпнутой информацией.

Поездка была однодневная, компанию мне составил @HighFlyer13. В четверг сели в поезд, утром в пятницу с вокзала сразу на метро до Мякинино и в выставочный центр “Крокус Экспо”, 3-й павильон, зал №20. Выставочный центр впечатлил и размером и еще от метро увидел новое необычное здание. КАД в это время уже двигался еле-еле, поэтому мы порадовались, что не разеделяем участь торчащих в пробке. Фото Зюганова на входе в один из коридоров было неожиданным фейлом.

По организации регистрации и всего события вообще можно сказать только хорошее. Очередей не было, места полно, все удобно, с едой и напитками вообще прекрасно, и даже кикер (у которого я, конечно, провел почти все время между докладами и после них) и еще несколько забав по периметру. Из проблем только вай-фай, но не смертельно в общем-то.

На keynote рассказали обзорно о всех предстоящих секциях с короткими примерами. По сути не было ничего этакого, кроме демок с HTML5, которые я уже, кажется, видел до этого. Изначально я был нацелен на доклады по Google App Engine (Snoopl пишется на python и крутится именно там). В остальное время провел в секции посвященной монетизации.

Теперь немного о докладах, что запомнилось.

Практические советы по созданию бизнеса в Интернете

Вместо заявленного изначально докладчика выступили две девушки. По-моему, из дублинского офиса Google. Одна русская, вторая из Болгарии, но тоже говорящая по-русски. Начали с того, что показали suggest на google.ru по слову "почему" (...Путин краб, ... Медведев шмел). Провели обзор по следующим инструментам: AdWords Keyword Tool, Google Trends, Webmaster Tools и его API, pagespeed (и его альтернативам yahoo YSlow, mod_pagespeed, webpagetest.org). Рассказали про расширенные сниппеты, использование адресов для появления карт в выдаче, частую ошибку с title страниц (intitle:главная страница). Узнал про опцию отключения персонального поиска (&pws=0) и о способе избежания ненужных дублей основной страницы с информацией в поиске (rel="canonical"). В общем и целом, было довольно живо, на примерах (причем с покупкой сноубордов, подкупили) и любопытно (по крайней мере слышал не о всем).


What's new in App Engine

Этот же докладчик до этого рассказывал про GWT, после чего было так много вопросов, что про новшества App Engine стал говорить без перерыва. Насколько я понял, Channel API и Mapper API уже были анонсированы на Google I/O. Про остальное тоже скорее всего уже где-то анонсировалось или рассказывалось. Если вообще оно уже не запустилось, а я просто не успел заметить.

Channel API спроектировано для асинхронного клиент-серверного взаимодействия по типу Comet. По сути не клиентский код запрашивает обновления, а серверный пушит, когда очередная порция информации готова для влива в мозг пользователя.

Mapper API - это библиотечка для распараллеливания работы с большими объемами данных. С помощью этого интерфейса решаются проблемы экспорта данных, миграции схем datastore, генерации отчетов... Если я правильно понял, то строится это чудо на очередях (task queues), проект опенсорсный, а также оно еще и user-space, т.е. библиотеку надо будет добавлять в проект самому.

Mulit-tenancy и Namespaces API уже точно запущенные вещи. Так что можно почитать полноценное описание. Вещь интересная, но пока не придумал, зачем она именно мне нужна. Сказали, что этот API "potentially as little as 3 lines of code" и "lightweight", ну и готовая интеграция в консоль управления.

Было еще много всего и с примерами. Matcher API, в чем суть которого помню уже смутно; долгожданный Hosted SQL, улучшения Admin Console, кастомные страницы ошибок, повышение дефолтных квот и интеграция OpenId/Oauth.

В общем, приятно, что платформа развивается, API расширяются и улучшаются, а квоты увеличиваются.

App Engine для бизнеса

В этом докладе было много воды и рассуждений о том, где и как в треугольниках и схемах с сервисами различной направленности разполагается GAE. Platform as a Service и все такое. Поэтому почти все время проболтали или тупил в инете. Из полезного выцепил только информацию о том, что есть программа для аттестации разработчиков на App Engine: http://code.google.com/intl/ru-RU/qualify/. Посмотреть подробнее еще не успел.

Обработка данных при больших нагрузках в среде App Engine

Это был, наверное, самый интересный и информационно полезный доклад. Докладчик был русский и, как я понял, замещал того, кто был заявлен ранее. Но было видно, что человек очень хорошо знает тему и ориентируется в вопросах. Возможно, даже один из разработчиков GAE, но точно я не понял.

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

  • ограничено время запроса
  • ограничения количества модификаций одной записи в секунду
  • рост задержки обработки запроса

Общие итоговые моменты:

  • нужно быть готовым заранее
  • приходится менять привычные подходы к написанию программ
  • многим это удается
  • знать и использовать предоставляемые сервисы
  • мало высокоуровневых решений, поэтому докладчик призвал всех к участию в их разработке

Инструменты для решения проблем (и выхваченные из доклада подробности):

Очередь задач

  • именованные задачи (taskqueue.add(url='/task', name='unique_name')
  • имена хранятся 7 дней
  • сцепка задач - состоит в следующем: разбиваем большие на маленькие, создаем задачи внутри других. Используется для длительных процессов. Из возможных проблем - неконтролируемый рост

Группы записей

  • единственный способ осуществление транзакций
  • группа организована в виде дерева
  • нет ограничений на размер и форму
  • любая операция создает транзакцию
  • пакетные операции автоматом группируются

Именованные записи, синтетические свойства

  • самое быстрое - запрашивать по ключу
  • записи автоматом сортируются по ключу
  • синтетические - вычисляемые на базе других (производные)
  • использовать для сортировок и нечеткого поиска

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

Инвестиции венчурных фондов

На сцене сначала происходил диалог между Доном Доджем и депутатом/бизнесменом Ильей Понамаревым. Потом все пошло в сторону ответов на вопросы из зала (часто провакационные). Обоих я видел в первый раз, но многие увлеченные и молодые стартаперы явно хотели получить от выступающих ответ на все вопросы. Поэтому следующее выступление немного задержалось, а Илью еще долго мучали после вне зала. В общем и целом было познавательно, но как-то недоставало конкретики. Зато несколько цитат со сцены быстро разошлись по твиттеру с тегом #gddru. Информацию по докладчикам посмотреть интересно, но еще не добрался.

Монетизация мобильных приложений

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

Фуршет и конец GDD

Официальное закрытие пропустил, увлекшись игрой в кикер (кажется, с одним из докладчиков из секции Android и еще, если не ошибаюсь, сотрудником компании Яндекс). Зал тем временем подготовили к фуршету: везде можно было найти винище на вкус и цвет, ну и пивко. За этим делом познакомился и пообщался с @coagulant и @piu_mosso из "Future colors". Отличные ребята и приятная беседа. Где-то через 40 минут после начала фуршеты мы уже поехали в центр Мск, чтобы я мог встретиться со своими друзьями, с которыми отлично посидели в баре, погуляли и поболтали. Ну и Ленингадский вокзал, поезд, боковушки, какая-то музыкальная группа в купе напротив, отруб, и утром дома.

Такая вот поездка, было клево.

Всем хороших выходных!

 

UPD: Прикладываю несколько фотографий, который сделал @HighFlyer13. И еще кое-чето для полноты рассказа, так как некоторые спрашивали. Из подарочных ништяков, которые давали участникам конференции: ручка и блокнот на регистрации, футболка и прикольные наклейки в подарочном пакете в конце. Футболка оказалась маломеркой. XL смотрится на мне как топик какой. Еще можно было за участие в викторине по Chrome получить футболку с логотипом браузера.

(download)