Шрифт:
Интервал:
Закладка:
Нетрудно понять, почему был написан меморандум. Пока Гейтс составлял его в своем кабинете в штаб-квартире Microsoft в городе Редмонд, штат Вашингтон, его опасения по поводу будущего компании материализовались на расстоянии всего пары сотен километров в сонном городке под названием Даллес в северном штате Орегон. Ранее в том же году таинственная компания, известная под названием Design LLC, вступила в переговоры с местными чиновниками о покупке 30 акров земли, принадлежащей государственным органам. Этот участок, будучи частью большого промышленного парка, располагался вдоль берегов реки Колумбия. Надеясь сохранить переговоры в тайне, компания потребовала от должностных лиц города подписать соглашение о конфиденциальности. Однако вскоре детали тайной сделки стали известными. Компания Design LLC, как оказалось, была лишь ширмой. В покупке участка земли была заинтересована доминирующая компания интернет-поиска Google, которая быстро становилась самым опасным конкурентом Microsoft.
В феврале 2005 года компания Google закрыла сделку, купив участок земли чуть менее чем за 2 миллиона долларов после того, как власти города согласились на предоставление налоговых льгот. Несколько сотен строителей и целый парк экскаваторов, самосвалов и бетономешалок приступили к работе по реализации плана под кодовым названием «Проект 2» (Project 2). Этот проект предусматривал то, что Эрик Шмидт позже назвал «массивными инвестициями». По мере выполнения работ масштабы объекта становились очевидными. Участок был занят двумя большими, размером с футбольное поле, складами без окон. Над ними возвышались четыре градирни, которые придавали комплексу зловещий вид. Статья в журнале International Herald Tribune описывала этот комплекс как «атомную электростанцию информационной эпохи».
Это было весьма точное описание. Компания Google создавала огромную станцию обработки данных, судя по всему, крупнейшую и сложнейшую на планете. Предполагающая взаимодействие десятков или даже сотен тысяч компьютеров, она должна была стать вычислительным эквивалентом атомной электростанции, динамо-машиной невиданной мощности для обработки данных. Когда-нибудь мы будем вспоминать станцию Google в Даллесе как ранний и относительно примитивный пример центральной вычислительной станции, так же как сегодня воспринимаем электростанцию Инсулла на Фиск-стрит. Однако сегодня она представляет собой самый высокотехнологичный пример компании сферы коммунальных вычислений. И, как Гейтс, несомненно, понимал в октябре 2005 года, эта станция символизирует переворот, который изменит компьютерную индустрию и поставит будущее корпорации Microsoft под сомнение.
К тому времени, как компания Google начала строительство станции, она уже создала десятки «серверных ферм» по всему миру. Всего они насчитывали полмиллиона компьютеров. Однако их потребность в вычислительных мощностях продолжала расти. Город Даллес, который одна из орегонских газет описала как «место, где можно остановиться, чтобы заправиться и перекусить гамбургером по дороге из Портленда в Пендлтон», оказался идеальным местом для создания самого крупного и мощного центра компании. Удаленность города позволяла обеспечить безопасность объекта и усложняла конкурентам Google задачу переманивания ее сотрудников. Что еще важнее, этот город предоставлял доступ к двум ресурсам, которые напрямую влияли на эффективность работы центра обработки данных: дешевой электроэнергии и большой пропускной способности. Компания Google обеспечивала свои компьютеры электроэнергией, вырабатываемой многочисленными гидроэлектростанциями, расположенными вдоль реки Колумбия, в частности соседней плотиной Даллес с генерирующей мощностью 1,8 гигаватта. Кроме того, компания могла уменьшить потребление электроэнергии, используя ледяную воду реки для охлаждения своих машин. Что касается пропускной способности, то город сделал солидные инвестиции в строительство крупной оптоволоконной сети, связанной с международным интернетузлом, расположенным неподалеку в Харбор Пуанте, Вашингтон. Эта сеть обеспечила компании Google интернет-соединение, необходимое для предоставления своих услуг пользователям по всему миру.
Центры обработки данных компании Google разрабатывались лучшими умами в области компьютерных технологий. Подобно машине Эдисона, они работают как единая тонко настроенная система, которую легендарный разработчик компьютеров Дэнни Хиллис назвал «самым большим компьютером в мире», все компоненты которого спроектированы так, чтобы работать совместно. В каждом центре находится один или несколько «кластеров» серверных компьютеров. Серверы представляют собой чуть более крупные компьютеры, чем домашние ПК, собранные из дешевых типовых микропроцессоров и жестких дисков, которые компания Google покупает у производителей оптом. Вместо того чтобы быть жестко связанными друг с другом внутри корпуса, компоненты просто присоединяются к высоким металлическим стойкам, что облегчает процесс их замены в случае выхода из строя. Каждый компьютер получает электроэнергию через блок питания, созданный инженерами Google, который минимизирует потребление энергии. На машинах установлена версия бесплатной операционной системы Linux, оптимизированная программистами Google. Компания также владеет большей частью оптоволоконных кабелей, связывающих вместе ее центры, что позволяет ей точно контролировать поток данных между ними и общественным интернетом.
Наиболее важный объединяющий элемент системы – это программное обеспечение, созданное компанией Google для координации работы всех серверов в кластере на одном уровне и всех кластеров во всех центрах на более высоком уровне. Несмотря на то что компания держит свою технологию в тайне, мы в общих чертах знаем, как работает ее программное обеспечение при выполнении поиска в интернете. База данных Google содержит копии практически всех интернет-страниц и постоянно обновляется специальным поисковым роботом-«пауком», который «ползает» по ссылкам Всемирной паутины и сканирует содержимое миллиардов страниц. Набор секретных алгоритмов анализирует все сайты для создания всеобъемлющего индекса, в котором каждой странице присваивается рейтинг, отражающий ее соответствие определенным ключевым словам. Затем индекс дублируется в каждом кластере. Когда пользователь вводит ключевое слово в поисковой системе Google, программа направляет запрос в один из кластеров, где он одновременно обрабатывается сотнями или тысячами серверов. Поскольку каждому серверу необходимо просто сравнить ключевое слово с небольшой частью всего индекса, которую Google называет «осколком индекса», такая «параллельная обработка» идет значительно быстрее, чем если бы один компьютер сравнивал ключевое слово со всем индексом. Программное обеспечение собирает и обобщает все ответы серверов, располагает найденные страницы в порядке значимости и отправляет список результатов на компьютер пользователя.
Хотя, по словам инженеров Google, обработка типичного поискового запроса требует «десятков миллиардов циклов [микропроцессора]» и считывания «сотни мегабайт данных», весь процесс происходит в течение доли секунды. Координирующее программное обеспечение гарантирует, что вычислительная нагрузка сбалансирована между всеми кластерами и отдельными серверами. Она поддерживает быструю и эффективную работу системы. При поломке компьютера или одного из компонентов программа просто обходит его. Поскольку система состоит из тысяч полностью взаимозаменяемых компонентов, она не может выйти из строя.