За кулисами Google

Гигант глобального интернет-поиска компания Google, уже ставшая практически самым узнаваемым брэндом в мире, необычайно успешным в бизнесе (ее оборот оценивается в $6,1 млрд), активно собирает информацию из Всемирной паутины, но проявляет определенную замкнутость, когда дело касается ее собственных секретов. Передовые технологии управления своей инфраструктурой, которая построена на самой крупной в мире компьютерной сети, она обсуждает весьма неохотно.

Как и любая другая компания, Google решает массу стандартных и обычных задач, но не все делается обычным и стандартным для всех остальных способом. Среди прочего это означает, что Google зачастую не использует стандартные бизнес-приложения на стандартном оборудовании. Зачем? Если можно задействовать технологию анализа текста поисковой машины для извлечения нужной информации прямо из электронных писем вместо того, чтобы заставлять сотрудников заполнять формочки ввода данных. Вместо того, чтобы запустить какое-то приложение на обычном сервере, можно задействовать собственную распределенную компьютерную систему, построенную на объединяющих множество машин компьютерных кластерах, размещенных в дата-центрах по всему миру. Поисковая машина Google работает на сотнях тысяч серверов (по некоторым подсчетам, 450.000), объединенных в кластеры из тысяч компьютеров и установленных в десятках дата-центров. Они находятся в Дублине (Ирландия), в штатах Виргиния и Каролина, где совсем недавно были взяты в аренду помещения площадью в миллион квадратных футов для головного офиса компании. Новый центр открылся в Атланте, ведется строительство двух других размером со стадион в Далласе, штат Орегон. Благодаря столь широкой географической разрозненности серверов и дата-центров Google пользователи всего мира могут наслаждаться их высоким быстродействием. Ведь чем меньше сетевых коммутаторов и маршрутизаторов стоит на пути между клиентом и сервером, тем меньше времени требуется на передачу информации между ними. И хотя поиск остается основным сервисом, который предоставляет Google, на ее серверах работает и постоянно расширяется целое семейство других приложений — таких, как Gmail, Blogger и даже веб- версии текстового процессора и электронных таблиц.

Подобная экспансия способствует порождению слухов о том, что Google является могильщиком Microsoft, ведь с постоянным и бурным развитием Интернета, а также выводом в Сеть всех самых популярных среди пользователей приложений потребность в продуктах Microsoft будет неуклонно снижаться. Слухам можно верить или нет, но Google и Microsoft время от времени сталкиваются лбами, и это слышно "невооруженным ухом". Например, в текущем году Microsoft планирует инвестировать в свою информационную инфраструктуру, а это приобретение новых серверов, строительство дата-центров и коммуникаций, полтора миллиарда долларов. Компания Google наметила для себя такую же цифру, хотя аналогичные ее инвестиции за 2005 год составили 838 млн, а ведь это почти двукратное увеличение. В 2005 году поисковик Google проиндексировал более 8 млрд веб-страниц, и в этом ему нет равных — беспристрастная статистика подтверждает его лидирующее положение. По данным апрельского опроса, пользователи сети Интернет из США в своих поисковых предпочтениях распределились следующим образом:
— Google 43%;
— Yahoo 28%;
— Microsoft Network (MSN) — 12,9%.

Доля Google постоянно растет — годом ранее она составляла 36,5%. Такой же апрельский опрос 2005 года показал, что американцы отправили всего 6,6 млрд поисковых запросов, что на 4% больше, чем в предыдущем месяце. Google помог им 2,9 млрд раз, поисковик Yahoo — 1,9 млрд и MSN-Microsoft — 858 млн.

