Код Дурова. Реальная история «ВКонтакте» и ее создателя
Шрифт:
Бунин посоветовал использовать сервер Apache в комбинации с сервером Nginx. Через несколько часов от Николая пришла весточка – я поставил эту конфигурацию, посмотрите. Бунин изумился. Nginx обычно настраивают полнедели. Еще больше поразило, что Дуров-старший все написал правильно.
Консультант «подкрутил параметры», и первая версия запустилась. «Дуровы все быстро поняли и через три месяца перестали советоваться, – резюмировал Бунин. – Мы показали, куда копать, и они перекопали нас».
Мы встретились на конференции HighLoad-2011.
«Когда общаешься с обычным человеком, почти всегда представляешь, что он ответит, – говорил Бунин. – Павел постоянно думал по-другому и масштабно. Знаете, как Цукерберг в фильме „Социальная сеть“ – когда девушка его отвергла, приятель хочет посочувствовать, а он уже думает о своей сети: „Пора расширяться“. Дуров – такой же».
Это наблюдение Бунина повторяли разные деятели рунета. Способность думать иначе стала краеугольным камнем для дуровской команды, спровоцировала изменения личности ее участников и привела к неминуемому конфликту с окружающей реальностью.
Но тогда, первой зимой «ВКонтакте», сентенции Дурова выдавали лишь оригинальный ум. Для интернет-тусовки соцсеть выглядела не более чем любопытным проектом с пассионарным основателем, уверенным, что выведет сайт в топ популярных ресурсов.
Дуровы советовались с консультантами, но вызывали их все реже. «Какие-то вещи я сразу сделал, как считал нужным, – рассказывал Николай. – Например, Бунин советовал хранить фотографии на одном домене и пропускать все через один сервер. А я предложил отдавать фото с того сервера, где они находятся».
Счетчик посещаемости крутился как бешеный, пока однажды февральским вечером Павел Дуров не набил в браузере vkontakte.ru и не обнаружил вместо соцсети «ошибку 502». Вход на сайт для пользователей оказался закрыт.
Дуров набрал телефон хостинг-провайдера. Трубку взял дежурный инженер.
– Алло, привет. Мы висим.
– Привет, сейчас разберемся. (Пауза.) Так. Идет огромный поток запросов к сайту, волна полтора гигабита. Канал забился.
– Есть идеи, что делать?
– Если честно, нет.
Звонить в Бонн поздно, брат наверняка ушел из лаборатории. Пальто, штиблеты, ключ, деньги, такси. Дуров ворвался в прохладную комнату со стеклянными стеллажами, нашел свои сервера и перезагрузил их.
Волна шла из Китая, Южной Америки, Украины. Даже если передать провайдерам списки IP-адресов, участвовавших в атаке, чтобы те их заблокировали, – все равно шансы на успех мизерны. Соперник не идиот, атакует с других компьютеров.
Утром Дуров известил брата, и они начали суматошно перебирать способы защиты. Сначала арендовали маршрутизатор, который идентифицирует врага. Зная провайдера, можно его блокировать – но, опять же, провайдеров-то тысячи.
Ночами они с Николаем, который еще не дописал диссер, созванивались и ломали головы, что бы предпринять. Атаки продолжались – их старались заваливать запросами ближе к ночи. Особой популярностью пользовался вечер пятницы, когда в офисе провайдера оставался только дежурный. На форуме СПбГУ жаловались, что «ВКонтакте» лежит, сочувствовали, но ничего посоветовать не могли. Слава и Лев вели свое расследование, и им даже слили переписку с исполнителями атаки, однако установить заказчика не удалось.
Дуров написал письмо юзерам:
«В течение прошедшего дня (18.02.2007) активность доходила до фантастической отметки в 2 млн запросов в минуту. Это позволило предположить, что весомая доля запросов была создана искусственно для того, чтобы часть пользователей не смогла попасть на сайт. 95 % из этих искусственно создаваемых запросов шли из-за рубежа.
Также мы получили серию новых коммерческих предложений, часто смешанных с угрозами. Мы по-прежнему отклоняем предложения людей, которые хотели бы превратить студенческое сообщество в обычный бизнес. „ВКонтакте“ никуда и никому не будет продаваться».
Строго говоря, атаки были разновидностью проблемы высоких нагрузок на сайт. Но здесь советы Бунина – да и никого другого – не помогали. Дуров спал по несколько часов в день, метался злой, с мутными глазами, между серверной и компьютером и лихорадочно искал вакцину против эпидемии.
Наконец он наткнулся на статью в журнале «Хакер» о том, как сисадмин на языке Perl написал программу, которая вычленяет IP-адреса нападающих, и сервер блокирует их. Операция происходит каждые три секунды.
Статья подтолкнула их с братом к созданию своего защитного кода. Николай написал нечто похожее. Протестировали, доработали, опять протестировали, опять доработали – и так, пока не удалось частично купировать атаки. Нервотрепка продолжалась, но задача уже начала решаться.
Дуров размышлял, кто мог быть заказчиком. Предположим, конкуренты из MoiFacultet. Простите, но один час такой атаки стоит 500 долларов – а «ВКонтакте» подвергали DDOS-набегам сутками. Откуда столько денег у стартапа? К тому же средства явно эффективнее вложить в продвижение, серверы. Вряд ли это австралийцы и компания. Но кто же?
Пока Дуровы боролись с хакерами, акционеров долбил иной тип атакующих – инвесторы. Стартап, запустившийся без рекламы и аккумулировавший 100 000 юзеров, привлек внимание всех, кто хоть немного разбирался в интернете. Одни хотели сотрудничать, другие – приобрести компанию. Дуров в этих встречах не участвовал; отдувались Слава и Лев.
Установка звучала просто. Не то что контроль, а даже блокирующий пакет не отдадим. И вообще, сделка нужна вам, инвесторам, а не нам – мы органически растем и с каждым днем увеличиваем свою стоимость.