Views Comments Previous Next Search

В чём причина успеха Facebook?

В чём причина успеха Facebook? — Интернет на Look At Me

Facebook сегодня – самая популярный и самый обсуждаемый интернет-проект во всём мире. Не смотря на довольно низкий уровень проникновения социальной сети в Россию, темпы захвата аудитории этим проектом здесь довольно большие.

Заявленная тема семинара, прошедшего в пятницу в ГУ-ВШЭ, звучала как «Facebook: how we scaled to 500 000 000 users».  Секреты Facebook слушал и переводил с довольно нелёгкого американского английского языка студент магистратуры бизнес-информатики  Иван Блинков. Полная версия поста в его блоге:http://www.insight-it.ru/life/facebook-how-we-scaled-to-500-000-000-users-by-robert-johnson/

Технических вопросов было довольно мало (что впрочем не удивительно, т.к. мероприятие проходило в гуманитарном ВУЗе) — превалировали вопросы в духе «что вы делаете с профилями умерших людей» (есть процедура когда друзья/родственники сообщают и если оказывается правдой то специальным образом перенастраивают аккаунт, чуть ли не несколько миллионов таких случаев было), «как работает фича Х» (из интересных фич — скрытие фоток твоих бывших boy/girl friend'ов через face recognition), «как выглядит типичный день разработчика в Facebook» (2/3 пишут код, остальное — всякие остальные виды деятельности), «какие планы развития в России и мире» или «что думаете о конкурентах» (их позиция — делать лучший продукт на рынке и аудитория сама подтянется), еще спрашивали снимался ли он в фильме, о котором последнее время в рунете слухи ходят, но Роберт дипломатично уклонился от ответа. Недавно еще у них открылся небольшой венчурный фонд для инвестиций в социальные проекты. 

Прежде чем читать дальше, настоятельно рекомендую ознакомиться с архитектурой Facebook (http://www.insight-it.ru/masshtabiruemost/arkhitektura-facebook/), здесь я постараюсь особо не повторяться и рассказать лишь об общих впечатлениях и новых фактах, которые мне удалось услышать и выяснить. 

В чём причина успеха Facebook?. Изображение № 1.

Собственно, что же нового для себя я узнал на мероприятии:

С примерно первой половины года их официальная активная аудитория повысилась с 400 до 500 миллионов человек. Штат инженеров (т.е. по-нашему разработчиков и сис. администраторов) увеличился до ~500 человек, примерно стало понятно как они распределены.
Основной принцип: много небольших узкоспециализированных команд, которым даны полномочия принимать решения и проводить полностью продукт от стадии идеи до стадии реализации.Около половины работают в «продуктовых» командах, до 5-10 человек в каждой (фотографии, поиск, личные сообщения, и.т.п.)

Ряд команд, занимающихся общими вопросами (например 4 человека работают над оптимизацией MySQL, еще есть команды по безопасности, приватности, производительности).

Нестрогий менеджмент, 2 уровня управления. Используются аппаратные балансировщики нагрузки от F5 + некое опенсорсное решение, сказал что возможно nginx, но он не уверен. Виртуализация совсем не используется — на таком масштабе она не актуальна. MySQL-сервера используют подключенные напрямую массивы дисков (direct attached storage). По вопросам мониторинга кое-где используются nagios и ganglia, но большая часть данной подсистемы написано самостоятельно
Десятки тысяч серверов и десятки гигабит трафика, более точных цифр, к сожалению, не дали.
Коммерческого программное обеспечение практически не используется, по большей части собственные разработки и в ключевых местах opensource
Сам спросил про датацентры: Santa Clara, California — master (названия мест плохо расслышал, поправьте если ошибаюсь)
Ashburn, Virginia — read-only slave
За пределами США присутствие очень небольшое, по паре стоек в нескольких странах — если я правильно понял, то для кэширования статики, т.е. своя CDN. Помимо этого мне было интересно про репликацию между ними: 
Используется модифицированный механизм встроенной репликации MySQL
Основные доработки: передача помимо собственно данных списка идентификаторов объектов, которые следует инвалидировать из-за текущего обновления + какая-то хитрая система расстоновки флагов о текущем состоянии процесса репликации
DDoS их особо не волнует — сколько-либо серьезных попыток они не встречали, защита аппаратная на уровне ДЦ, как я понял.

Намного больше внимания уделяется модерации контента и борьбе со спамом
Развертывание делается максимально плавно, как в плане обновления софта, так и в плане выкатывания новых версий кода сайта (упоминал в статье про архитектуру)
Их позиция касательно opensource:
Активно использовать и возвращать взамен с улучшениями.
Facebook выгодно возвращать вносимые изменения в популярные opensource проекты, так как они не считают их конкурентным преимуществом (ну и лицензии никто не отменял)
Если это не делается, то чаще всего т.к. либо используются «грязные хаки и костыли», которые никому кроме них не нужны, либо так как разработчикам не хватает времени привести патч в удобоваримый вид
Свои проекта также активно публикуются, так как организации вроде Apache Software Foundation берут на себя многие вопросы по поддержке и развитию кода
Apache Hadoop как уже многие писали используется как хранилище и оффлайновый обработчик данных вроде логов, Hive родился как надстройка для упрощения доступа
Хоть сотрудники Facebook и реализовали проект Cassandra, про который активно спрашивали в комментариях как тут, так и на хабре, но они его практически не используют у себя. Как известно он опубликован в opensource и поддерживается ASF. В Facebook он используется(использовался?) только как хранилище для поиска по внутренним сообщениям, мотивация: очень быстрая запись, недостаточная производительность операций случайного чтения.

На вопрос про основной дистрибутив линукс и вендоров оборудования он был не особо уверен, но сказал что скорее всего использутся CentOS и они работают с несколькими основными вендорами серверов (HP, IBM, Dell) — свое оборудование (как Google) они не изобретают, так как не считают целесообразным
Используется довольно сильно модифицированное ядро ОС, особенно по части сетевого стека.

P.S.

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

На что кто-то из зала выкрикнул: "Ребята, вы захватываете мир. Это пугает".

Рассказать друзьям
38 комментариевпожаловаться

Комментарии

Подписаться
Комментарии загружаются