Самое горячее: Европа признала соцсети опасными (50); "Фобос-Грунт" уже не спасти (11); Мобильники убивают детей (26); ЕЩЕ >>
РАЗДЕЛЫ
Архив
« июнь 2020  
пн вт ср чт пт сб вс
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30          

Mail.ru & Яндекс: технологии и велосипеды

Сервисы | репортаж | 04.10.2010 10:03

Картина интернет-технологий в Рунете меняется очень динамично – может, не так быстро как в мировом Интернете, но всё же. Находясь внутри этого процесса, самого темпа не замечаешь, но если заставить себя отвлечься, закрыть все поставщики информации (почта, rss и прочие «фидики») – не очень нужной, но затягивающей – то эта дельта будет явственно заметна.

Ещё в прошлом году мы отмечали-сетовали, что в Рунете крупные технологические конференции из вендоров проводят только Google и Microsoft – но в этом году о своих конференциях заявили и Mail.ru, и Яндекс.

Не хочется спекулировать на тему, зачем им это надо. Да, разумеется, это красивая строка в сводке о компании при выходе на IPO (каковое для обеих компаний практически неизбежно). Да, это поиск кадров: от тактического – явного hunting'а, до стратегического – простого позиционирования «мы клёвый портал, идите работать к нам – тут интересно!».

Лучше рассмотрим, как прошли эти первые зачины и почины.

Mail.ru: Technology Forum

Форум состоялся 14 сентября в Москве, в Центральном Доме Предпринимателя.

Было два потока – общетехнологический и посвящённый социальным сетям (помпезно названный «Клуб разработчиков социальных приложений»). Последний мы тут рассматривать не станем – кому интересно, смотрите на видео. (хотя оно средненького качества, и, вы не поверите, с рекламой!).

Форум открыла Анна Артамонова, выпрыгнувшая на сцену под бодрую песню группы Muse «Supermassive Black Hole» (от чего у меня разыгрался приступ апофении), и начала рассказывать о настоящем будущем почты Mail.ru – что они теперь социальная почта, что всяческие уведомления составляет 75% писем – эдакий «белый спам». И потому они в своём «почтовике» парсят письма «сами, своими руками» – и показывают в веб-интерфейсе соотвующим, очень удобным образом. Также Анна «на пальцах» рассказала про Open Mail Format – микроформат для разметки писем, после чего эстафету принял Владимир Габриелян, который рассказал об этом микроформате более «техническим» языком.

Забавно было видеть разительный контраст между неровной и путаной речью Артамоновой (которая вице-президент чего-то там по маркетингу) и гладкой, чёткой и внятной речью Габриеляна (который, между прочим, технический директор). Зачем она выступала перед технической аудиторией – вообще непонятно.

И потому рассказ Владимира был куда более по существу – т.е. как белый спам завернуть в <span>. Пока что даже в Рунете этот формат мало кто поддерживает, а большие системы (Яндекс, Рамблер) вроде никак не отреагировали на эту инициативу.

Далее началась неприкрытая реклама технологий Mail.ru – какие они большие, сколько у них много всего своего (почта, видео, платёжная система, поиск и т.д.). В общем, посыл был, цитирую: «тем ребятам, которые пока работают в небольших компаниях».

Было много мерятельных чисел (типа «наше хранилище самое большое в Европе – 5PTB») – которые скорее фактоиды, нежели действительно факты.

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

Подробная схема всей почты Mail.ru напоминала схему технологического процесса на химического производстве – даже на огромном экране ничего не понятно.

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

Далее был доклад Avi Zrachya (ICQ) «Present SAPI technology». Ну, поскольку ICQ нынче также как и Mail.ru принадлежит DST, то причина, почему появился доклад – вполне понятна. Но вообще это был рассказ про legacy систему под названием ICQ – таким докладом надо пугать уже нанятых в компанию людей, чтобы они понимали, куда попали – а не рассказывать публично. Что характерно, много схем на слайдах были оформлены в виде гексагона, со звездой Давида внутри.

Tom Preston-Werner (сооснователь и технический директор GitHub.com) рассказал про «Инфраструктуру GitHub». Это, пожалуй, был самый интересный на форуме доклад.

Вначале было описание, как вообще работает git и реклама: distributed VCS, в частности git, и, конечно же, почему вам нужен GitHub. Безусловно, главный плюс у них – социальная составляющая.

