Почему 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

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

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

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

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

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

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

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

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

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

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

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