Этот рост стал возможен прежде всего благодаря уникальным информационным технологиям, которые внедряет компания. Бизнес Google опирается на собственную инфраструктуру, построенную на оригинальной комбинации программного (как приобретенного коммерческого, так и созданного своими силами) и аппаратного обеспечения, которая обеспечивает необходимые вычислительные мощности за разумную и относительно невысокую цену. Немалые инвестиции в развитие этой инфраструктуры обернулись ключевыми преимуществами. Уникальная система упрощает хранение и обработку больших объемов данных, облегчает создание и управление крупномасштабными, глобальными продуктами и сервисами, позволяет автоматизировать администрирование крупных компьютерных кластеров. Для того, чтобы максимально полно контролировать свою инфраструктуру, Google предпочитает покупать, а не арендовать компьютерное оборудование. Обычные компьютеры объединяются в кластеры, по своей вычислительной мощности сопоставимые с суперкомпьютерами, только их стоимость во много раз ниже. Опыт Google по созданию и использованию крупнейшей распределенной компьютерной системы мира достоин изучения, особенно теми организациями, которые сами используют кластерные компьютерные технологии (grid computing), когда сложнейшие вычислительные задачи решаются множеством обычных недорогих компьютеров, работающих в одной упряжке. Вклад Google в развитие информационных технологий и сети Интернет можно сравнить с тем, как в начале 60-х годов прошлого века компьютер IBM 1460 стал предвестником эры новых суперкомпьютеров, способных быстрее и эффективнее выполнять более сложные вычислительные задачи. Ведь даже военные ведомства на примере Министерства обороны проявляют неподдельный интерес к разработкам и технологиям Google. Они по достоинству оценили способность компании оперативно разворачивать компьютерные дата-центры в любой точке мира, ведь за последние несколько лет ей удалось построить самую крупную корпоративную сеть в мире, и она продолжает постоянно расти и развиваться. Google может упаковать полный комплект оборудования (а это 5 тысяч 64- разрядных процессоров AMD Opteron и 3,5 петабайта дискового пространства для хранения данных) в стандартные 20- или 40-футовые контейнеры, доставить его по месту назначения обычным грузовиком среди ночи, и в любом месте, где доступно высокоскоростное оптоволоконное соединение с сетью Интернет, через несколько часов он будет функционировать.

Начинался сегодняшний гигант Google с исследовательского проекта, посвященного структуре Всемирной паутины, которым занимались два научных сотрудника Стэнфордского университета Ларри Пейдж и Сергей Брин. В рамках проекта была создана поисковая система, которую на начальном этапе авторы даже пытались продать одной из известных фирм, профессионально занимавшихся интернет-поиском — таких, как Yahoo, но так и не смогли найти покупателя. Поэтому в 1998 году они решили создать собственную компанию Google и поставить свою технологию поиска на коммерческую основу. В течение первых лет существования компании ее основатели старались не зарабатывать на рекламе, боясь, что это сможет негативно повлиять на целостность и достоверность результатов поиска их системы. Но затем поисковик пошел на компромисс с рекламой, хотя на самом веб-сайте ни рекламных объявлений, ни баннеров не размещалось, при выдаче результатов поиска появился рекламный блок. Он был четко отделен от результатов, но так как рекламные ссылки подбирались и отображались с учетом поисковых запросов, они были высоко релевантными, то есть, нажав на такую ссылку, пользователь переходил на сайт с информацией, которую искал. Каждый такой переход по рекламной ссылке начал приносить компании несколько центов, и акции Google быстро поползли вверх. Основные задачи, которые выполнял поисковик Google в 1997 г., он выполняет и сегодня. Прежде всего он рыщет по Всемирной паутине, собирая информацию, переходя от одной гиперссылки к другой. Копии всех электронных документов, которые ему удается найти, он помещает в свое огромное хранилище вместе с их интернет-адресами и гиперссылками. Затем он производит анализ документов, создавая и выстраивая индексы встречаемости слов и ссылок в каждом документе. Когда пользователь отправляет свой поисковый запрос в Google, поисковая машина прежде всего сравнивает текст запроса с индексом, определяет наилучшие варианты совпадения и выдает список ссылок пользователю как результат обработки его запроса, а заодно и небольшие фрагменты текста, взятые из сохраненных документов. Чтобы выполнить эту работу, Google необходимо сохранить и проанализировать значительную часть всего содержимого Всемирной паутины, а это требует значительных как технических, так и экономических затрат.

