Pull to refresh

В гостях у Одноклассников

Offices of IT companies
Недавно удалось посетить рижский офис компании «Одноклассники» – про сам офис я расскажу чуть позже, а в этом посте хочу пересказать беседы с рядом сотрудников компании. Начну с Элины Пархоменко, она — директор по развитию продукта.

image


С Элиной мы встретились в зале для видеоконференций. В самом начале беседы она сделала акцент на том, что не участвует в глубоко системных вещах – она занимается тем, что задаёт векторы развития проекта, определяет работу тех или иных сервисов, руководит разработкой. Впрочем, сугубо технических вопросов аудитория Хабра все равно не задала :)



image Честно скажу, у меня сейчас почти нет времени на «заседания» в социальных сетях, но перед вылетом к вам я зашел на сайт и очень сильно удивился тому, как он поменялся с тех пор, каким я пользовался раньше. Сайт стал более навороченным, «оброс» всевозможными фишками – каков был путь к подобным решениям?

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

Первый – важен социальный граф. Всё, что не делается — делается ради пользователей, для их взаимодействия друг с другом, для укрепления связей внутри графа. Здесь важно не только развитие графа, но и его рост – приоритетно привлечение новых людей из вне. Люди – самое важное.

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

Соответственно, все сервисы разрабатываются из двух этих соображений.

image А что, по вашему мнению, удерживает людей на сайте?

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

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

То есть, по большому счету, мы помогаем реализовывать естественную потребность в общении. А когда пользователям удобно и интересно, они остаются на сайте.

image Какой вы себе представляете аудиторию проекта, когда разрабатываете тот или иной сервис?

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

Хотя, как правило, мы не делаем радикальных изменений и историй типа «верните стену» у нас пока не было. Поэтому пользователи довольно спокойно воспринимают все нововведения.

Кстати, когда мы запускаем новый сервис, на этапе тестирования у нас есть специальная кнопка «поделиться ощущениями» — любой пользователь может воспользоваться ей, чтобы высказать своё мнение по поводу любого из аспектов нововведения. Все обращения отслеживаются и принимаются во внимание.

И много пишут?

Элина: Если что-то не нравится, то много. Но это наоборот хорошо – конструктивная критика не бывает лишней и мы к ней всегда прислушиваемся. Встречаются те, кто недоволен абсолютно всем, а иногда и наоборот – любят нас какими бы мы ни были.

image Cлышал, что за лето у вас было более 50 всевозможных релизов — как вообще происходит процесс создания новых функций сайта? Если кто-то придумал что-то интересное (выходящее за рамки текущего курса развития проекта) – какова будет судьба его идеи?

Элина: У нас есть несколько менеджеров, у каждого из которых, как правило, 4-5 взаимосвязанных (идейно или функционально) проектов. Под создание каждого нововведения собирается группа – берутся программисты, дизайнеры, тестировщики. Когда команда сформирована, начинается коллективная работа: идея обсуждается, дорабатывается, визуализируется и начинает реализовываться.

Если нововведение действительно интересно, мы всегда находим ему место в плане развития проекта. Предложить функцию может кто угодно – пользователь, сотрудник тех-поддержки или даже администратор.

image Как осуществляется тестирование новых сервисов? Собираете ли вы какую-нибудь статистику?

Элина: Сперва всё запускается на виртуальной машине – общими усилиями компании испытываем сервис на прочность, ищем баги, исправляем их, делимся впечатлениями. Делаем соответствующие поправки.

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

image С какими нарушениями приходится сталкиваться чаще всего, со спамом? Как боретесь?

Элина: Спама сейчас у нас наоборот стало очень мало – либо мы его действительно победили, либо ОНИ ещё на каникулах ;) Но рассказать про методы борьбы со спамом, к сожалению, ничего не можем.

Самым же частым нарушением являются всевозможные группы, распространяющие что-либо вредоносное. Но и их нам удалось победить нашим механизм реагирования — симбиозом пользовательской модерации и разработанных алгоритмов. Сейчас подобные группы просто не успевают «расцвести».

