Georgia Azure Event - Scalable cloud games using Microsoft Azure
-
Upload
microsoft -
Category
Technology
-
view
790 -
download
0
Transcript of Georgia Azure Event - Scalable cloud games using Microsoft Azure
Scalable cloud games using Microsoft AzureAlex Belotserkovskiy, Tech Evangelist, Microsoft [email protected]@ahriman_ru
AgendaWhy cloud?Common development “how”-sCasesExperience
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
24региона
Инфраструктура
Платформа
Security & Manageme
nt
Compute Storage
Низлежащая инфраструктура в ЦОДах (24 региона)
Web and Mobile
Web Apps
MobileApps
APIManagement
APIApps
LogicApps
NotificationHubs
Media & CDNContent DeliveryNetwork (CDN)
MediaServices
Analytics & IoT
HDInsight MachineLearning Stream
Analytics
DataFactory
EventHubs
MobileEngagement
ActiveDirectory
Multi-FactorAuthentication
Automation
Portal
Key Vault
IntegrationBiztalkServices
HybridConnections
ServiceBus
StorageQueues
Store /Marketplace
HybridOperations
Backup
StorSimple
SiteRecovery
Import/Export
Networking
Data
SQLDatabase
DocumentDB
RedisCache Search Tables
SQL DataWarehouse Azure AD
Connect Health
Virtual Network
ExpressRoute
BLOB Storage
Azure Files
Premium Storage
Virtual Machines
AD PrivilegedIdentity Management
Traffic Manager
Application Gateway
OperationalInsights
ComputeCloudServices
Batch Remote App
ServiceFabric
Developer Services
Visual Studio
ApplicationInsights
Azure SDK
Team Project
Containers
VM Image Gallery& VM Depot
DNS VPN Gateway
Load Balancer
Common development challenges
Companion apps
Storage (game state)
Telemetry and analytics AI
Multiplayer communications
High and extremely highload
Case 1: storage
Performance counters data can be collected every secondMobile app: every user action = new eventMultiplayer: amount of msgs/sec can be >100 000We need a big, scalable, fast and flexible storage
Case 1: storagearchitecture
Traffic Manager
http://myawesomegame.ru
cloud servicehttp://us.cloudapp.net
worker roles web roles
cloud servicehttp://ru.cloudapp.net
worker rolesweb rolesStorage:Blobs/Tables/SQL Azure/SQL Server
• Azure Web Role• Frontend
• Azure Blob• State storage• Metadata
• Azure Queue/Service Bus• Integration component
• SQL Database• Session storage
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 coverageload balancing
http://www.globalfoundationservices.com/
Case 2: Multiplayer FPS, load peaksarchitecture
Traffic Manager
http://myawesomegame.ru
cloud servicehttp://us.cloudapp.net
worker roles web roles
cloud servicehttp://ru.cloudapp.net
worker rolesweb rolesPhysics cluster Physics cluster
Mastermind cluster
Solution components
TablesNoSQL- “key-
value” storage
QueuesComponents
inter-connection
BlobsFiles,
multimedia,
documents, binary content
Traffic Manage
rRequests routing
SQL Azure
SQL Server as a service
Solution components
TablesNoSQL-
“key-value” storage
QueuesComponent
s inter-connection
BlobsFiles,
multimedia, documents,
binary content
Traffic Manag
erRequests routing
SQL Azure
SQL Server as a service
Virtual MachinesWindows/Linux
virtual machines for heavy workloads
Azure Mobile ServicesStorm Bringer Studios: mobile games
Push notifications
Storage
AuthN
Windows Store iOSAndroidXamarin
Windows Phone 8iOSAndroidHTML5/JSOpen Source
SDK
Source Control
Scripting: table,
scheduled &
custom API
REST API
Twitter Microsoft Google
Active Director
y
SQL Table Storage
Blob Storage
WNS & MPNS
APNS GCM
Mongo DB
Case 3: mobile appsSample architecture
http://game.ru
VM
Solution components
BlobsBinary 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
Hadoopclusters on
demand
ML
As a service
Stream Analytic
sNRT data streaming
and/or processing
Data Factory
Data transforma
tion
Batch
HPC as a service
Ситуация 5: DevOps
iPhone app does notwork
Slow requests
DB is notresponding Latency
Campaign is notpopular
DevOps & Azure
Deployment
Monitoring anddiagnostics
Development
Xplat CLI Knife-Azure
Puppet CLI
Vagrant-Azure
Infrastructuremanagement
Release Management
Application Insights
DSC Extension
Release Management
Powershell
OpInsights
Business Technical
600+ APIs 25+ Modules 18 Native SDKs
Some experienceCloud-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
Scalable cloud games using Microsoft AzureAlex Belotserkovskiy, Tech Evangelist, Microsoft [email protected]@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.