К 1999 году поисковая машина Google.com работала в профессиональных дата-центрах таких компаний, как Exodus. Но оборудование, которое компания Google устанавливала в этих центрах, было, мягко говоря, необычным. Самодельные компьютерные стойки с деревянными направляющими смотрелись как-то нетрадиционно. Всем аппаратным обеспечением заведовал Пейдж — прирожденный инженер, способный из обычного конструктора Лего построить действующий струйный принтер. Его команда занималась сборкой конструкций, каждая из которых объединяла по четыре компьютерные материнские платы с жесткими дисками неизвестных производителей. Все монтировалось в стойки на простых деревянных направляющих, и получался целый массив из серверов. Обмен данными между серверами происходил через ворох сетевых кабелей, подключенных к сетевым коммутаторам от Hewlett- Packard. Первая рабочая система Google.com работала на 30 таких массивах. На нее можно даже посмотреть в Музее компьютерной истории, который находится недалеко от головного офиса компании Google. Причина такой, можно сказать, "сверхплотной аппаратной конфигурации" была в том, что арендная плата устанавливалась дата-центрами в зависимости от площади, которую занимало оборудование, поэтому Пейдж стремился уместить максимально возможное количество компьютерных и вычислительных мощностей в минимальный объем. По ходу решения этих непростых задач находились оригинальные и эффективные способы цветной маркировки проводов, схемы удобной и понятной нумерации серверов и оборудования. При покупке всех компьютерных компонентов и комплектующих, которые монтировались в эти стойки, прежде всего учитывался ценовой фактор, предпочтение отдавалось самому дешевому, а не самому надежному. Жесткие диски были такого качества, что мало кто рискнул бы поставить их на домашний игровой компьютер своего ребенка, память покупалась на распродажах некондиционных и дефективных комплектующих. Но это была только часть первоначальной стратегии — получить значительные вычислительные мощности при минимальных финансовых вложениях. Пэйдж и Брин начали создавать свою поисковую машину со следующей предустановки: любые аппаратные компоненты рано или поздно выходят из строя, поэтому программное обеспечение поисковика должно быть изначально готово работать в таких условиях.

Основатели Google прекрасно знали, что Web растет и развивается очень быстро, им предстоит нелегкая работа, потому что их поисковая машина должна успевать индексировать и сохранять все новые и новые веб-страницы. Они возложили свои надежды на то, что цены на процессоры, микросхемы памяти и устройства для хранения информации будут снижаться еще быстрее, чем развивается Интернет. В самом начале своего пути они пытались построить поисковую машину с использованием техники, которую просто взяли на время у коллег по университету. Даже чуть позднее, получив инвестиции на сумму в $100 тыс. от одного из основателей Sun Microsystems Энди Бехтолшейма, они продолжали экономить при каждой возможности. Они строили свою систему из самых дешевых комплектующих. В то же время многие компании, которые вели свой бизнес исключительно в сети Интернет, покупали самые современные и дорогие серверы Sun с дисковыми массивами RAID. RAID (Redundant Arrays of Independent Disks) значительно повышает надежность хранения информации за счет внутреннего дублирования и автоматической коррекции ошибок. Google решила добиться того же эффекта, но другими средствами — заставить каждый компьютер из множества таких же, как он сам, недорогих, помогать соседям выполнять возложенные на них задачи, работать параллельно и достигать высокой производительности при низких затратах. В 1999 году, когда Google получила $25 млн, необходимость в такой бережливости, казалось бы, отпала. Но к этому времени она превратилась в привычку, и привычка осталась надолго. Позднее дата-центры Google привели в порядок свою кабельную систему, из компьютерных стоек исчезли все деревянные и горючие элементы (они представляли реальную угрозу воспламенения). Также решались вопросы интенсивного охлаждения и электропитания плотно упакованных массивов серверов. В 2003 году инженеры Google заметили, что потребление электроэнергии их оборудованием за счет высокой плотности монтажа находится в диапазоне от 400 до 700 Вт на квадратный фут площади, а большинство коммерческих дата-центров, в которых оно устанавливалось, могло обеспечить не более 150 Вт на квадратный фут. Встал новый вопрос поиска более эффективного по потребляемой мощности оборудования, и компания перешла от использования процессоров Intel к AMD.

