Доклад конференции DevCon 2015. Современные игровые приложения трудно представить без онлайн сервисов, в том числе обеспечивающих монетизацию, взаимодействие игроков между собой. Построение инфраструктуры таких сервисов может потребовать значительных вложений. Разумным решением этого вопроса является использование существующих облачных платформ, например, Microsoft Azure. В этом докладе будет рассказано об основных возможностях этой платформы, инструментах разработки, на примерах успешного использования в крупных игровых проектах.
3. Александр Белоцерковский
Эксперт по стратегическим технологиям,
Microsoft
Отказоустойчивые
игры с облаком – как
делают игры на
миллионы
пользователей
4. Предпосылки к облаку
Проблемы в разработке
Игровые ситуации и облако
Хранение и обработка данных
Внутриигровые коммуникации и мультиплеер
Мобильные приложения
Аналитика и большие данные
DevOps
Работа с игровыми проектами в облаке – несколько
замечаний
5. Предпосылки к облаку
Игры становятся сервисами
Меняется подход к поставке игровых проектов
Соответственно, меняется подход к дальнейшей поддержке
Монетизация проекта становится постоянно-живущим
процессом – бизнес-модель в пределах одного проекта
постоянно оттачивается и адаптируется
Игровым студиям открываются новые рынки
8. Ситуация 1: хранение и обработка данных
Счетчики производительности можно собирать каждую секунду
В мобильных приложениях действие пользователя = новое событие
В мультиплеере количество сообщений/сек может превышать сотни тысяч
Нужно большое, быстрое, гибкое хранилище.
18. Azure Mobile Services
Windows Store
iOS
Android
Xamarin
Windows Phone 8
iOS
Android
HTML5/JS
Open Source SDK
Source
Control
Scripting:
table,
scheduled
& custom
API
REST API
Facebook Twitter Microsoft Google
Active
Directory
SQL
Table
Storage
Blob
Storage
WNS & MPNS APNS GCM
Mongo
DB
22. Ситуация 4: предиктивная аналитика и большие
данные
В Halo 4 используется реализация
Hadoop HDInsight для получения
инсайтов из сырых игровых данных
Инсайты – какие режимы
предпочитают игроки, длительность
игры, количество убийств и др.
23. Ситуация 4: предиктивная аналитика и большие
данные
HDInsight
кластеры
Hadoop
в облаке
по запросу
ML
машинное
обучение
быстро
и дешево
Stream
Analytics
аналитика
огромных
потоков
данных в RT
Data
Factory
трансфор-
мирование
потоков
данных
Batch
HPC по
запросу на
тысячи VM
24. Ситуация 5: DevOps
Клиент на iPhone
упал
Запросы тормозят
БД лежит
Пинги большие
Разделом никто
не пользуется
25. DevOps на Azure
Развертывание
Мониторинг и
диагностика
Разработка
Xplat CLI Knife-
Azure
Puppet
CLI
Vagrant
-Azure
Инфраструктура и
скриптование
Release
Management
Application Insights
DSC Extension
Release Management
Powershell
OpInsights
26. Опыт работы с игровыми проектами показал:
Игры в облаке работают, и работают хорошо
Но для того, чтобы игры в облаке работали хорошо, существует
необходимость:
оптимизировать жизненный цикл пользовательского запроса
оптимизировать формат внутренних сообщений
правильно использовать правильные инструменты
активно тестировать
максимально отвязывать компоненты проекта друг от друга
27. Предпосылки к облаку
Проблемы в разработке
Игровые ситуации и облако
Хранение и обработка данных
Внутриигровые коммуникации и мультиплеер
Мобильные приложения
Аналитика и большие данные
DevOps
Работа с игровыми проектами в облаке – несколько
замечаний