Основные языки, используемые в реализации GitHub – это Erlang и Ruby, и на них написано много подсистем, которые реализуют собственно инфраструктуру GitHub – где, конечно же, используется и nginx (ещё до выступления в своём twitter'е Tom написал, как сильно хочет встретиться с автором в реале на конференции).

Кстати, вскоре после конференции, в GitHub появилась локализация интерфейса и на русский язык.

Игорь Ермаков (зам-тех-дир) рассказывал про «Высокие нагрузки в Mail.Ru» – какие они высокие, и как они их контролируют. Оказывается, тут весь секрет в своём ПО, распределении нагрузки и мониторинге. Так-то!

Про балансировку и мониторинг они (Mail.ru) рассказывали куда более предметно на РИТ-2010 – о чём мы уже писали, так что повторяться не будем.

А про «своё ПО» далее рассказывал Юрий Востриков в докладе «Открытая NO-SQL база данных собственной разработки». Речь была про некий внутренне-разработанный (как обычно) сервер Tarantul, и основанный на нём Silverbox, которые является просто key-value storage (ага, ещё один) – который почти как memcached, но лучше (выше, сильнее, быстрее).

Наконец, самый внятный и интересный доклад из представителей Mail.ru был у Фёдора Сигаева – «Быстрый поиск пользователей». Фёдор известен в первую очередь своим вкладом в разработку в PostgreSQL (над ним он начал работать ещё в бытность в Рамблере, в давние времена – а в Mail.ru, что характерно, используется практически только MySQL), но в этом докладе было не про эту RDMBS, а про более интересную задачу: как быстро искать в 100 млн. записях о пользователях по 35 атрибутам.

Была чётко обозначена проблема, граничные условия – и, конечно, как она решалась, какие варианты рассматривались и почему отбрасывались. Смотрите, может узнаете много всякого: про фильтры Bloom'а, scapegoat btree и т.д.

Резюмируя специально для занятых читателей: с чистой совестью могу рекомендовать посмотреть доклады лишь Tom'а и Фёдора.

Яндекс: Yet Another Conference

Конференция состоялась 1 октября в Москве, в Центре международной торговли.

Илья Сегалович открыл конференцию, описав – зачем, что и как, обещал много интересного и отсутствие маркетинга (которого не удалось, кстати, избежать).

Сразу после Пётр Попов рассказал про «Базовые оптимизации» – но не в смысле «основные понятия», а в смысле «оптимизация базового поиска».

В Яндексе поиск состоит из 3-х уровней: «верхний» – очень мало серверов; «средний» – 5% серверов, т.е. метапоиск, чья функция – кэширование поисковых запросов); и «базовый» – 95% серверов, на которых и хранятся индексы (равно как и документы) – где собственно и происходит обработка запроса для отдельного shard’а – после чего результаты передаются «наверх», где и ранжируются.

Пётр рассказывал как раз о том, как на уровне «базового поиска» идёт борьба за скорость, за количество бит, которые тратятся в индексах, показывал как сжимается обратный индекс в Google и как в Яндексе – короче, рассказывал «как байтики колбасятся». Это был как раз пример задачи, где тезис «программист дешевле железа» неверен в обе стороны.

Далее было 2 потока.

Константин Серебряный (Google) в докладе «Как мы охотимся на гонки (data races) или "найди багу до того, как она нашла тебя» рассказывал о решении, которые они разработали в русском офисе Google (оказывается, они тут что-то делают, кроме локализации!) для динамического (в runtime) отлавливания races в программах под названием ThreadSanitizer. С гордостью было сказано, что с его помощью в реальном production коде Google были «найдены настоящие жемчужины» (речь, напоминаю, о races!).

Сергей Нурк (Яндекс) рассказал про «Автоматический сбор данных по примерам» – точнее, поиск относительно структурированных данных. Достаточно наглядно, хотя излишне многословно.

Влад Селиверстов (Яндекс) в докладе «Веб-сервер Phantom» описывал их внутренний веб-сервер, который они разработали зачем-то (зачем – выяснить не удалось).

Лажовый вышел рассказ – на тривиально-неправильный вопрос «как вам удалось сделать 50000 RPS при latency в 2ms» докладчик не смог ответить, равно как и на другие, достаточно базовые вопросы. Мораль – пусть про софт рассказывает автор, а не его эксплуататор (который, видимо, даже не тренировался в чтении доклада).

