Почему Google одержала верх над Yahoo — на примере решения одной проблемы Статьи редакции

Бывший разработчик Google о противостоянии ИТ-гигантов

Бывший разработчик Google Мохит Арон написал для Techcrunch колонку, в которой рассказал о том, как в начале 2000-х два интернет-гиганта сражались за долю на рынке и искали решение для быстро масштабирования бизнеса. По мнению Арона, Yahoo пошла по неверному пути, отказавшись от создания собственной архитектуры, и в итоге попала в тупиковую ситуацию.

«Вероятно, компания Yahoo переживает свои последние дни как самостоятельный бизнес. Хотя десятилетие назад компания наступала на пятки Google — ныне одной из самых дорогих компаний мира», — пишет разработчик.

По словам Мохита Арона, больше десяти лет назад он пришел в Google, чтобы заниматься разработкой файловой системы: «Я начал работать в Google в 2003 году — тогда два интернет-гиганта сражались друг с другом за лидерство на быстрорастущем рынке интернета. Многие факторы повлияли на конечный результат, но один был особенно важен — отличие в подходе к базовой архитектуре».

Google и Yahoo пошли разными путями, когда бизнес требовал быстрого масштабирования, рассказывает Арон. Yahoo нашла решение в готовой системе NetApp — она позволяла быстро добавлять дополнительное пространство на сервере и, таким образом, масштабировать бизнес. В итоге каждый сервис, который запускала Yahoo, работал на базе NetApp и компания стала крупнейшим поставщиком ИТ-гиганта.

В это время в Маунтин-Вью Google начала разработку своей собственной файловой системы — Google File Systems. Она проектировалась как платформа, которая подходит для всех сервисов компании и должна была стать частью экосистемы Google.

Вместо того, чтобы использовать новейшие системы хранения в качестве основы бизнеса, Google File System использовала простые серверы для поддержки гибкой и устойчивой архитектуры. Решение должно было решить вопросы масштабируемости и отказоустойчивости раз и навсегда, упростить и ускорить будущее развертывание веб-приложений: от карт до облачных систем.

— Мохит Арон

Потребовалось четыре года для того, чтобы внедрить файловую систему Google во все важные операции. К этому времени казалось, что Yahoo ушла далеко вперед в масштабировании своих сервисов, пишет разработчик.

Однако вскоре быстрое развитие Yahoo начало давать трещины. Так как спрос продолжал расти, компании приходилось тратить всё больше и больше ресурсов на инженерно-технические работы по поддержанию инфраструктуры. Кроме того, добавление новых сервисов требовало дополнительных затрат на адаптацию NetApp.

В итоге, идентичные проблемы для двух сервисов — например, поиск Yahoo и почтовый сервис Yahoo — требовали разных решений, так как они работали на разной инфраструктуре.

Google же могла использовать общую архитектуру для всех своих сервисов. Например, после покупки Youtube, руководство могло просто сказать «Уберите свой backend и используйте нашу платформу». Инженерам достаточно было обновить архитектуру один раз, чтобы она обновилась для всех сервисов Google.

Еще один плюс общего инфраструктурного решения — разделение ресурсов. Если один сервер не занят поиском он, например, может использоваться для обработки почтовых запросов, рассказывает Арон.

Это простая история о важности создания гибкой архитектуры, но я вынес из нее один урок, которые не относится к технологическим проблемам. Нужно полностью разобраться в проблеме, прежде чем приступать к её решению.

— Мохит Арон

Разработчик рекомендует всегда отталкиваться от идеального варианта решения проблемы, а затем пытаться применить его к текущей ситуации. По мнению Арона, это ключевое отличие множества успешных проектов. Например, Facebook полностью самостоятельно проектирует свою инфраструктуру — от серверных стоек до камер слежения в дата-центре.

0
52 комментария
Написать комментарий...
Serge Arsentiev

Я не понял, что такое Google File System (дисковая система или платформа, если последнее, то что именно она включает?), и можно ли купить на нее лицензию и делать кластер серверов для своей системы - ну хотя бы виртуального хостинга, например.

Или она закрытая разработка Google?

Ответить
Развернуть ветку
Валентин

Есть прекрасная фс ceph,она открыта и её очень удобно использовать и масштабировать.

Ответить
Развернуть ветку
Serge Arsentiev

И тем не менее они решили создать и использовать свою, о сколько нам открытий чудных ...

Ответить
Развернуть ветку
Валентин

Так я же не говорил, что гуглу надо её использовать, думаю они могут сделать реализацию ещё удачнее и быстрее. Да и как уже написал Андрей Захаров, тогда ceph'а не было ещё.
Вот для небольших и средних компаний использовать ceph как хранилище - очень хороший вариант.

Ответить
Развернуть ветку
Serge Arsentiev

Ок, попробую что-то узнать о нем.
Но вопрос был в другом - какие еще сюрпризы может скрывать Google, ведь мы же понимаем (учитывая недавний скандал с микро-программами во firmware винчестеров), что это открывает широкое поле для дискуссий ... что происходит с данными пользователей меня больше всего интересует.

Ответить
Развернуть ветку
Praetorian
Ответить
Развернуть ветку
Serge Arsentiev

Ссылок много, поэтому просто спрошу - что именно Вы понимаете под технической реализацией?

Ответить
Развернуть ветку
Praetorian

Конфигурация операционной системы, код, который информацию гоняет туда сюда, пишет на жесткие диски в зависимости от размеров блоков, система реализации райд, восстановление после замены жесткого диска. Это настоящая макроОС и к ее коду допущены единицы людей в самом Гугл. Остальные тысячи программистов юзают его возможности через апи. Вы где нибудь видели точный чертеж атомной бомбы? А эта информация еще дороже, чем схема атомной бомбы.

Ответить
Развернуть ветку
Serge Arsentiev

Про саму операционку написано что начиналась с какой-то версии Linux (если я верно понял), и что Linux с GFS работает через междумордие, не может напрямую (это из статей от Вас).

Далее там описаны какие-то компоненты, существующие как бы в вакууме, но при этом тесно связанные друг с другом. Непонятно, что за компоненты - есть их названия, описания и свойства, но нет сути - что за программы такие волшебные, которые одновременно запускаются на 0.5 млн серверов, и волшебно же, очевидно, тестируются, обновляются все вместе ...

Про атомную бомбу пример не совсем верный - в архивах Гугла этих бомб на любой вкус, только помимо чертежа будет требоваться именно то, за чем гоняется МАГАТЭ по всему миру .. а вот код Гугл версии операционки можно, получается, просто поставить на любой компьютер (ну или почти любой).

Ответить
Развернуть ветку
Praetorian

Схем атомных бомб в сети вагон и тележка, Вы по ним бомбу сможете сделать? Подробных чертежей Вы нигде не найдете

Ответить
Развернуть ветку
Serge Arsentiev

Я о другом. О том что сам по себе подробный чертеж ничего не даст, в этом случае, по причинам, которые я описал выше.

В отличие от сбора сети по схеме - тем более, что у них, по сути, копии всех программ на каждом чанке, а чанки периодически выбывают, их утилизуют ..

Ответить
Развернуть ветку
49 комментариев
Раскрывать всегда