Почему 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 придуман позже.

А два - у поисковика могут быть специфические требования, например к скорости работы при блочном (random) доступе.

Такое не каждая ФС потянет.

Считаю, что разработка под задачу СВОЕГО решения - оправдана, если есть бюджет. Все эти универсальные решения, Линукс в каждой кофемолке/роутере и пр Опен Соурс - только от бедности.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Спасибо за ссылки, прочитал пока первые две.
Чем дальше читаешь, тем больше вопросов - например 3 (три) чанка с одинаковой информацией это с одной стороны достаточная, а с другой - условно достаточное кол-во копий, плюс неясно как физически они бегают-заменяют чанки в случае _массовых_ отказов мини-серверов своих.
Как меняют эти 12V батарейки в десятках тысяч мини-серверов (батарейки с ограниченным сроком службы)

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

Так сейчас они такие ненадежные сервера не используют. Это раньше, когда на этапе роста денег было скудно

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

Зачем физически менять чанк, если 1) присоединяем гиперлинком контейнер чанков к цоду 2) ЛОГИЧЕСКИ коннектим новый свободный чанк вместо испорченного. Физически чанки могут быть в калифорнии миннесоте и сиэтле, а тасовать все можно на лету. Вернее никто этого не делает, система сама все делает, что там в этих дебрях из 300 тысяч серверов происходит никто не знает, да и не надо это- работает и ладно. Почувствуйте мощь! Яху это молокососы по сравнению с Гугл

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

Только - 0.5 млн серверов (как написано в статьях).

Чисто технически сложно представить себе 500 000 единиц идентичных аппаратных устройств, к которым, очевидно ежемесячно добавляются новые на замену старых и просто.

Кто-то должен быть поставщиком всего этого счастья, интегрированным в Гугл.

Я напрочь не понял (честно) описания приемов типизации (поиска похожих элементов неструктурированных данных), только вижу воочию, что работают они ПЛОХО для jpeg, например (найти похожие картинки часто дает ничего или не то). Приблизительно также плохо JPEG жмет Winrar - т.е. алгоритмы наверное не очень отличаются от старого доброго ZIP архивирования (я упрощаю, конечно, но просто для понимания важно)

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

Дочитал все. Спс.

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

Я и раньше замечал что Гугл очень строг в этом смысле к русским запросам "красивый <> прекрасный <> красивенький", теперь понял почему.

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

Размер рекламного рынка, а не язык. Если бы Гугл всерьез взялся за русский язык, технически уже через полгода Яндекс сосал бы лапу

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

Я работал с иностранцами в не самые благополучные годы для нашей страны - и они всегда говорили о потенциале рынка в 140 млн.,
потом, правда многие перебрались в Китай - где добиться успеха как посредникам при инвестициях для них оказалось проще.

Кроме рекламного рынка, есть еще масса всяких других - рынок корп. электронной почты (на который в России Гугл не обращает внимания, привычно кидая в спам почту от mail.ru/yandex/rambler _уже лет 5 как_ и периодически возвращая Technical problem на попытку отправки почты на группу пользователей (она же - лист).

Прежняя (не знаю как сейчас) цена в $50 за ящик пользователя в год - на редкость бестолковая, не подходящая ни для маленьких компаний на 10 чел, ни для, тем более 40-50.

Они хорошо делают технологические задачи. Как только касается удобства человека - к сожалению все очень плохо.

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

В англоязычной среде - возможно это воспринимается иначе, и действительно можно найти Order Pizza now и даже сделать это полу-автоматически или даже автоматически "Repeat last order"

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

Рынок надо оценивать не в количестве людей, а в их деньгах

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

Карим, не согласен - именно в количестве людей и надо оценивать.

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

Ну, как международных ... англо-американских :)

Сегодня на наши 140 млн один доход в долларах, завтра - другой, послезавтра - третий, а хлеб, телевизоры, автомобили и прочее люди продолают покупать и покупать - чуть меньше или чуть больше, но не столько, сколько например Финляндия из 5 млн. человек.

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

Сколько из этих 140 млн готовы тратить ОНЛАЙН? Остальное Гуглу не важно.

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

см. Китай, смартфоны, приучение людей к тому, что любая покупка, оплаченная мобильным (вирт. кошельком на мобильнике) или через интернет-заказ - выгоднее на 5-10%.

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