Microsoft and Gaming
in the cloud
open-source
&
Top contributor
on GitHub
16,419
15,682
14,059
12,841
12,140
Microsoft joined
Microsoft‘s cloud is an open cloud
What is Microsoft Azure?
Do you know ?
Platform Services
Security &
Management
Infrastructure Services
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
Let‘s see some of the pieces
Marketplace: Add more channels
How about offering your game servers for anyone to host themselves?
Azure Marketplace
Game Backend
How about having my backend hosted for me?
How about not caring about the infrastructure?
Balance of
responsibility
Balance of control and responsibility
depends on the category of the service
MOVE-IN READY
Use immediately with minimal configuration
SOME ASSEMBLY REQUIRED
Existing services are a starting point, with additional
configuration for a custom fit
BUILD FROM THE GROUND UP
Building blocks, create your own solution or apps
from scratch
Responsibility On-Prem IaaS PaaS SaaS
Applications
Data
Runtime
Middleware
O/S
Virtualization
Servers
Storage
Networking
MicrosoftCustomer
Manage global expansion
How about launching globally?
How about making sure that players around the world have the best
latency?
Global Reach
https://azure.microsoft.com/en-us/regions/
www.yourgame.com
185М+INSTALLS
Common cloud back-end for games on
Windows, Android and iOS
Connected Gameplay
https://blogs.windows.com/buildingapps/2015/02/27/mobile-game-studio-reaches-more-than-160-million-
downloads-on-more-platforms-with-microsoft-azure-generates-10-million
Cope with spikes and growth
How about being able to handle sudden spikes in demand?
How about growing fast?
t
Unpredictable load
Compute
t
Predictable load
Compute
t
Popularity
People start to enjoy your game
Compute
Realtime Multiplayer
Traffic Manager
MongoDB Database
Redis Cache
Custom Auto-scaling
Load-balancing (endpoints)
App Services + CDN
Microsoft Azure
Divide & Conquer (Microservices)
How about having an architecture that scales infinitely?
How about worrying only about your game‘s logic and not the platform?
Platform as a Service (PaaS)
Microservices
Azure Service Fabric
ASP.NET
Microsoft Azure Traffic Manager
Azure Content Delivery Network (CDN)
https://channel9.msdn.com/Shows/Azure-Friday/Age-of-Ascent-from-Illyriad-Powered-by-Azure-Service-Fabric-
and-ASPNET
https://blogs.msdn.microsoft.com/johnshews_blog/2014/11/04/building-a-massively-multiplayer-game-on-
microsoft-azure/
• Scales by cloning the app on
multiple servers/VMs/Containers
Monolithic application approach Microservices application approach
• A microservice application
separates functionality
into separate smaller
services.
• Scales out by deploying each service
independently creating instances of these
services across servers/VMs/containers
• A monolith app contains
domain specific functionality
and is normally divided by
functional layers such as web,
business and data
App 1 App 2App 1
Distribute everywhere
How about having your content fully under your control?
How about not having to worry about storage capacity?
Blobs:
• Activity Feed
• Game DVR
• Leaderboards
• Player Stats
• Saved Games
• Social Graph
• Thunderhead
Xbox and Azure Storage
Tables:
• Achievements
• Comments
• Friends
• Matchmaking
• Multiplayer
• Push Notifications
• Security (AuthN/AuthZ)
One of the earliest
and largest users of
the Azure platform
Many different
services – Xbox Live,
Xbox Game DVR,
Xbox Music
https://customers.microsoft.com/en-us/story/xbox-improves-services-and-delivery-speed-by-playing-g
https://customers.microsoft.com/en-us/story/xbox-one-game-dvr-uses-the-cloud-to-scale-store-and-di
Azure Storage Services
Queues
“Reliable messaging
at scale for cloud
services”
Data Lake
“Big Data analytics
with HDFS
interface”
Service Bus
“Reliable cloud
messaging as a
service”
DocumentDB
“Managed NoSQL
document store
with MongoDB API”
Azure SQL DB
“Managed
Relational SQL
databases”
Redis cache
“High throughput,
consistent low-
latency data access”
SQL Data
Warehouse
Elastic data
warehouse as a
service
Use on Windows & Linux VMs
Azure Search
Cloud indexing and
instant search
Next Games chose Azure
DocumentDB for the persistence
layer of its popular game.
It provides:
• Elastic scalability for millions of users
• Key-value lookups and filtering by properties
• Flexible schema to support social features
• Intra-collection sorting for leaderboard scores
• Single- and multi-partition queries
The Walking Dead: No Man’s Land
https://azure.microsoft.com/en-us/blog/the-walking-dead-no-mans-land-game-soars-to-1-with-azure-documentdb/
Storage / CDN
Azure CDN
GPU power for rendering and
streaming
How about you could render your scenes and assets efectively?
How about you offered your game without the need to download it?
Game Streaming
NC6 NC12 NC24 NC24r
Cores 6 12 24 24
GPU
1 K80 GPU
(1/2
Physical
Card)
2 K80 GPUs
(1 Physical
Card)
4 K80 GPUs
(2 Physical
Cards)
4 K80 GPUs
(2 Physical
Cards)
Memory 56 GB 112 GB 224 GB 224 GB
Disk
~380 GB
SSD
~680 GB
SSD
~1.5 TB
SSD
~1.5 TB
SSD
Network
Azure
Network
Azure
Network
Azure
Network
InfiniBand
NV6 NV12 NV24
Cores 6 12 24
GPU
1 M60 GPU
(1/2 Physical
Card)
2 M60 GPUs
(1 Physical
Card)
4 M60 GPUs
(2 Physical
Cards)
Memory 56 GB 112 GB 224 GB
Disk ~380 GB SSD ~680 GB SSD ~1.5 TB SSD
Network
Azure
Network
Azure
Network
Azure
Network
Generating high resolution 3D meshes and
textures based on photographic data:
• Large hall in Chernobyl (scan with 10k
pictures) - one of the largest and most
accurate 3D scans created
• Areas of Pripyat - from the drone
• Apartments in Pripyat
• Sarcophagus of the reactor of nuclear power
plant in Chernobyl
Calculation of lighting for games
3D Rendering at Scale
Admin/Ops Portal
Modelling Software
upload inputs
submit job
Return Output
RESTAPI
Manage digital assets
Split Job in frames
Azure Batch
Usage & Telemetry
Job Monitoring &
Management
Usage Reporting
Governance
(inc chargebacks)
VM
Renderer
EXE
VM
Renderer
EXE
VM
Renderer
EXE
Integrated Client Plugin
Maya/3DS Max
Renderers – Arnold,
Mental Ray, V-Ray….
executables
Understand players
Moderate content
I need to build game mechanics based on emotions on player’s face
I need to build game mechanics based on player‘s voice
I need to keep my forums clean
Uber Driver Selfies
https://blogs.microsoft.com/transform/feature/how-uber-is-using-driver-selfies-to-enhance-security-powered-by-microsoft-cognitive-services
Microsoft Cognitive Services
Starship Commander is Controlled by Voice
Content Moderator
Text Analysis
MMOG
Cloud Scenarios for Gaming
Martin Simecek, Microsoft

