44

Martin Simecek, Microsoft

Embed Size (px)

Citation preview

Page 1: Martin Simecek, Microsoft
Page 2: Martin Simecek, Microsoft

Microsoft and Gaming

in the cloud

open-source

&

Page 3: Martin Simecek, Microsoft

Top contributor

on GitHub

16,419

15,682

14,059

12,841

12,140

Page 4: Martin Simecek, Microsoft

Microsoft joined

Page 5: Martin Simecek, Microsoft

Microsoft‘s cloud is an open cloud

Page 6: Martin Simecek, Microsoft

What is Microsoft Azure?

Page 7: Martin Simecek, Microsoft

Do you know ?

Page 8: Martin Simecek, Microsoft

Platform Services

Security & Management

Infrastructure Services

Web Apps

MobileApps

APIManagement

APIApps

LogicApps

NotificationHubs

Content DeliveryNetwork (CDN)

MediaServices

HDInsight MachineLearning

StreamAnalytics

DataFactory

EventHubs

MobileEngagement

ActiveDirectory

Multi-FactorAuthentication

Automation

Portal

Key Vault

BiztalkServices

HybridConnections

ServiceBus

StorageQueues

Store /Marketplace

HybridOperations

Backup

StorSimple

SiteRecovery

Import/Export

SQLDatabase

DocumentDB

RedisCache Search

Tables

SQL DataWarehouse

Azure AD Connect Health

AD PrivilegedIdentity Management

OperationalInsights

CloudServices

Batch Remote App

ServiceFabric Visual Studio

ApplicationInsights

Azure SDK

Team Project

VM Image Gallery& VM Depot

Page 9: Martin Simecek, Microsoft

Let‘s see some of the pieces

Page 10: Martin Simecek, Microsoft

Marketplace: Add more channels

How about offering your game servers for anyone to host themselves?

Page 11: Martin Simecek, Microsoft

Azure Marketplace

Page 12: Martin Simecek, Microsoft

Game Backend

How about having my backend hosted for me?How about not caring about the infrastructure?

Page 13: Martin Simecek, Microsoft

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

Page 14: Martin Simecek, Microsoft
Page 15: Martin Simecek, Microsoft

Manage global expansion

How about launching globally?How about making sure that players around the world have the best latency?

Page 16: Martin Simecek, Microsoft

Global Reach

https://azure.microsoft.com/en-us/regions/

Page 17: Martin Simecek, Microsoft

www.yourgame.com

Page 18: Martin Simecek, Microsoft

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

Page 19: Martin Simecek, Microsoft

Cope with spikes and growth

How about being able to handle sudden spikes in demand?How about growing fast?

Page 20: Martin Simecek, Microsoft

t

Unpredictable loadC

om

pu

te

t

Predictable load

Co

mp

ute

t

PopularityPeople start to enjoy your game

Co

mp

ute

Page 21: Martin Simecek, Microsoft

Realtime Multiplayer

Traffic Manager

MongoDB Database

Redis Cache

Custom Auto-scaling

Load-balancing (endpoints)

App Services + CDN

Microsoft Azure

Page 22: Martin Simecek, Microsoft

Divide & Conquer (Microservices)

How about having an architecture that scales infinitely?How about worrying only about your game‘s logic and not the platform?

Page 23: Martin Simecek, Microsoft

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/

Page 24: Martin Simecek, Microsoft

• 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

Page 25: Martin Simecek, Microsoft

Distribute everywhere

How about having your content fully under your control?How about not having to worry about storage capacity?

Page 26: Martin Simecek, Microsoft

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

Page 27: Martin Simecek, Microsoft

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

WarehouseElastic data

warehouse as a

service

Use on Windows & Linux VMs

Azure SearchCloud indexing and

instant search

Page 28: Martin Simecek, Microsoft

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/

Page 29: Martin Simecek, Microsoft

Storage / CDN

Page 30: Martin Simecek, Microsoft

Azure CDN

Page 31: Martin Simecek, Microsoft

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?

Page 32: Martin Simecek, Microsoft

Game Streaming

Page 33: Martin Simecek, Microsoft

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

NetworkAzure

Network

Azure

Network

Azure

NetworkInfiniBand

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

NetworkAzure

Network

Azure

Network

Azure

Network

Page 34: Martin Simecek, Microsoft

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

Page 35: Martin Simecek, Microsoft

3D Rendering at Scale

Admin/Ops Portal

Modelling Software

upload inputs

submit job

Return Output

REST A

PI

Manage digital assets

Split Job in frames

Azure Batch

Usage & Telemetry

Job Monitoring & Management

Usage ReportingGovernance

(inc chargebacks)

VM

RendererEXE

VM

RendererEXE

VM

RendererEXE

Integrated Client Plugin

Maya/3DS Max

Renderers – Arnold, Mental Ray, V-Ray…. executables

Page 36: Martin Simecek, Microsoft

Understand playersModerate content

I need to build game mechanics based on emotions on player’s faceI need to build game mechanics based on player ‘s voice

I need to keep my forums clean

Page 37: Martin Simecek, Microsoft

Uber Driver Selfies

https://blogs.microsoft.com/transform/feature/how-uber-is-using-driver-selfies-to-enhance-security-powered-by-microsoft-cognitive-services

Page 38: Martin Simecek, Microsoft

Microsoft Cognitive Services

Page 39: Martin Simecek, Microsoft

Starship Commander is Controlled by Voice

Page 40: Martin Simecek, Microsoft

Content Moderator

Page 41: Martin Simecek, Microsoft

Text Analysis

Page 42: Martin Simecek, Microsoft

MMOG

Page 43: Martin Simecek, Microsoft

Cloud Scenarios for Gaming

Page 44: Martin Simecek, Microsoft