Хотя инфраструктура Google несколько видоизменялась от момента ее появления, основа построения серверных кластеров остается неизменной до сегодняшнего дня. Основной целью Google является не просто иметь множество серверов — их нужно заставить работать одновременно. Для каждого отдельно взятого поискового запроса ответ доставляют тысячи компьютеров. Чтобы лучше понять, почему параллельная обработка данных так важна при поиске, представьте, сколько времени понадобится одному человеку, чтобы найти фразу "южный тропик" в подшивке журнала "Вокруг Света" за 1970 год. А теперь передайте эту же задачу сотне работников — каждому придется просмотреть всего несколько страниц и выдать результат начальнику, которому останется только обработать и отсортировать результаты. Вы получите ответ в сто раз быстрее. С другой стороны, если один из работников нашего проекта по какой-то причине неправильно поймет задание, заболеет или умрет, выполнение поисковой задачи займет больше времени или результат будет некорректным. Поэтому при создании компьютерной системы для параллельной обработки данных — в частности, такой как Google, построенной из простых и недорогих компонентов, — необходимо позаботиться о коррекции ошибок и возможности системы быстро восстанавливаться после сбоев и аварий.

В 1998 году Пейдж и Брин опубликовали результаты своих исследований в работе "Анатомия крупномасштабной гипертекстовой поисковой системы". На этом этапе Google уже собрал информацию о 25 млн веб-страниц. Каждый документ был обработан для получения индексного файла, который содержал информацию о частоте встречаемости каждого слова, упоминаемого в этом документе. Также генерировался и "обратный индекс", который устанавливал связь между ключевыми словами и веб-страницами, в которых они встречались. Но поисковик Google сделал гораздо больше, чем просто анализ встречаемости искомых слов. Пейдж придумал формулу, которая практически удвоила релевантность результатов поиска за счет дополнительного анализа гипертекстовых ссылок. Его идея была в том, что для любого отдельно взятого документа имеет важное значение не только частота встречаемости в нем искомой фразы, но и количество других документов, содержащих гиперссылки на этот документ. Так появился особый индекс цитирования, или PageRank. Ранее поисковые машины не занимались анализом гиперссылок, хотя и сохраняли их в своих базах данных. Таким образом поиск мог выдать вполне релевантный результат в виде документа, внутри которого даже не содержится ключевая фраза в таком виде, как она была введена пользователем, но присутствует, например, как аббревиатура. Исходным материалом — "сырьем" для поиска — стали и текстовые поля тегов "anchor", привязанных к гиперссылкам на веб-страницах и выводимых в качестве вспомогательной информации при подведении курсора к гиперссылке. Весь этот анализ требовал все больше дискового пространства для хранения документов. Даже во времена, когда Google ютился в кампусе университета Стэнфорда, хранилище данных поисковой машины насчитывало 148 Гб информации. За счет компрессии файлов его удалось уменьшить до 54 Гб, но вместе с базами данных индексов и ссылок требовалось 109 Гб. Сегодня эти цифры не выглядят такими страшными — каждый может купить себе ноутбук с винчестером в 120 Гб, но не стоит забывать, что в 90-х годах прошлого века рядовой компьютер был "вооружен" 10-гигабайтным винчестером. Для решения проблемы хранения информации Пейдж и Брин разработали специальную виртуальную файловую систему, которая обращалась к множеству жестких дисков множества компьютеров как к одному большому хранилищу данных. Они назвали ее BigFiles. На эту файловую систему была возложена задача поиска свободного дискового пространства на одном из серверов, входящих в один из многочисленных серверных кластеров, сохранения файла и постоянного контроля, где и какие файлы размещены. Уникальная инфраструктура Google — это не только распределенные вычисления и обработка информации, но и такое же распределенное ее хранение. Эффективное решение этих задач невозможно без оптимизации и минимизации обмена данными между компьютерами, входящими в эту структуру. Команды и инструкции по обработке данных должны передаваться только между серверами, которые содержат необходимую информацию, а во внешнюю сеть выдаются только результаты поиска.

