Современные информационные
технологии/4.Информационная безопасность
Магистрант Кузьмин Д. А., к.т.н. Вихман В. В.
Новосибирский государственный технический
университет, Россия
Под Капотом У Google И Facebook
Быстрый взгляд на центры обработки данных, серверы и
программное обеспечение, благодаря которым мы чувствуем себя «онлайн»
Все началось в 1999 году, когда
основатели Google Ларри Пейдж и Сергей Брин, только зарегистрировали компанию
под столь странным именем. И у них встала острая необходимость в большом
количестве серверов. По причине того, что они были всего лишь бедными
аспирантами, для экономии денег, они соединили вместе четыре материнские платы
на одном источнике питания, сделав это все на подносе из-под печенья, который
они совместили с пробкой, во избежание короткого замыкания. Тогда они
подключили эти уродливые, но функциональные серверы к стойкам с сетевыми
кабелями, свисающими повсюду.
Само собой разумеется, что
техническая инфраструктура компании Google улучшилось с тех первых дней. Но
Google не желает распространять много информации о своих серверах. В интервью с
IEEE Spectrum , инженеры компании часто давали расплывчатые ответы, такие как:
"Мы не хотим говорить о специфике " или " Мы не можем много
говорить об этом". Корпорация даже пыталась сохранить в тайне
места расположения многих своих центров обработки данных, в том числе 20,
разбросанных по США. Конечно, тяжело скрыть многомилионные строения, которые
должны быть утверждены местными чиновниками, проверены государственными
инспекциями и построенные у всех на виду. Так значительный объем
информации об инфраструктуре данных Google, теперь можно найти просто -
прибегнув к помощи Google.
Facebook тоже быстро
переквалифицировался из студенческого проекта в доминирующего игрока во
всемирной паутине. Инженерам Facebook, было очень сложно не отставать от
скорейшего подъема сайта в популярности. Действительно, эти две компании во
многом похожи, к примеру, в каждой из них первый центр обработки данных был
открыт в свой седьмой год работы. Но Google и Facebook в корне отличаются друг
от друга, в частности, в том, как они производят программное обеспечение,
которое создает все, что мы привыкли видеть ежедневно, а также в том, как они
открыто говорят о своих технических операциях.
Конечно, эти операции должны были
расти в размерах и сложности, чтобы соответствовать экспоненциальному росту
спроса. Теперь, в любой день, Google, получает более миллиарда поисковых
запросов, а сайт Facebook посещают более четверти миллиарда человек. Эти компании,
нашли решение, как распределить огромные технические усилия, чтобы справляться
с таким количеством трафика, и результаты этих трудов действительно впечатляют.
Центр обработки данных компании
Google в Даллесе, штат Орегон, завершенный в 2006 году, является одним из
первых строений, что компания построила сама, а не взяла в аренду. В то время,
информация об этом проекте в Google была настолько засекречена, что они
потребовали городских чиновников подписать соглашение о конфиденциальности, не
позволяющее им даже упоминать об этом в прессе. Хотя Google, в наше время,
является достаточно открытой компанией, но и по сей день Google Earth
показывает на сайте вид этой местности до начала строительства.
Не смотря на это в 2009 году, в
компании Google состоялся саммит по вопросам энергоэффективности центров
обработки данных, где компания предоставила много сведений о своей
деятельности. Несколько дней спустя, видео тур об одном из их ранних центров
обработки данных, который компания публично называет не иначе как " Data
Center A ", появился на YouTube, которым владеет Google. Более 45 000
серверов этого объекта смонтированы в 45 гигантских контейнерах, что создавало
ощущение, как будто Google хотел быть в состоянии собраться и переместить все
эти серверы в другое место в любой момент.
Такой подход не уникален для Google,
но и не является стандартной практикой. Компания Google также отошла от
традиционного формата в том, как она обрабатывает перебои в подаче
электроэнергии. Генераторы резервного копирования, срабатывающие в случае
перебоя, не начинают работать мгновенно, благодаря источникам бесперебойного
питания (ИБП) серверы работают первые 10 секунд или более.
Большинство центров обработки
данных используют большое централизованный ИБП, но это, по своей сути, расточительно.
Потому, что каждое устройство преобразует переменное напряжение в постоянное, а
затем вновь в переменное, в момент, когда ток поступает на распределительные
устройства, чтоб в дальнейшем попасть к каждому отдельному серверу. Эти
преобразования происходят при любых скачках напряжения и на это тратиться около
10 процентов электроэнергии, идущей к вычислительной технике. Чтобы избежать
этих потерь, компания Google, ставит небольшой ИБП к каждому серверу.
Еще одну меру сохранения энергии
Google демонстрирует в своем YouTube дата-центре. Это метод охлаждения,
известный как «вода на стороне экономии». Это важно, потому что всего несколько
лет назад на процесс охлаждения приходилось 40 процентов счета за
электроэнергию типичного центра обработки данных. Этот принцип сокращает
расходы, поскольку он использует - как вы уже догадались - воду, которая
стекает по теплообменникам снаружи здания. Вода, капающая на теплообменники
серверов испаряется, и при этом уносит большую часть тепла. Эта тактика, держит
серверы в достаточно прохладном состоянии большую часть времени, но обычные
чиллеры(централизованная, многозональная система кондиционирования
воздуха) должны
быть готовы к использованию, чтобы помочь по мере необходимости.
В наше время центры обработки данных
Google, используют электричество куда эффективнее, чем раньше. Специалисты
центра обработки данных провели статистическое исследование под названием
«эффективность использования мощности» (ЭИМ), которая рассчитывается путем
деления всей электроэнергии, используемой в учреждении по мощности, подаваемой
ко всем компьютерам и соответствующего сетевого оборудования. К концу 2010
года, центры обработки данных Google, добились общего ЭИМ=1.13 - впечатляюще
близко к идеальному значению 1,0. Это является большим шагом вперед от того
результата, что был пять лет назад, когда показатели из 22 центров обработки
данных давали среднюю ЭИМ=2,0 , а это означает, что на каждый Ватт, фактически
используемый для вычислительных и сетевых задач, второй Ватт растрачивается на
чиллеры, фары, вентиляторы, насосы, оргтехнику, и т.д.
Хотя другие крупные центры обработки
данных могут похвастаться эффективностью, которая может соперничать с Google,
компания сообщила, их значения ЭИМ, упадут даже ниже этих показателей, когда
новые, более энергоэффективные центры вступят в работу. В настоящее время
компания работает над центром обработки данных в Финляндии, который будет
охлаждать серверы морской водой. Понятно, что сотрудники компании Google не
единственные инженеры, знающие как построить супер-энергоэффективные центры обработки
данных. Инженеры Facebook, в настоящее время работают над этим же вопросом, и
они были готовы показать свои результаты.
Facebook строит свой новый
центр обработки данных, расположенный там, где до недавнего времени был всего
лишь участок леса к востоку от Голубого хребта. Компания поражает огромными
масштабами проекта: 34 000 квадратных метров (370 000 квадратных футов)
Инфраструктура тянется на 340 метров (около 1100 футов). Более того, Facebook
может в один прекрасный день построить три таких монстра на этом месте. Более
ошеломляющим фактором, чем размер этого строения является только скорость, с
которой генеральный подрядчик Facebook, DPR / Fortis, поставил всю эту
громадину из бетона и стали на место, ступив на эту нетронутую землю четыре месяца
назад.
"Я поражен этим", говорит
Том Ферлонг, который руководит операциями центров обработки данных Facebook.
"В первые годы работы Facebook строилось одно здание содержащее серверы
для нескольких компаний, а теперь, компания так выросла, что может себе
позволить собственные центры обработки данных таких масштабов".
Ситуация изменилась в 2008 году,
когда мировую экономику постиг кризис. В то время, большинство серверов
Facebook, были взяты в аренду у центров обработки данных в области залива
Сан-Франциско, где компания продолжает занимать восемь отдельных объектов,
связанных вместе высокоскоростными каналами передачи данных.
Но когда они начали еще больше
расширяться, рассказывает Ферлонг, то обнаружили, что многие проекты по
открытию центров обработки данных были отложены, так как стали жертвами
финансового кризиса. В конечном счете, поиски оказались настолько не успешными,
что в начале 2009 года Facebook решил построить свой центр обработки данных. К
августу Ферлонг и его коллеги остановились на Prineville, штат Орегон, всего в
150 километрах от объекта компании Google в Даллесе. После завершения работы
над центром Prineville, компания объявила о планах на строительство
второго центра в Северной Каролине.
Словно в подтверждение сказанного,
генеральный директор Facebook Марк Цукерберг сообщил, что открытая политика
компании является новой социальной нормой. Инженеры Facebook выпустили
много технических средств, которые, по их мнению, будут иметь ЭИМ= 1,07 или
ниже.
Центр Prineville, который официально
«вышел в сеть» в апреле, заметно отличается от контейнерного подхода Google.
" Вы можете сэкономить деньги благодаря мобильности, но будете ограничены
во многом другом ", говорит Ферлонг. Так серверы Facebook в обычных
стойках, расположенных непосредственно на этаже обработки данных, охлаждаются
потоком воздуха. Джей Пак, директор Facebook, отвечающий за проектирование и
строительство центров обработки данных, объясняет, что они используют
"прямую систему испарительного охлаждения". Туман охлаждает воздух,
что, в свою очередь охлаждает серверы.
Прямая система испарительного
охлаждения хорошо согласуется с общей философией, которой придерживаются
инженеры Facebook. "Наш центр данных в Prineville в основном использует
воздух с улицы", говорит Парк. "Мы фильтруем его, пропускаем его
через систему запотевания, а затем он "ударяет" в центр обработки
данных". Парк может похвастаться тем, что механическая конструкция
настолько проста, что даже не требует воздуховодов, и его вычислительные
расчеты гидродинамики показывают, что она делает свое дело. Объект Facebook в
Северной Каролине, будет иметь аналогичную конфигурацию, хотя он будет
содержать резервные кондиционеры и дополнить систему запотевания для работы в
жаркое время.
Центры обработки данных Facebook,
как и Google, обходятся без централизованного ИБП. Вместо него, одна фаза
трехфазной 480-вольтовой AC направляется непосредственно к серверам, которые
содержат пользовательские блоки питания, использующие 277-вольт переменного
тока. Во время отключения электроэнергии, эта система может также запуститься
от 48 Вольт, поступающих из специально оборудованных шкафов ИБП, установленных
рядом с серверными стойками.
Эта система экономит электроэнергию
и упрощает обслуживание, потому что требует гораздо меньше оборудования.
"В традиционных центрах обработки данных, с общим и отдаленным ИБП, есть
много дополнительных выключателей и соединений ", говорит Ферлонг.
"Перемещение ИБП, ближе к серверу дает гибкость, и позволяет не
приобретать весь этот дополнительный материал".
Гигантские центры обработки данных,
даже энергоэффективные, конечно, ничего не значат без соответствующих серверов.
Facebook будет заполнять свои центры в Орегоне и Северной Каролине специально
разработанными серверами, как уже давно сделали специалисты Google.
Менеджер аппаратного обеспечения
Facebook, Майкл Амир, объясняет - когда компания решила построить свои
собственные средства, "мы должны были начать все с чистого листа",
что позволило ему и его коллегам оптимизировать замыслы их центров и серверов в
тандеме, для достижения максимальной энергоэффективности. Результатом был
сервер, который выглядел как голый каркас. "Я называю это "без
суеты", не люблю людей, которые называют это некрасивым ", говорит
Майкл. "Да, конструкция не имеет передней панели. Не имеет цвета. Не имеет
логотипов или наклеек. Зато она, действительно, имеет только то, что
требуется".
Google также старается свести
количество "оборки" на серверах к минимуму. Как Facebook, он покупает
товар на уровне модели аппаратного обеспечения и просто фиксирует много частей,
вместо приобретения дорогостоящих систем, которые менее склонны к неудаче.
Экономия привела инженеров обеих компаний к аналогичным выводам. Подгонка и
отделка важна, если вы покупаете один сервер или даже сто, но не тогда, когда
вы ходите по магазинам для приобретения десятков тысяч - за один раз. И
стремление к высокой надежности немного бессмысленно в таком масштабе, где
поломка это не только возможный вариант, но и неотъемлемая часть ежедневной
работы.
Майкл объясняет, что он участвовал в
разработке трех основных типов серверов для запуска приложений на Facebook.
Верхний слой аппаратных средств, связанный самым непосредственным образом с
большим количеством пользователей Facebook, состоит из, стоящих снаружи,
веб-серверов. Они не требуют много места на диске - как раз для операционной
системы (Linux), базового программного обеспечения веб - сервера (которым до
недавнего времени был Apache), кода, необходимого для сборки страниц Facebook
(написанного на PHP, скриптовый язык). Эти машины подключены к более глубокому
слою серверов, фаршированных жесткими дисками и съемными твердотельными
накопителями, которые обеспечивают постоянное хранение для гигантских баз
данных MySQL , которые, среди прочего, содержат фотографии, видео, комментарии
и список друзей пользователей Facebook. Между ними находится RAM тяжелых
серверов, которые работают с системой Memcached, чтобы обеспечить быстрый
доступ к наиболее часто используемому содержимому.
Людям, вращающимся в этой сфере,
будет понятно, что эти куски программного обеспечения - Linux, Apache, PHP,
MySQL, Memcached - все имеют открытый доступ к коду. Программисты Facebook,
модифицировали эти и другие пакеты с открытым исходным кодом, чтобы
удовлетворить потребностям компании, но на самом базовом уровне, они делают
именно то, что сделали бесчисленные веб-разработчики: строят свой сайт на
фундаменте с открытым исходным кодом.
У Google иная ситуация. Программисты
написали большую часть, впечатляющего программного обеспечения своей компании,
с нуля, за исключением системы Linux работающей на серверах. Самый видный
Google File System (GFS или, масштабная распределенная файловая система), не
Bigtable (база данных имеет относительно низкую себестоимость), а MapReduce
(который обеспечивает возможность параллельно производить различные виды
вычислений в широком масштабе). Более того, программисты Google, переписали
основной код "поисковика" компании несколько раз.
Два года назад на Второй ACM
Международной конференции по веб-поиску и интеллектуальному анализу данных,
Джефф Дин, сотрудник Google, работающий в системе инфраструктуры компании,
сказал, что на протяжении многих лет его компания сделала семь значительных
изменений в том, как она реализует веб-поиск. Тем не менее, аутсайдеры не
понимают, что подверглось редактированию, поскольку, как пояснил Дин, "вы
можете заменить всю заднюю часть и сидящий спереди ничего не заметит ".
Как мы должны интерпретировать
разницу между Google и Facebook в отношении использования открытого кода? Часть
ответа проста, Google, начав свой путь раньше, не имел другого выбора, кроме
как развивать свое собственное программное обеспечение, потому что альтернативы
с открытым исходным кодом еще не были доступны. Но Стив Лейси, который работал
в качестве инженера-программиста для Google с 2005 по 2010, думает иначе. В
недавнем сообщении в своем блоге, он утверждает, что Google просто страдает от
тяжелого случая синдрома "не изобретено ЗДЕСЬ ". Многие программные
пакеты с открытым исходным кодом "пристыдили инфраструктуру Google,
когда речь идет о простоте использования и направленности продукта ",
пишет Лейси. " Тем не менее, инженерам Google не рекомендуется
использовать эти системы, до такой степени, что их отчитывали за одну мысль об
использовании чего-то кроме Bigtable / ключ и GFS / Colossus на работе".
Возьмите поиск Google, точнее
функцию мгновенного поиска, которую компания представила в сентябре прошлого
года. Только вы начинаете вводить первые буквы в поисковом запросе, Google
сразу предлагает страницу, основанную на результатах того, что вы собираетесь
печатать, как он предполагает. Таким образом, даже для простого запроса,
несколько процессов должны идти параллельно. Сделали бы Google такое
нововведение, если бы ее инженеры имели какие-то сомнения по поводу
возможностей своих систем, чтобы попасть в неудобную ситуацию?
Точно так же, Facebook, безусловно,
может контролировать то, как много программных ресурсов необходимо
пользователям его системы. По состоянию на прошлый год, например, пользователи
Facebook загрузил 50 000 000 000 картинок на сайт. И все же, несмотря на
огромное количество трафика, все эти изображения были загружены, и Facebook
периодически увеличивал качество загружаемых изображений. Это происходило бы,
если бы инженеры чувствовали, что их вычислительной инфраструктуры на это не
хватит?
Я хочу сказать, что ни Google, ни
Facebook, скорее всего, не дадут сбой в расширении своих систем, чтобы
удовлетворить вечно растущий спрос. Конечно будут сбои и ошибки время от
времени, но кажется маловероятным, что компания будет страдать от долгосрочного
отсутствия модернизации, так как они, в основном, формируют нашу онлайн жизнь.
Вопрос только в том, как быстро им придется строить новые центры обработки
данных, и какие новые виды энергосберегающих технологий эти центры будут
содержать. Но одно мы знаем точно: их серверы всегда будет некрасивые.
Литература:
1. Вестник компьютерных и информационных
технологий [Электронный ресурс] . URL: http://www.vkit.ru (дата обращения:
22.03.2014).
2. Хабрахабр
[Электронный ресурс] . URL: http://habrahabr.ru (дата обращения: 23.03.2014).
3. IT-технологии
[Электронный ресурс] . URL: http://digit.ru/it (дата обращения: 23.03.2014).
4. Google
[Электронный ресурс] . URL: http://google.ru (дата обращения: 23.03.2014).
5. Facebook
[Электронный ресурс] . URL: http://facebook.com (дата обращения: 23.03.2014).