image То есть армии модераторов у вас нет?

Элина: Верно. Социальная ответственность для «Одноклассников» очень много значит – модераторы у нас, конечно, есть, но весь объем работ они бы просто не потянули. В этом вопросе приходят на помощь сами пользователи, обладающие просто уникальной отзывчивостью – видимо, люди хотят, чтобы в их «доме» было чище. Так, например, все загружаемые фотографии отправляются на пользовательскую модерацию N-ому количеству людей, которые с очень высокой вероятностью отсеивают все «лишнее» — сейчас все (публичные) фотографии у нас являются промодерированными. Народная модерация – очень важная составляющая на нашем проекте и в разделе фотографий она работает как часы.

image И сколько пользователей участвует в подобном?

Элина: Более 5 миллионов. Представьте, если бы эту работу выполняли несколько модераторов…

image Наверняка на вашем пути встречались «факапы» или наоборот, «сюрпризы удачи» — поделитесь какой-нибудь историей?

Элина: На память приходит история про отмену платной регистрации, когда всем заплатившим за неё пользователям мы бесплатно компенсировали потраченную сумму возможностью ставить оценку «5+».

Тогда «волна» накрыла даже нераспространённые анкеты – пользователи стали бешено носиться по сайту, заходя в гости друг к другу и ставя высший балл направо и налево, буквально всем подряд. Мы, конечно, рассчитывали на повышение активности, но через час из-за высокой нагрузки мы были вынуждены отозвать «халяву» у ряда пользователей и стали раздавать её порциями, с некоторым интервалом. Что, как вы понимаете, вызвало взрыв заявок в службе поддержки: «почему ему дали пятёрки, а мне нет?!».

image А кстати, какая была основная причина ввода платной регистрации? Карма пала жертвой банальной монетизации или же это была борьба со спамом?

Элина: До этого было очень много спама, фейковых анкет, ботов и прочего фрода – никто не знал, как эффективно бороться с этим. После закрытия регистрации мы придумали и реализовали ряд алгоритмов, которые позволили избавиться от недобросовестных аккаунтов. Ну и, конечно, придумали немало нововведений, чтобы вновь пришедшим у нас было интересно – всё это после открытия регистрации обеспечило интенсивный рост проекта. Сейчас у нас более 102 миллионов «подтверждённых» (по телефону) благодарных пользователей, которые могут спокойно общаться друг с другом.

image Статистику где-то можно посмотреть?

Элина: Да, мы одни из немногих, у кого статистика открыта на том же LiveInternet.ru. В среднем это 20-23 миллионов посетителей в день, основная часть которых приходят из «закладок».

image

image Расскажите пару слов про быт ваших сотрудников?

Элина: Рабочий день у всех начинается в разное время — обычно работающий в группе народ сам договаривается, во сколько они приедут в офис. Как правило, это 10 часов утра, хотя UI-шники приезжают в 8.

В рижском офисе работает порядка 100 человек, 25 из которых — программисты. Самому молодому сотруднику (он разработчик) недавно исполнилось 20 лет, самым взрослым (менеджер и дизайнер) почти 40; средний же возраст – до 30. Все разговаривают на русском языке.

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

image Есть девушки-разработчики?

Элина: Уж где-где, а у нас есть, еще и не одна!

image Что, прям пишут код? На каком языке они пишут?!

Элина: Как и все, на Java! Кстати, особенно много девушек-тестировщиков, причем они очень хорошо справляются с выполнением своей задачи.

image

image А как осуществляется интеграция новых людей в компанию?

Элина: Вне зависимости от того, о каком офисе (Рижском, Московском или Питерском) идет речь – вновь пришедшие проходят своеобразное обучение. Различные специалисты (как правило – ведущие разработчики, бэкэнд-программисты и UI-дизайнеры) рассказывают важные особенности проекта – про основные принципы, архитектеру, дизайн — никого под танки не бросаем. Причем подобное обучение может осуществляться и между офисами – постоянно летаем друг к другу в гости.

image Интересно. Ну и напоследок – может быть расскажете что-нибудь из планов на будущее?