В 2003 году исследовательская лаборатория Google Labs объявила о создании Google File System (GFS), которая пришла на смену файловой системе BigFiles. Основное ее назначение, как и предшественницы, в надежном хранении больших объемов информации на ненадежных компьютерах. Для этого GFS обеспечивает для каждого файла хранение не менее трех его копий на разных компьютерах, входящих в данный серверный кластер. Это означает, что, если компьютерная программа пытается считать данный файл с одного из этих компьютеров, но не получает ответа через несколько миллисекунд, два других смогут выполнить запрос. Такая избыточность важна для Google, потому что поисковая система регулярно встречается с ошибками и сбоями приложений, операционных систем, пользователей, а также с проблемами оперативной памяти, дисков, сетевых соединений и электропитанием отдельно взятых компьютеров. Система управляется с файлами размером от 100 мегабайт до нескольких гигабайт. Чтобы делать это более эффективно, GFS хранит информацию в блоках по 64 мегабайта — своеобразных аналогах кластеров — мельчайших единиц, отводимых для хранения информации. Для сравнения: обычный размер такого блока в ОС Linux равен 4,096 байт, в Windows — 16 или 32 килобайта. Разница как между парой страниц текста и несколькими полками, заполненными толстенными книжками. Чтобы сохранить 128-мегабайтный файл, GFS использует два блока. С другой стороны, 1-мегабайтный файл также займет целый блок, оставив массу пустого места. Но файлы такого размера для Google нехарактерны. GFS-кластер состоит из одного главного сервера (master) и сотен или тысяч компьютеров, которые хранят данные (chunkservers). Главный сервер содержит метаданные, которые включают имена файлов, их размеры и место размещения — этакий FAT, только очень "толстый". Когда программа или приложение запрашивает какой-либо файл, master выдает адрес сервера-хранилища. Главный сервер также постоянно слушает пульс подконтрольных ему машин, и, если у какой-либо "сердцебиение" останавливается, назначает ей замену. В своих технических презентациях Google упоминает 50 GFS-кластеров, каждый из которых объединяет тысячи компьютеров, и вся эта махина хранит петабайты информации.