Автор nginx (со скромным бейджиком «Рамблер, системный администратор») предложил своё объяснение, почему (но не зачем) был написан этот веб-сервер Phantom (который, кстати, не имеет никакого отношения к ФантомОС имени dz): просто у системных администраторов очень много свободного времени, вот от нечего делать и пишут.

Короче, ещё один DIY/NIH велосипед.

Доклад от Intel («Обзор современных возможностей по распараллеливанию и векторизации приложений с использованием Parallels Composer») был тухлый, сплошной маркетинг.

Зато Константин Швачко (Yahoo!) в докладе «Scaling Storage and Computation with Hadoop» достаточно популярно описал, что есть в семействе Apache Hadoop, для чего это надо. Доклад безусловно познавательный, и, надеемся, полезный – на вопрос в зал «сколько человек используют Hadoop» поднялось рук 15, не более.

Александр Дмитриев (Яндекс) продолжил тему MapReduce в докладе «Yet Another MapReduce». В Яндексе свой, домашний MapReduce, написанный на C++ (~50000 строк кода), ну и конечно совсем другой чем у других: реализаций таких не то, что много – тысячи их. Вводная доклада было про то, что такое MapReduce (ну сколько же можно слушать про wordcount!), остальное – про их особый путь.

В чём-то их реализация очень схожа с т.н. «хиксами» (HCS, они же S3M2J), сделанные в Рамблере – об этом в 2007 на Highload’е рассказывал Влад Шабанов (который нынче в Mail.ru, делает GoGo), а в 2008 на «РИТ: высокие нагрузки» рассказывал Павел Уваров (который недавно из Яндекса перешёл в Google).

Если кратко – кроме основных примитивов map и reduce, в реализации Яндекса выделили ещё и явно sort (ценой дополнительной материализации данных, в чём, впрочем, они не видят чего-то плохого), отдельный хитрый partition, ну и другие операции – скажем, join, merge, merge_reduce.

На очевидный вопрос «почему не Hadoop», если отфильтровать славословия, ответ прост – когда Яндекс в 2005 году начал писать свой MapReduce, Hadoop ещё был сыр и глючен. Сейчас-то, спустя много лет развития, когда за него кроме Yahoo взялись Amazon и Cloudera, он куда более крут.

Андрей Кузьмичев (Яндекс) рассказал про «Танки в Лунапарке: нагрузочное тестирование в Яндексе». В целом интересная демонстрация, обязательно читайте и смотрите. Кстати, сделан как модуль к их веб-серверу Phantom, что несколько оправдывает рассказ о нём.

Евгений Поляков (Яндекс) описывал «Распределенные системы хранения данных, особенности реализации DHT в проекте Elliptics network». Слайды были оформлены в виде рисунков от руки, по стилю и полёту фантазии напоминающие творения условно-половозрелого школьника 7-го класса – каковые ну очень сильно мешали вычленить содержательную часть доклада. Вкупе с характерно несмешным обсценным юмором докладчика (pohmelfs, libeblob), не было ясно, зачем это было сделано и чем это лучше альтернатив. Комментарий, почему не хотели сравнить себя с другими вендорами («не хотели прикладывать линейку»), сложно понять и принять – ведь то, что нельзя измерить, нельзя и улучшить; и зачем слушателям слабо аргументированное описание – неясно.

Вячеслав Борилин (SPIRITDSP) рассказал про «Построение системы видео коммуникаций для большого числа пользователей в сети Интернет. Эффективное кодирование и передача real-time трафика. Сигнализация и техники firewall traversal».

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

Доклад Richard Cole «Our connected future and the rise of real time video», который работает в Skype product manager’ом по desktop направлению, был во-первых явно маркетинговым, а во-вторых – удивительно секретным: его запретили снимать на видео (что забавно перекликается с темой доклада). Запомнились только слайд, где говорилось, что 40% в Skype сейчас – это видео; ну реклама того, какой хороший кодек SILK SWB. Конечно же, ни слова про конкурентов.

Есть только одно объяснение этому выступлению – на приличной конференции должен быть хотя бы один англоязычный доклад – типа свадебный генерал, потому что «так принято».

