О поисковой системе bing и хороших программистах
TRANSCRIPT
О Бинге и о хороших программистахЕгор Кишилов
О Бинге01
Сначала это был MSN Search (2003-2006), потом Windows Live Search/Live Search (2006-2009).
В итоге переименовали в Бинг (2009).
О Бинге
“Бингом вообще кто-то пользуется?!” - кого ни спроси
22% всех запросов с PC в США сделаны на Бинге.В 2009 году это число было около 8%.
Если считать траффик Yahoo!, AOL и других партнёров, то больше трети запросов будут идти через Бинг.
О Бинге
О борьбе с конурентами02
Как бороться с конкурентом, у которого 80% доля рынка и ваша доля падает?
О конкурентах
1.Нанимайте умных людей2.Grind3.Измеряйте свой прогресс
* Каждая команда имеет свою метрику(и), которые они улучшают и которые привязаны к общим бизнес показателям (выручка, доля рынка, пользователи, и т.д.)
* Как только в метрике вы обходите конкурента, найдите новую метрику, в которой вы проигрываете.
* В метрику часто инвестируется времени и ресурсов сравнимо с разработкой самой системы.
О метриках
Об эволюции архитектуры03
Начинается всё как всегда с одного большого .ехе, который делает всё
- Выбор веб-документов- Кроулинг- Парсер- Классификаторы- Создание индекс файлов
Об архитектуре
Это перестаёт работать, когда отдельные подсистемы усложняются и над всем трудится > 100 разработчиков.
Наша траектория эволюции:1. Единый мега-ехе.2. Несколько мега-ехе, которые обмениваются большими файлами.3. Добавляются RPC протоколы и low-latency key-value stores.
Об архитектуре
О С++ в Бинге и Майкрософте 04
О С++ в Бинге
Изначально почти всё было на С/C++ (.NET только появился).
Постепенно C# вытеснил С++ в Бинге. С++ остался в системах, где нужна скорость или нежная работа с памятью.
Некоторые из причин, по которым команды перешли:1. Программисты дороже, чем серверы.2. На .NET можно создавать массивные low-latency системы
(доказано на практике).3. На .NET легче сделать систему, над которой работает 700
разработчиков и она выкатывается в продакшен 3 раза в день.4. Время сборки проекта.
Вкратце: Было плохо. Стало лучше.
Около 2008-2009 годов почти не было инвестиций. МС С++ компилятор как вы сами знаете был дохлый.
Где-то в 2010-2011 стало всё ощутимо лучше. Herb Sutter получил поддержку от начальства и понеслось: конференции, активное участие в стандартизации, улучшения компилятора и линкера, больше open source.
О С++ в Майкрософте
О Bond
Для нужд Бинга был создана Bond библиотека для работы с схематизированными данными.
Аналоги: Google Protobuf, Apache Thrift.
Доступен на Github: https://github.com/Microsoft/bond
О Bond
О Bond
О хороших программистах05
“Ты знаком с хорошим программистом, пока не поработаешь с ним/ней и не увидишь его/её код” - Егор К.
Хороший программист достигает результата.
Хорошему программисту не стыдно передать код коллеге.
О хороших программистах