Недавно к арсеналу программных средств Google добавилась система управления сверхбольшими базами данных BigTable. Хотя Google использует и стандартное программное обеспечение для управления базами данных — например, MySQL, постоянно возрастающий объем и разнообразие информации, которую нужно сохранять и обрабатывать, привели к необходимости создания собственного механизма. Big Table сохраняет данные, используемые такими приложениями Google, как Google Maps, Google Earth и My Search History. База данных "Большого Стола" разбита на фрагменты, которые называются "tablets" (столики) и хранятся на различных компьютерах, объединенных GFS-кластером. Это позволяет системе управляться со "столиками" такого размера, что на одном сервере они просто не поместились бы. Особая архитектура распределенного хранения данных Google неотделима от аналогичного характера работы программного обеспечения, которое занимается анализом этих данных. А для того, чтобы экономить время на огромных объемах распределенных вычислений и упростить эти процессы, Google изобрела MapReduce. Аналогично тому, как GFS обеспечивает хранение информации на множестве серверов, MapReduce берет на себя заботу о распределенном выполнении программных инструкций — команды выполняются параллельно на множестве компьютеров. Каждое вычисление разбивается на два этапа: на первом получается набор промежуточных результатов, а на втором компьютеры выдают окончательный ответ. Эта концепция пришла из функциональных языков программирования — таких, как Lisp (Google реализован на C++ с интерфейсами на Java и Python). Новаторство Google в технологиях программирования, распределенных вычислений и обработки данных касается не только поиска, но и решения самых разнообразных проблем, с которыми сталкивается компания — например, автоматический перевод с одного языка на другой. Сервер MapReduce вначале автоматически разбивает каждую вычислительную задачу на части, а затем собирает их вместе. Таким же образом, например, Java-программист полностью возлагает на виртуальную машину Java всю заботу о распределении памяти, тогда как в языке C++ программисту приходится самому заниматься вопросами резервирования и освобождения оперативной памяти компьютера. В случае с MapReduce у программиста не болит голова о том, как будет выполняться его программа, и каким образом вычисления будут распределены между серверами одного кластера. Обычно программы передают в среду MapReduce огромные блоки данных, которые разбиваются на куски от 16 до 64 мегабайт. Система MapReduce создает их копии для каждой отдельной функции "map" и "reduce" ("распределение" и "уменьшение"), выбирает сервер, на котором задача будет выполнена, а также контролирует как выполнение, так и результат. Рабочий сервер загружает выделенный ему массив данных, обрабатывает его и сообщает главному серверу (master) о выполнении. Приложению пользователя отправляется только конечный результат. Если происходит сбой, и рабочий сервер не может выдать результат вычислений главному, задача передается другому компьютеру.

Компания Google, которая насчитывает более 6800 сотрудников, постоянно принимает на работу новых, молодых и талантливых выпускников высших учебных заведений, в среднем по 12 человек в день, недавно объявила об открытии еще 1800 вакансий. Эта статистика не могла остаться без внимания кибермошенников, и в сети Интернет замелькали объявления от проходимцев, предлагающих за скромную плату содействие в трудоустройстве в самую известную в Сети компанию. Считаю необходимым сделать несколько пояснений для потенциальных кандидатов: Google не облагает соискателей данью, не берет с них ни копейки ни под каким предлогом, компания заинтересована в молодых и талантливых работникам и будет платить им заработную плату, а вся информация об открытых вакансиях в различных регионах земного шара доступна на официальном сайте. Один из величайших секретов Google в том, сколько серверов у него работает. В последних официальных заявлениях упоминалась цифра в 10.000, некоторые неофициальные аналитики считают, что это число находится в пределах 150-170 тысяч. Сравнительный отчет еженедельника "Нью Йорк Таймс" приводит цифру в 450 тысяч против 200 тысяч серверов у Microsoft. Ходят слухи, что Google от больших дата-центров, в каждом из которых работает 10.000 компьютеров, переходит к созданию более мелких (если этот термин употребим к махинам в тысячи компьютерных сил), но увеличивает число самих центров. На самом деле количество серверов не имеет большого значения — каждый может купить себе много компьютеров. Вот что на самом деле важно — это то, что Google смогла создать такое уникальное программное обеспечение и технологии управления множеством компьютеров, аналогов которым ни у Microsoft, ни у Yahoo пока нет. Другие операторы веб-поиска начали работать раньше и строили свою инфраструктуру, исходя из меньшего количества относительно дорогих серверов. Но ведь рано или поздно может выйти из строя любой компьютер, как самый дешевый, так и дорогой. Отношение цены к производительности техники у Google по сравнению с конкурентами три к одному — это значит, что для того, чтобы получить аналогичное количество вычислительной мощности, Google тратит один доллар, а его конкуренты — целых три. В одном из отчетов, опубликованном Google в 2003 г., есть пример сравнения производительности одного восьмипроцессорного сервера с массивом из 176 двухпроцессорных серверов, которые дают в 22 раза большую вычислительную мощность с трехкратным превосходством по оперативной памяти за треть стоимости. Основные конкуренты Google в лице Microsoft и Yahoo, наблюдая за ее успехами, также изменили свое отношение к недорогой технике. Microsoft уже использует кластеры, построенные из дешевых машин, на некоторых участках — там, где считает это разумным и целесообразным, но на основных и ключевых позициях остаются дорогие мультипроцессорные системы. Yahoo также сфокусировал свое внимание на использовании малых серверов для параллельных вычислений, но продолжает сохранять гетерогенную серверную инфраструктуру. Например, Yahoo начинал свою деятельность с FreeBSD-версией операционной системы Unix, затем для поддержки определенных сервисов и приложений у него появились серверы под управлением Linux и Windows.

