Alex Belotserkovskiy, Tech Evangelist,
Microsoft Russia
albe@microsoft.com
@ahriman_ru
Why cloud?
Games become services
Approach to delivery the games is changing
As a result, support and maintenance is changing
Monetization is changing constantly and becoming “alive” –
business model of one project constantly adapts to the market
situation
Studios and indie developers get the access to the new markets
Azure
Azure
Security &
Management
Web Apps
Mobile
Apps
API
Management
API
Apps
Logic
Apps
Notification
Hubs
Content Delivery
Network (CDN)
Media
Services
HDInsight Machine
Learning
Stream
Analytics
Data
Factory
Event
Hubs
Mobile
Engagement
Active
Directory
Multi-Factor
Authentication
Automation
Portal
Key Vault
Biztalk
Services
Hybrid
Connections
Service
Bus
Storage
Queues
Store /
Marketplace
Hybrid
Operations
Backup
StorSimple
Site
Recovery
Import/Export
SQL
Database
DocumentDB
Redis
Cache Search Tables
SQL Data
Warehouse Azure AD
Connect Health
AD Privileged
Identity
Management
Operational
Insights
Cloud
Services
Batch Remote App
Service
Fabric
Visual Studio
Application
Insights
Azure SDK
Team Project
VM Image Gallery
& VM Depot
Common development challenges
Case 1: storage
Performance counters data can be collected every second
Mobile app: every user action = new event
Multiplayer: amount of msgs/sec can be >100 000
We need a big, scalable, fast and flexible storage
architecture
Traffic Manager
http://myawesomegame.ru
cloud service
http://us.cloudapp.net
worker roles web roles
cloud service
http://ru.cloudapp.net
worker rolesweb roles
Storage:
Blobs/Tables/SQL
Azure/SQL Server
160М+downloads
$10МRevenue
Cloud backend for games (Windows,
Android, iOS)
Connected Gameplay
JoyBits and Doodle God
Case 2: Multiplayer FPS, load peaks
Microsoft Azure – global coverage
load balancing
http://www.globalfoundationservices.com/
architecture
Traffic Manager
http://myawesomegame.ru
cloud service
http://us.cloudapp.net
worker roles web roles
cloud service
http://ru.cloudapp.net
worker rolesweb roles
Physics cluster Physics cluster
Mastermind cluster
Tables
NoSQL-
“key-value”
storage
Queues
Components
inter-connection
Blobs
Files,
multimedia,
documents,
binary
content
Traffic
Manager
Requests
routing
SQL Azure
SQL Server as
a service
Tables
NoSQL- “key-
value”
storage
Queues
Components
inter-
connection
Blobs
Files,
multimedia,
documents,
binary content
Traffic
Manager
Requests
routing
SQL Azure
SQL Server as a
service
Virtual
Machines
Windows/Linux virtual
machines for heavy
workloads
Azure Mobile Services
Storm Bringer Studios: mobile games
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
Sample architecture
http://game.ru
VM
Blobs
Binary content
SQL Azure
SQL Server as a
service
Virtual Machines
Windows/Linux virtual
machines for heavy
workloads
Web Apps
Admin panel/users
portal
Case 4: predictive analytics and big data
Halo 4 - Hadoop HDInsight for getting
insights from raw data
Insights = which modes are preferred
by gamers; session of the length;
amount of kills, etc
Case 4: predictive analytics and big data
HDInsight
Hadoop
clusters on
demand
ML
As a service
Stream
Analytics
NRT data
streaming
and/or
processing
Data
Factory
Data
transformati
on
Batch
HPC as a
service
Ситуация 5: DevOps
iPhone app does not
work
Slow requests
DB is not
responding Latency
Campaign is not
popular
DevOps & Azure
Deployment
Monitoring and
diagnostics
Development
Xplat CLI Knife-
Azure
Puppet
CLI
Vagrant
-Azure
Infrastructure
management
Release
Management
Application Insights
DSC Extension
Release Management
Powershell
OpInsights
Business Technical
600+ APIs 25+ Modules 18 Native SDKs
Some experience
Cloud-based games is a good approach
But for doing things right sometimes you need to:
optimize the requests lifecycle
optimize the format of the messages
choose right instruments
testing proactively
doing the system loosely coupled
Alex Belotserkovskiy, Tech Evangelist,
Microsoft Russia
albe@microsoft.com
@ahriman_ru
© 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.
The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of
Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Georgia Azure Event - Scalable cloud games using Microsoft Azure

Editor's Notes