Martin Simecek, Microsoft

  • 2.
    Microsoft and Gaming inthe cloud open-source &
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
    Platform Services Security & Management InfrastructureServices 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
  • 9.
    Let‘s see someof the pieces
  • 10.
    Marketplace: Add morechannels How about offering your game servers for anyone to host themselves?
  • 11.
  • 12.
    Game Backend How abouthaving my backend hosted for me? How about not caring about the infrastructure?
  • 13.
    Balance of responsibility Balance ofcontrol and responsibility depends on the category of the service MOVE-IN READY Use immediately with minimal configuration SOME ASSEMBLY REQUIRED Existing services are a starting point, with additional configuration for a custom fit BUILD FROM THE GROUND UP Building blocks, create your own solution or apps from scratch Responsibility On-Prem IaaS PaaS SaaS Applications Data Runtime Middleware O/S Virtualization Servers Storage Networking MicrosoftCustomer
  • 15.
    Manage global expansion Howabout launching globally? How about making sure that players around the world have the best latency?
  • 16.
  • 17.
  • 18.
    185М+INSTALLS Common cloud back-endfor games on Windows, Android and iOS Connected Gameplay https://blogs.windows.com/buildingapps/2015/02/27/mobile-game-studio-reaches-more-than-160-million- downloads-on-more-platforms-with-microsoft-azure-generates-10-million
  • 19.
    Cope with spikesand growth How about being able to handle sudden spikes in demand? How about growing fast?
  • 20.
  • 21.
    Realtime Multiplayer Traffic Manager MongoDBDatabase Redis Cache Custom Auto-scaling Load-balancing (endpoints) App Services + CDN Microsoft Azure
  • 22.
    Divide & Conquer(Microservices) How about having an architecture that scales infinitely? How about worrying only about your game‘s logic and not the platform?
  • 23.
    Platform as aService (PaaS) Microservices Azure Service Fabric ASP.NET Microsoft Azure Traffic Manager Azure Content Delivery Network (CDN) https://channel9.msdn.com/Shows/Azure-Friday/Age-of-Ascent-from-Illyriad-Powered-by-Azure-Service-Fabric- and-ASPNET https://blogs.msdn.microsoft.com/johnshews_blog/2014/11/04/building-a-massively-multiplayer-game-on- microsoft-azure/
  • 24.
    • Scales bycloning the app on multiple servers/VMs/Containers Monolithic application approach Microservices application approach • A microservice application separates functionality into separate smaller services. • Scales out by deploying each service independently creating instances of these services across servers/VMs/containers • A monolith app contains domain specific functionality and is normally divided by functional layers such as web, business and data App 1 App 2App 1
  • 25.
    Distribute everywhere How abouthaving your content fully under your control? How about not having to worry about storage capacity?
  • 26.
    Blobs: • Activity Feed •Game DVR • Leaderboards • Player Stats • Saved Games • Social Graph • Thunderhead Xbox and Azure Storage Tables: • Achievements • Comments • Friends • Matchmaking • Multiplayer • Push Notifications • Security (AuthN/AuthZ) One of the earliest and largest users of the Azure platform Many different services – Xbox Live, Xbox Game DVR, Xbox Music https://customers.microsoft.com/en-us/story/xbox-improves-services-and-delivery-speed-by-playing-g https://customers.microsoft.com/en-us/story/xbox-one-game-dvr-uses-the-cloud-to-scale-store-and-di
  • 27.
    Azure Storage Services Queues “Reliablemessaging at scale for cloud services” Data Lake “Big Data analytics with HDFS interface” Service Bus “Reliable cloud messaging as a service” DocumentDB “Managed NoSQL document store with MongoDB API” Azure SQL DB “Managed Relational SQL databases” Redis cache “High throughput, consistent low- latency data access” SQL Data Warehouse Elastic data warehouse as a service Use on Windows & Linux VMs Azure Search Cloud indexing and instant search
  • 28.
    Next Games choseAzure DocumentDB for the persistence layer of its popular game. It provides: • Elastic scalability for millions of users • Key-value lookups and filtering by properties • Flexible schema to support social features • Intra-collection sorting for leaderboard scores • Single- and multi-partition queries The Walking Dead: No Man’s Land https://azure.microsoft.com/en-us/blog/the-walking-dead-no-mans-land-game-soars-to-1-with-azure-documentdb/
  • 29.
  • 30.
  • 31.
    GPU power forrendering and streaming How about you could render your scenes and assets efectively? How about you offered your game without the need to download it?
  • 32.
  • 33.
    NC6 NC12 NC24NC24r Cores 6 12 24 24 GPU 1 K80 GPU (1/2 Physical Card) 2 K80 GPUs (1 Physical Card) 4 K80 GPUs (2 Physical Cards) 4 K80 GPUs (2 Physical Cards) Memory 56 GB 112 GB 224 GB 224 GB Disk ~380 GB SSD ~680 GB SSD ~1.5 TB SSD ~1.5 TB SSD Network Azure Network Azure Network Azure Network InfiniBand NV6 NV12 NV24 Cores 6 12 24 GPU 1 M60 GPU (1/2 Physical Card) 2 M60 GPUs (1 Physical Card) 4 M60 GPUs (2 Physical Cards) Memory 56 GB 112 GB 224 GB Disk ~380 GB SSD ~680 GB SSD ~1.5 TB SSD Network Azure Network Azure Network Azure Network
  • 34.
    Generating high resolution3D meshes and textures based on photographic data: • Large hall in Chernobyl (scan with 10k pictures) - one of the largest and most accurate 3D scans created • Areas of Pripyat - from the drone • Apartments in Pripyat • Sarcophagus of the reactor of nuclear power plant in Chernobyl Calculation of lighting for games
  • 35.
    3D Rendering atScale Admin/Ops Portal Modelling Software upload inputs submit job Return Output RESTAPI Manage digital assets Split Job in frames Azure Batch Usage & Telemetry Job Monitoring & Management Usage Reporting Governance (inc chargebacks) VM Renderer EXE VM Renderer EXE VM Renderer EXE Integrated Client Plugin Maya/3DS Max Renderers – Arnold, Mental Ray, V-Ray…. executables
  • 36.
    Understand players Moderate content Ineed to build game mechanics based on emotions on player’s face I need to build game mechanics based on player‘s voice I need to keep my forums clean
  • 37.
  • 38.
  • 39.
    Starship Commander isControlled by Voice
  • 40.
  • 41.
  • 42.
  • 43.