Распределенные файловые системы известны с 80-х годов прошлого века, когда в лабораториях университета Карнеги Меллон были созданы Sun Microsystems Network FileSystem и Andrew File System. Но программисты Google не стали модифицировать и подгонять под свои потребности существующие системы, а решили создать новую, уникальную систему для надежного хранения огромных объемов информации на дешевых и ненадежных компьютерах. Несмотря на то, что компания все-таки опубликовала некоторую информацию о своей файловой системе Google File System, она не открывает исходных текстов и не проявляет интереса к продаже этой технологии. Единственный способ, который дает возможность другим фирмам или предприятиям получить ее, — приобретение полной версии пакета Google Search Appliance, а заодно и встроенной в него возможности управления соответствующим кластером серверов в качестве приложения. Хотя разработчики поисковой системы с открытым исходным кодом Nutch (Apache Software Foundation) создали свою версию распределенной программной среды Hadoop, которая включает в себя и распределенную файловую систему, а также и собственную версию MapReduce, аналогичную творению Google. Google создала и постоянно укрепляет имидж необычной, нестандартной компании. Хотя некоторые вопросы — например, управление финансами — осуществляются традиционными, знакомыми каждому предприятию методами, в области технологической и производственной господствует новаторский дух. Рассмотрим, как Google управляет своими проектами. Каждую неделю каждый сотрудник Google получает автоматически сгенерированное электронное письмо с набором вопросов, чем он занимался в течение прошлой недели и что планирует для себя на следующую. Ответы отсылаются электронной же почтой и обрабатываются специальной программой, которая извлекает из писем ответы и сохраняет их в базе данных. Поэтому через неделю сотрудник может получить вопрос о том, с каким успехом ему удалось выполнить свои планы. Автоматическая система, созданная собственными силами Google, может планировать и контролировать выполнение всех проектов всех подразделений компании. Более традиционная система — проект менеджмента подразумевает выдачу для заполнения сотрудниками типовых форм, в которых требуется заполнить определенные ячейки и проставить галочки, облегчая дальнейшую компьютерную обработку формуляров, но увеличивая нагрузку на сотрудников. Google, наоборот, снимает груз с человека и перекладывает его на плечи компьютерной системы. А почему бы и нет? Ведь у компании уже есть рабочая поисковая лошадка, способная обрабатывать немыслимые количества электронных документов, искать в них то, что нужно, сортировать и выдавать результаты. По сравнению с объемом работы, которую она проделывает постоянно, еженедельный анализ, хранение в базе данных и обработка определенного количества электронных писем кажется просто мелочью. База данных с отчетами по всем текущим проектам доступна для поиска и анализа всем менеджерам проектов, а также другим сотрудникам Google, которые могут проследить историю любого проекта от его начала до развития и завершения. Сотрудник из любого офиса компании, который находится в другой стране, может использовать опыт других для успешного решения своих собственных задач. Если для внешнего мира Google выглядит как закрытая система, оберегающая свои секреты, то внутри она абсолютно открыта для обсуждений и дискуссий, которые, несомненно, оборачиваются оптимальными мерами по улучшению и совершенствованию работы компании. Расширение сети офисов компании в различных странах важно для нее потому, что люди, живущие во Франции, Индии или Китае, лучше выполнят локализацию продуктов и приложений Google, а это не только перевод пользовательского интерфейса на язык данной страны, но и определенное изменение в особенностях работы программы с учетом региональных традиций, условий и потребностей.