Дмитрий Николаев (SUP) в докладе «Система статистики и рейтингов LiveJournal.com» описал, как решали задачу подсчёта статистики. Несмотря на неопытность докладчика (это было его первое публичное выступление, монотонное весьма), и относительную скучность задачи (rocket science там точно нет), сам доклад вполне соответствует канонической структуре изложения, а представленное решение – пример того, что надо делать простые решения, а не мудрствовать и не пытаться изобретать грандиозные вещи – надо просто решать поставленную задачу, соблюдая понятные критерии качества.

Олег Юхно (Яндекс) был, напротив, весьма спокоен и уверен в себе, и не опускался до скучных деталей, излагая историю «От Статистики до Статистики. Эволюция архитектуры системы на примере системы расчета статистики Яндекса». Классический пример того, как архитектуру строят чистые админы. Ввиду общности изложения, отстрелялся буквально за 15 минут, и у зала практически не было вопросов.

Кстати о вопросах – в целом на конференции их было достаточно, а вечером был «Круглый стол» – который в реальности был лежбищем на пуфиках и стульях выборочно избранных сотрудников Яндекса, собранных на сцене для ответов на вопросы.

Вопросов было много, интересных и глупых, смешных и не очень – все их перечислить не видится возможным. Отбивались от зала не только шоумен Бакунов (на чей лоб сложно поставить однозначную печать «технарь» или «маркетолог» – что, как правило, можно влёт проделать практически с любым из присутствующих), а также, кроме Сегаловича (который был крайним за самый общие вопросы), по одному представителю от основных направлений и отделов (админов, кстати, было совсем много).

Смотрите на видео, когда (или если) таковое появится.

Выводы

Попытаемся поиграть в игру «найди N отличий», но начнём с общих знаменателей.

Что было общего?

1. Эти конференции были бесплатные и достаточно большие.

Это большой плюс для студентов и не только, кто не в состоянии (или не хочет) ходить на платные (сильно платные) конференции.

2. Эти конференции были имени портала. Несмотря на приглашённых гостей, кто событие готовит – тот его и танцует.

3. Поиск людей. Понятно, что все приглашённые на конференцию заносятся в соответствующие списки HR’ов, хотя Mail.ru это делал более агрессивно (сотрудники «кадров» компании просто влезали в 1-й круг на «МойКруг»), а Яндекс – изящнее: красивые слова, открытость (практически искренняя, с учётом, конечно, внедрённого чипа "NDA" в мозгу), Я.Стажировки и т.п.

4. Невнятность проблемы, решение которой описывалось в докладах – таковых было около 80%. Т.е. описывается нечто в стиле «мы сделали вот так» – а почему, какие проблемы решались – ни слова. Мерзкий привкус велосипеда (ну не буквальный, конечно) очень сильно отравляет впечатление от таких докладов. В общем, феномен «yet another» и «not invented here».

Что было разного?

1. Сильно разнилось качество докладов. Если, к примеру, прошлогодний Google Developers Day оценить на 6 баллов, то конференцию Mail.ru оценим на 3 балла, а Яндекса – на 5.

2. Разнилось и качество проведения. У Mail.ru было скромнее по выделенным деньгам на событие, у Яндекса – на очень хорошем уровне (хотя ущербная логистика организации обедов должна им подсказать, что вот эти вещи надо отдавать на профессиональный outsource, как это делают крупные компании, а не пытаться учиться самим).

3. Аудитория у Mail.ru была... ну скажем так, менее умной – просто судя по качеству и количеству вопросов.

А на конференцию Яндекса пришло достаточно много сеошников, которые даже на столь технической конференции надёются урвать крохи тайных знаний, которые помогут им хоть как-то обходить поисковики. Вотще.

4. Яндекс не называл своих докладчиков «гуру», в то время как у Mail.ru они именовались именно так. Можно считать это неважным, но это хорошо показывает разницу в корпоративной культуре: у одних граница между участниками проекта достаточно условна, у других – навязанное деление на думающую и кодирующую части.

Что пожелать организаторам?

Улучшайте качество конференций! Дело ведь хорошее. Уберите весь маркетинг (в т.ч. про себя любимых), и следите за содержанием.

Встретимся через год! (и обязательно посмотрим, есть ли положительная динамика)

Другие репортажи

Последние комментарии
об издании | тур по сайту | подписки и RSS | вопросы и ответы | размещение рекламы | наши контакты | алфавитный указатель

Copyright © 2001-2020 «Вебпланета». При перепечатке ссылка на «Вебпланету» обязательна.

хостинг от .masterhost