Джефф Дин и Санджай Гемават
Правда о Джеффе Дине всплыла 1 апреля 2007 года. На внутреннем ресурсе Google появился список забавных фактов о Дине, одном из первых и самых ценных сотрудников Google.
«Однажды Джефф Дин провалил тест Тьюринга. Он вычислил 203-е число Фибоначчи меньше чем за секунду.
Джефф Дин компилирует и запускает свой код до сабмита только чтобы проверить компилятор и центральный процессор на наличие багов.
Раньше скорость света в вакууме была всего 35 миль в час. Джефф Дин оптимизировал физику света за выходные».
Все эти факты были, конечно же, выдумкой. Но не такой уж далекой от правды. Их придумал Кентон Варда (другой сотрудник Google) по аналогии с фактами про Чака Норриса. Варда постарался остаться инкогнито, но Дин его все-таки вычислил.
За пределами Google имя Джеффа Дина слышали единицы. Внутри компании его воспринимают с трепетом. При участии Дина создавались основные технологии Google, благодаря которым поисковый гигант сегодня занимает доминирующее положение в интернете.
Многие слышали о Xerox PARC — научном центре, где придумали компьютерную мышь, лазерные принтеры, ноутбуки, протокол интернет, графические интерфейсы, принцип WYSIWYG и другие важные технологии. О мозговом центре Google известно намного меньше. Google старательно оберегает свои тайны, а его сотрудники — такие, как Дин — сами не стремятся к публичности. Между тем, Google — это Xerox PARC нашего времени.
«Google собрал у себя самых талантливых людей со всего мира. Туда ушли лучшие умы Bell Labs и Xerox PARC», — говорит Майк Миллер, профессор физики частиц в Университет Вашингтона и главный исследователь в компании Cloudant.
Ключевые технологии для Google — те, что управляют огромным парком ее серверов. Это Google File System, MapReduce и BigTable, программы, которые разбивают нагрузку от онлайн-приложений на маленькие кусочки и распределяют между тысячами машин. Это новые поколения серверов, сетевое оборудование и дата-центры, специально спроектированные под софт Google. Дата-центры Google похожи на муравейник: каждый компонент системы делает свое маленькое дело, но при этом сам дата-центр работает как единое целое.
В то время, когда Силиконовая долина была одержима социальными сетями и тачскринами, Google занимался перестройкой своей сетевой инфраструктуры. Вскоре его примеру последовали другие онлайн-гиганты. Google File System и MapReduce вдохновили других на создание системы распределенных вычислений Hadoop. BigTable спровоцировал появление движения NoSQL. А подход Google в отношении оборудования для дата-центров подхватили Facebook, Amazon, Microsoft и другие.
Влияние Amazon на развитие ключевых технологий Сети тоже велико. Но влияние Google куда шире. В отличие от Xerox PARC, чьими изобретениями воспользовались в основном другие компании, Google извлекает из своих уникальных технологии максимум выгоды. Благодаря GFS и MapReduce компания намного опередила весь остальной мир. Сейчас их сменили технологии нового поколения. И снова весь мир отстает.
Близнецы
Кентон Варда выбрал Джеффа Дина в качестве мишени для своей первоапрельской шутки не случайно. Дин — самый яркий пример «сверхчеловека» Google. Но были и другие альтернативы.
Например, Санджай Гемават, многолетний напарник Дина. В 2004 года они значились авторами документа, из которого мир впервые узнал детали MapReduce. Они же сыграли большую роль в разработке BigTable. И они же (плюс еще один человек) впервые рассказали о Google File System.
Дин и Гемават работают в настолько плотном контакте, что часто даже сидят за одним компьютером. Печатает при этом Гемават. А при работе раздельно посылают друг другу код на проверку. Если код в порядке, проверяющий отвечает что-нибудь вроде: «LGTM» («Looks good to me»).
Познакомились они около двадцати лет назад, в доинтернетовскую эпоху, в исследовательской лаборатории компании DEC. Дин состоял в Western Reserarch Lab, а Гемават работал в двух кварталах оттуда, в System Research Center. В DEC они занимались созданием нового компилятора для Java и серверным софтом.
В конце 90-х DEC оказалась не в лучшем состоянии. Компания делала серверы на RISC-архитектуре, в то время, как все остальные переходили на дешевые x86-чипы. В 1998-м DEC стала частью Compaq (и позже HP).
В объединенной компании исследовательские лаборатории стали не нужны. Начался исход людей. Кто-то ушел в Microsoft, которая создавала новый офис в Силиконовой долине, кто-то в VMware, кто-то в Google. По иронии судьбы DEC исчезла в тот самый год, когда появилась Google. Одновременно шел распад Xerox PARC и Bell Labs.
Дин, Гемават и еще несколько сотрудников DEC — Майк Берроуз, Сун-Так Люн, Луис Андре Баррозо — решили обосноваться в Google. На тот момент они просто искали интересное место работы. Но обстоятельства сложились так, что Google волей-неволей стала наследницей DEC. В DEC была создана первая поисковая система — AltaVista. Она работала на больших, неповоротливых машинах. Google пошли по-другому пути: они создали технологии (GFS, MapReduce, BigTable) для разбиения нагрузки между небольшими и дешевыми серверами.
Бывшее здание исследовательского центра DEC. Сейчас это офис Amazon.
Джефф Дин и его наставник
Первым в Google перебрался Джефф Дин. Он появился там вслед за своим академическим наставником Урсом Хольце.
Хольце был одним из десяти первых сотрудников Google и первым вице-президентом по инжинирингу. Он курирует инфраструктуру Google, насчитывающую примерно 35 дата-центров. В Google он пришел из Калифорнийского университета в Санта-Барбаре, а до этого работал над веб-технологиями в Стэнфорде под началом Дэвида Юнгера.
Научный руководитель Дина учился с Юнгером. В результате чего Хольце стал академическим наставником Дина. В 1999 году Джефф Дин покинул DEC ради стартапа MySimon. Но тут он встретил Хольце, который уже работал в Google. Дин спросил его о вакансиях. И вскоре получил приглашение на работу от Ларри Пейджа.
Первое время Дин занимался разработкой рекламной системы. Но вскоре переключился на фундаментальные технологии: инфраструктура Google едва справлялась с быстрым ростом интернета.
Вслед за Дином в Google перебрались его знакомые по DEC — Санджай Гемават, Кришна Бхарат и Моника Хензингер. За ними последовало еще несколько человек.
В следующие три-четыре года Дин и Гемават создали несколько итераций поисковой технологии Google. Как устроен их союз? Очень часто они сидят за одним компьютером и ведрами пьют капучино. Дин фонтанирует идеями, а Гемават его сдерживает, корректирует направление мысли и печатает. Сам Гемават не настолько пассионарен, он часто волнуется, как сделать правильно. И тогда ситуацию спасает Дин со своей неистощимой энергией.
Наиболее заметным прорывом Дина и Гемавата стало создание GFS и MapReduce в начале 2000-х. Самая примечательная сторона этих технологий заключается в том, что они не падают при выходе из строя одного или нескольких серверов. Когда имеешь дело с десятками тысяч дешевых серверов, как Google, техника падает постоянно. Благодаря GFS и MapReduce можно создавать копии данных на нескольких машинах. Если одна ломается, ее подменяет другая.
BigTable, в свою очередь, работает как огромная база данных. Он не дает такого контроля, как обычная база данных, но позволяет оперировать с объемами информации, недоступными для платформ, работающих на одной машине.
Крем-брюле как решающий довод
Луис Андре Баррозо тоже перешел в Google из DEC. Но мог и не перейти.
В 2001 году его зазывали одновременно Google и VMware. После нескольких встреч в обеих компаниях Баррозо составил огромный список доводов в пользу каждой компании. 122 причины для работы в Google и столько же для работы VMware.
Затем Баррозо поговорил с Дином, и тот спросил, включил ли он в список крем-брюле от шеф-повара Google. Оказалось, что нет. Крем-брюле был любимым десертом Баррозо. На следующее утро он принял предложение Google.
В DEC Баррозо участвовал в создании первых многоядерных процессоров. В Google он поначалу занимался софтом, но скоро Хольце назначил его ответственным за всю физическую инфраструктуру компании.
Результаты не заставили себя ждать. В 2003-м Google впервые заказал на азиатских заводах серверы собственной разработки. Каждый сервер содержал в себе 12-вольтовую батарею, которая включалась при отключении энергии. Это оказалось гораздо экономичнее, чем снабжать дата-центры массивными ИБП.
Разобравшись с серверами, Google взялась за проектирование зданий для дата-центров. До этого она их просто арендовала. Первый дата-центр нового поколения открыли в штате Орегон, в сельской местности с низкими налогами и дешевой электроэнергией. Но основная идея была в том, чтобы заставить весь комплекс работать как единое целое. Баррозо и Хольце назвали это «warehouse-scale computing».
При строительстве дата-центра применили новый подход. Серверы и сопутствующее оборудовании разместили в стандартных железнодорожных контейнерах, а сами контейнеры использовали как модули при «сборке» дата-центра. Орегонский дата-центр заработал в 2005 году, но детали о нем Google раскрыла только 2009-м.
Эффект Тесла
У Ларри Пейджа есть пунктик в отношении Николы Теслы. Согласно книге Стивена Леви In the Plex, Пейдж ставит Теслу как изобретателя на один уровень с Эдисоном, но отмечает его неспособность к коммерциализации своих изобретений.
История Николы Тесла явно повлияла на образ мыслей руководства Google. Как и Apple, Google хранит свои ключевые технологии в глубокой тайне. И если что-то рассказывает, то лишь через несколько лет. «Мы стараемся быть настолько открытыми, насколько возможно, — говорит Хольце. — Мы делимся идеями, но не способами реализации».
В 2003—2004 годах Google рассказала о GFS и MapReduce. Вскоре после этого разработчик Даг Каттинг создал Nutch, поисковый движок с открытым кодом, который позже трансформировался в Hadoop. Hadoop взяли на вооружение Facebook, Twitter, Microsoft, а вслед за ними подтянулись и другие компании. Вокруг Hadoop сформировался рынок объемом сотни миллионов долларов.
Та же история повторилась с BigTable. Google поведала об этой технологии в 2006 году, а в 2007-м Amazon рассказал о своей системе Dynamo. Это дало толчок появлению NoSQL — попытке создать базы данных, масштабируемые на тысячи машин.
«Если посмотреть на любое NoSQL-решение, то сразу заметно, что оно основано либо на Google BigTable, либо на Amazon Dynamo, — говорит Джейсон Хоффман из компании Joyent. — А если Google и Amazon ничего бы не рассказали, где был бы мир?»
Про хардверные технологии Google по-прежнему известно мало. Собственные серверы теперь проектируют многие — Facebook, Amazon, Microsoft. А модульные дата-центры стали хребтом интернета.
Майк Манос, бывший специалист Microsoft по дата-центрам, отрицает, что модульные дата-центры были изобретением Google. По его словам, нечто подобное было еще в 1960-х. Даже если так, заслуги Google это не умаляет. Как и в случае GFS/MapReduce, компания адаптировала старую идею для решения новых проблем.
Прошлое Google — наше будущее
Google уже заменил многие из своих зародышевых технологий. На смену GFS пришел Colossus, а поисковый индекс формируется с помощью системы Caffeine, которая включает в себя кусок MapReduce и работает совершенно иным образом. Также заслуживают упоминания Pregel (база для создания карты взаимосвязей между данными) и Dremel (высокоскоростная система анализа данных). У Pregel уже появилось несколько open source-аналогов, у Dremel — минимум один.
Это лишь вершина айсберга. Наверняка есть и другие разработки, о которых мы пока ничего не знаем. В мае прошлого года Эрик Брюер, профессор Калифорнийского университета в Беркли, объявил, что уходит создавать новое поколение инфраструктуры Google. «Облачные технологии все еще очень молоды, — сказал он на прощание. — Многое еще надо сделать. Многого достичь».
Пример Брюера — один из лучших специалистов по распределенным вычислениям — показывает, что Google стал не просто наследником Xerox PARC. Google превзошел Xerox PARC.
Исследовательский центр DEC (System Research Center, SRC) создавался Робертом Тейлором, который до этого основал компьютерную лабораторию в Xerox PARC. Корпоративные порядки были таковы, что путь от изобретения до готового продукта занимал годы. К началу 80-х Тейлору это надоело, и он ушел в DEC. Но там повторилась та же история. И именно там работал Джефф Дин.
Google удалось решить эту проблему. Компанию выстроили таким образом, чтобы соединить преимущества научной работы (решение задач, которые еще никто не решал) и коммерческого предприятия (быстрое воплощение в жизнь).
Единственной серьезной помехой для некоторых сотрудников Google остается секретность. Психологически сложно работать на переднем крае технологий и при этом не иметь возможности рассказывать о своих достижениях за пределами компании. Xerox PARC никогда не была так хороша, как Google сегодня.
Cade Metz/Wired