Как Microsoft ловит читеров в Xbox Live при помощи Hadoop
Известно, что облачный сервис Azure обладает невероятными мощностями: в Microsoft не раз рассказывали об огромных дата-центрах по всему миру. Не удивительно, что в компании не стесняются использовать его для любых нужд, и зачастую возможность хранить и анализировать большие объёмы данных оказывается чрезвычайно полезной. Один из интересных примеров связан с сервисом Xbox Live, который позволяет владельцам приставок Xbox играть друг с другом через интернет.
Впереди других разработчиков здесь оказалась студия, отвечающая за подготовку знаменитого многопользовательского шутера Halo. В ходе создания и тестирования третьей части игры ещё в 2007 году в Microsoft Labs активно использовали анализ данных. Но последняя часть Halo, за номером 4, особенно выиграла от «больших данных» — по крайней мере так утверждают в Microsoft.

Большим шагом вперёд для разработчиков игры стала возможность использовать Hadoop на мощностях Azure. Hadoop — это очень популярный фреймворк, который реализует алгоритм Map/Reduce и позволяет распределять обработку и хранение больших массивов данных. Сервис Azure, дающий доступ к Hadoop, называется HDInsight Service.
Использовать HDInsight Service студия 343 Industries, ответственная за Halo,
В процессе эксплуатации новой системы выяснились и другие её полезные свойства. В частности, Hadoop не просто хранит данные, но помогает в их организации, а это напрямую ведёт к упрощению сбора статистики. Ещё один плюс — возможность анализировать данные прямо на ходу.
Изменение скорости получения отклика не могло не повлиять на процесс сбора данных, а он, в свою очередь, повлиял на процесс разработки. Авторы игры получили возможность реагировать на изменяющиеся условия в кратчайшие сроки. Так, аномалия, найденная в статистике игр в Halo 4, помогла обнаружить и быстро исправить серьёзный баг, которым пользовались нечестные игроки. Выяснилось, что они отыскали возможность делать голову своих бойцов прозрачной (не только в плане видимости — но и в плане соприкосновения с другими предметами). Несложно себе представить, какие это давало преимущества на поле боя.
Возможность непрерывно анализировать информацию и быстро вносить изменения ещё окажет влияние и на подход к разработке многопользовательских компьютерных игр, и на сам киберспорт. Но в Microsoft на примере игры лишь иллюстрируют достоинства сервиса — в первую очередь благодаря наглядности и впечатляющим масштабам этого случая. На самом же деле характерным применением HDInsight будет скорее бизнес-аналитика, чем игры. Именно ради неё всё и затевалось.
В Microsoft особо отмечают, что возможности HDInsight легко задействовать прямо из Excel или SharePoint. Пользователям предлагается сначала смоделировать работу с информацией на небольшой выборке, а затем применить те же правила к огромной базе данных, расположенной в Azure.

Сервис Azure HDInsight
Выбор Microsoft в пользу Hadoop можно было бы назвать вполне естественным, если бы не тот факт, что это свободное ПО, поддерживаемое сообществом Apache и распространяющееся по одноимённой лицензии. В Microsoft традиционно предпочитают собственные технологии открытым, и исключение, сделанное для Hadoop, — не совсем типичный случай. Примечательно, что в Microsoft не только используют Hadoop, но и помогают в разработке фреймворка. Другой пример такого сотрудничества Microsoft с сообществом свободного ПО — это работа над виртуальной машиной Xen, но там сотрудники компании вносят свой вклад в непосредственно связанную с Microsoft часть — виртуализацию Windows.
«Сообщество разработчиков Hadoop непрерывно расширяет границы возможного, и мы рады вносить ценный вклад в общее дело», — пишет в официальном блоге Microsoft Квентин Кларк, вице-президент подразделения Data Platform Group.