Элина: Что-то конкретное рассказать не могу – пока работаем над оптимизацией проекта, чтобы всё работало у всех и быстро. Разрабатываем новое мобильное приложение. Ну и в относительно скором времени планируем сделать полный редизайн.

Архитектура


После беседы с Элиной мы встретились с Андреем, системным администратором проекта – он рассказал нам про изменения, произошедшие с момента мартовской публикации. Если пропустили – советую ознакомиться, если забыли – освежить в памяти; интереснейшая статья — Архитектура и платформа проекта Одноклассники

Основные изменения (>>было / — стало):

>> До 2.8 млн. пользователей в онлайне в часы пик
— Сейчас эта цифра возросла и составляет порядка 3,4 миллиона.

>> 7,5 миллиардов запросов в день (150 000 запросов в секунду в часы пик)
В миллиардах по памяти не скажу, но сейчас количество запросов в секунду увеличилось примерно до 250 тысяч.

>> Сетевой трафик в час пик: 32 Gb/s
На данный момент этот показатель вырос до 52 Gb/s

>> 2 400 серверов, систем хранения данных
Сейчас количество серверов (и устройств хранения данных) перевалило за 3100. Причем, если дата-центров было три, то сейчас четыре – все находятся в Москве. Каналы между дата-центрами также были расширены.

image Обновляли ли конфигурации серверов?

Андрей: Сами сервера не обновляли, увеличили их количество. Среднестатистический конфиг – двухсокетная система с четырехъядерными процессорами, 1-2 диска и объем памяти от 8Гб. Концепция бекапа не поменялась.

Стали использовать больше памяти и больше дешевого железа. Особенно для хранения бинарных данных, т.к. запустили новое софтварное решение (о нем подробно рассказывали на Highload).

По памяти: сейчас максимум 96GB на системе, которая обслуживает пользовательскую ленту. Ставим и тестируем 128-192GB на этой же системе.

По поводу вопроса о NO-SQL:
1. Недавно запустили кластер на «Cassandra» для сервиса оценки фото.
2. Запустили "Tarantool" + «Voldemort» для системы сообщений, где Tarantool — in memory storage, Voldemort — транспорт, репликация, кластер.

Кеши: в качество кешей используется свое Java-решение. Данные хранятся вне Java Heap средствами «sun.misc.Unsafe», что позволяет избежать проблем с GC.

Support


Следующим сотрудником компании, с которым нам удалось побеседовать, стала девушка Ирена, она — руководитель службы технической поддержки.

image

До недавнего времени в суппорт поступало более 25 тысяч обращений в день – огромнейший объем работы. Причем 70-80% от общего количества заявок составляли проблемы с паролем – когда кто-то что-то забыл и не может вспомнить. Для сравнения, на Хабре сейчас порядка 150 заявок в сутки, но там почти все вопросы требуют индивидуального подхода.

Реорганизация справки и написание подробного FAQ-а позволили уменьшить количество обращений почти в 5 раз, при этом количество «восстановлений паролей» увеличилось. Сейчас объем работ составляет 7-8 тысяч заявок в день, что тоже немало — все проблемы пользователей решает порядка 30 сотрудников компании, разделённых на две «линии». Первая линия (7-8 одновременно работающих сотрудников) находится в Иваново и принимает на себя основной удар (заявки, на которые можно ответить шаблонно), вторая линия расположена в Риге и отвечает за все остальные заявки.

Примечательно, что среди сотрудников есть человек (девушка), который занимается исключительно… порнографией ) Точнее, её удалением с ресурса — да-да, речь о той самой социальной ответственности, о которой говорила Элина. Как я понял по оживившейся беседе, на эту тему уже не пошутил только ленивый… но согласитесь, что в одну (а может даже и не в одну) из пятниц эта девушка могла бы провести интереснейшую презентацию о своей не самой пыльной работе :)

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

Продолжение следует.
Tags:
Hubs:
Total votes 103: ↑70 and ↓33 +37
Views 1.8K
Comments 63
Comments Comments 63