georgia azure event - scalable cloud games using microsoft azure

29
Scalable cloud games using Microsoft Azure Alex Belotserkovskiy, Tech Evangelist, Microsoft Russia [email protected] @ahriman_ru

Upload: microsoft

Post on 15-Feb-2017

793 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Georgia Azure Event - Scalable cloud games using Microsoft Azure

Scalable cloud games using Microsoft AzureAlex Belotserkovskiy, Tech Evangelist, Microsoft [email protected]@ahriman_ru

Page 2: Georgia Azure Event - Scalable cloud games using Microsoft Azure

AgendaWhy cloud?Common development “how”-sCasesExperience

Page 3: Georgia Azure Event - Scalable cloud games using Microsoft Azure

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

Page 4: Georgia Azure Event - Scalable cloud games using Microsoft Azure

Azure

Page 5: Georgia Azure Event - Scalable cloud games using Microsoft Azure

Azure

24региона

Page 6: Georgia Azure Event - Scalable cloud games using Microsoft Azure

Инфраструктура

Платформа

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

Page 7: Georgia Azure Event - Scalable cloud games using Microsoft Azure

Common development challenges

Companion apps

Storage (game state)

Telemetry and analytics AI

Multiplayer communications

High and extremely highload

Page 8: Georgia Azure Event - Scalable cloud games using Microsoft Azure

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

Page 9: Georgia Azure Event - Scalable cloud games using Microsoft Azure

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

Page 10: Georgia Azure Event - Scalable cloud games using Microsoft Azure

160М+downloads

$10МRevenue

Cloud backend for games (Windows, Android, iOS)

Connected Gameplay

Page 11: Georgia Azure Event - Scalable cloud games using Microsoft Azure

JoyBits and Doodle God

Page 12: Georgia Azure Event - Scalable cloud games using Microsoft Azure

Case 2: Multiplayer FPS, load peaks

Page 13: Georgia Azure Event - Scalable cloud games using Microsoft Azure

Microsoft Azure – global coverageload balancing

http://www.globalfoundationservices.com/

Page 14: Georgia Azure Event - Scalable cloud games using Microsoft Azure

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

Page 15: Georgia Azure Event - Scalable cloud games using Microsoft Azure

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

Page 16: Georgia Azure Event - Scalable cloud games using Microsoft Azure

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

Page 17: Georgia Azure Event - Scalable cloud games using Microsoft Azure

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

Facebook

Twitter Microsoft Google

Active Director

y

SQL Table Storage

Blob Storage

WNS & MPNS

APNS GCM

Mongo DB

Page 18: Georgia Azure Event - Scalable cloud games using Microsoft Azure

Case 3: mobile appsSample architecture

http://game.ru

VM

Page 19: Georgia Azure Event - Scalable cloud games using Microsoft Azure

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

Page 20: Georgia Azure Event - Scalable cloud games using Microsoft Azure

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

Page 21: Georgia Azure Event - Scalable cloud games using Microsoft Azure

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

Page 22: Georgia Azure Event - Scalable cloud games using Microsoft Azure

Ситуация 5: DevOps

iPhone app does notwork

Slow requests

DB is notresponding Latency

Campaign is notpopular

Page 23: Georgia Azure Event - Scalable cloud games using Microsoft Azure

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

Page 24: Georgia Azure Event - Scalable cloud games using Microsoft Azure
Page 25: Georgia Azure Event - Scalable cloud games using Microsoft Azure
Page 26: Georgia Azure Event - Scalable cloud games using Microsoft Azure

Business Technical

600+ APIs 25+ Modules 18 Native SDKs

Page 27: Georgia Azure Event - Scalable cloud games using Microsoft Azure

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

Page 28: Georgia Azure Event - Scalable cloud games using Microsoft Azure

Scalable cloud games using Microsoft AzureAlex Belotserkovskiy, Tech Evangelist, Microsoft [email protected]@ahriman_ru

Page 29: Georgia Azure Event - Scalable cloud games using Microsoft Azure

© 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.