Система управления проектами на основе электронной почты работает очень хорошо, но для управления всеми удаленными офисами и сотрудниками личный контакт и живое общение подойдет лучше. Следующий технологический ответ в поисках упрощения общения с зарубежными сотрудниками — это видеоконференции, но и они не заменят живой беседы. Поэтому в Google работает группа менеджеров, которые большую часть времени проводят в авиаперелетах от одного зарубежного офиса к другому и заодно занимаются подбором персонала на местах. Это не очень хорошо согласуется с общей политикой управления компанией, но это необходимо. Удаленные офисы компании в большей или меньшей степени могут испытывать определенные неудобства из-за некоторой несовместимости сетевой инфраструктуры, что затрудняет общение и взаимодействие инженеров в различных офисах. Например, приложение или программа может требовать определенной конфигурации сервера Lightweight Directory Access Protocol (LDAP), на котором хранится информация о сетях, сетевых устройствах и пользователях. Из-за того, что LDAP-сервер в Дублине настроен одним образом, а его "коллега" в Нью Йорке — другим, может быть нарушена связь между ними, работа программного обеспечения. Для того, чтобы забыть о подобных проблемах, компания создала "office-in-a-box" ("офис в коробке"), в который входит и предварительно сконфигурированный LDAP-сервер, и дополнительное необходимое оборудование. Можно его назвать небольшим, офисным дата-центром. Инженеры Google взяли привычный для них дата-центр, уменьшили, поместили в цветную коробочку и поставляют во все региональные офисы компании. Затем они придумали и создали единую систему, которая из головного офиса контролирует и при необходимости централизованно изменяет настройки LDAP-серверов в офисах Google по всему миру. Серверы Google работают под управлением операционной системы Red Hat Linux, но программисты Google сделали определенные модификации кернела. К приобретенным программным средствам можно еще отнести акселератор веб-протокола NetScaler Application Delivery, созданный программистами Citrix Systems, приложения для перевода и языкового анализа веб-страниц Rosette, от Basis Technology, а также программы для конвертирования файлов Outside In от компании Stellent.

99% от 6-миллиардной прибыли Google приносит реклама, но в компании работает еще одно подразделение — Google Enterprise, которое занимается продвижением и реализацией маленьких клонов Google — линейки продуктов Search Appliance. Это небольшие предварительно сконфигурированные поисковые серверы в различных видах комплектации, которые любая фирма может приобрести, подключить к своей сети и запустить в работу практически мгновенно. Эти продукты варьируются от мини-варианта стоимостью $1,995, способного проиндексировать 100 тысяч документов, до более крупных GB- 1001 (до миллиона документов), а также GB-5005 и GB-8008, которые поставляются в виде массива из множества серверов и работающих совместно как отдельный GFS-кластер, как маленький дата-центр Google. Покупатели получают практически полный набор уникальных технологий Google, но в виде единого аппаратно-программного комплекса, предварительно установленного и настроенного, без административного права доступа к содержимому сервера, поэтому несанкционированной утечки информации и взлома Google не боится. Для администрирования системы доступен веб-интерфейс, но лишь с набором функций, необходимых для локального управления и подстройки системы под собственные потребности пользователя. Версия OneBox для предприятия моделирует все функции известного сайта Google, но в качестве объекта для сбора информации может выступать не только глобальная сеть Интернет, но и внутренние ресурсы организации — интранет. Google старается наилучшим образом удовлетворить потребности своих клиентов, делает свою продукцию максимально простой в установке, использовании и поддержке.

По материалам журнала Baseline, июль 2006 г.

Екатерина Грень


Компьютерная газета. Статья была опубликована в номере 48 за 2006 год в рубрике интернет

©1997-2024 Компьютерная газета