54
Gaming across Multiple Devices Patric Boscolo Developer Evangelist Microsoft Deutschland GmbH [email protected] http://blogs.msdn.com/patricb @patricsmsdn Tom Wendel Developer Evangelist Microsoft Deutschland GmbH [email protected] http://blogs.msdn.com/twendel/ @bobstriker Cloudshow

Gaming across Multiple Devices Patric Boscolo Developer Evangelist Microsoft Deutschland GmbH [email protected] @patricsmsdn

Embed Size (px)

Citation preview

Page 1: Gaming across Multiple Devices Patric Boscolo Developer Evangelist Microsoft Deutschland GmbH patbosc@microsoft.com  @patricsmsdn

Gaming across Multiple Devices

Patric BoscoloDeveloper EvangelistMicrosoft Deutschland [email protected]://blogs.msdn.com/patricb

@patricsmsdn

Tom WendelDeveloper EvangelistMicrosoft Deutschland [email protected]

http://blogs.msdn.com/twendel/

@bobstriker

Cloudshow

Page 2: Gaming across Multiple Devices Patric Boscolo Developer Evangelist Microsoft Deutschland GmbH patbosc@microsoft.com  @patricsmsdn
Page 3: Gaming across Multiple Devices Patric Boscolo Developer Evangelist Microsoft Deutschland GmbH patbosc@microsoft.com  @patricsmsdn

AGENDAWe talk about …

12:38

Page 4: Gaming across Multiple Devices Patric Boscolo Developer Evangelist Microsoft Deutschland GmbH patbosc@microsoft.com  @patricsmsdn

?

Page 5: Gaming across Multiple Devices Patric Boscolo Developer Evangelist Microsoft Deutschland GmbH patbosc@microsoft.com  @patricsmsdn

= Managed for You StandaloneServers

IaaS PaaS SaaS

Applications

Runtimes

Database

Operating System

Virtualization

Server

Storage

Networking

Page 6: Gaming across Multiple Devices Patric Boscolo Developer Evangelist Microsoft Deutschland GmbH patbosc@microsoft.com  @patricsmsdn

Cloud Services

Runtime, Storage, Database, Messaging, Identity, Caching, …

Developer Resources

Templates, Deployment Tools, SDK‘s, Emulators, …

What is Windows Azure?

Page 7: Gaming across Multiple Devices Patric Boscolo Developer Evangelist Microsoft Deutschland GmbH patbosc@microsoft.com  @patricsmsdn

Compute, Storage, Database, Messaging, Identity, Caching, …

Your Application

Your Application

Maintanance in the Cloud

Access to the Cloud

Page 8: Gaming across Multiple Devices Patric Boscolo Developer Evangelist Microsoft Deutschland GmbH patbosc@microsoft.com  @patricsmsdn

Motivation

12:38

Logic

Page 9: Gaming across Multiple Devices Patric Boscolo Developer Evangelist Microsoft Deutschland GmbH patbosc@microsoft.com  @patricsmsdn
Page 10: Gaming across Multiple Devices Patric Boscolo Developer Evangelist Microsoft Deutschland GmbH patbosc@microsoft.com  @patricsmsdn

Hardware

Page 11: Gaming across Multiple Devices Patric Boscolo Developer Evangelist Microsoft Deutschland GmbH patbosc@microsoft.com  @patricsmsdn

http://re.jrc.ec.europa.eu/energyefficiency/pdf/CoC%20DC%20new%20rep%20form%20and%20guidelines/Best%20Practices%20v2.0.0%20-%20Release.pdf

http://www.sustenergy.org/index.php?option=com_see_projectview&view=see_projectdetail&tagId=-1&countryID=-1&catId=-1&pageNum=0&projectid=2524

http://www.microsoft.com/presspass/emea/presscentre/pressreleases/DublinDataCentrePR_240909.mspx

http://blogs.technet.com/b/msdatacenters/archive/2009/12/18/microsoft-receives-leaders-award-for-innovation-in-the-mega-data-centre.aspx

Microsoft Data Center Dublin

http://blogs.msdn.com/b/msenterprise/archive/2011/04/22/earth-day-2011-cloud-computing-can-it-help.aspx

Page 12: Gaming across Multiple Devices Patric Boscolo Developer Evangelist Microsoft Deutschland GmbH patbosc@microsoft.com  @patricsmsdn

Colocation

Page 13: Gaming across Multiple Devices Patric Boscolo Developer Evangelist Microsoft Deutschland GmbH patbosc@microsoft.com  @patricsmsdn
Page 14: Gaming across Multiple Devices Patric Boscolo Developer Evangelist Microsoft Deutschland GmbH patbosc@microsoft.com  @patricsmsdn
Page 15: Gaming across Multiple Devices Patric Boscolo Developer Evangelist Microsoft Deutschland GmbH patbosc@microsoft.com  @patricsmsdn

IndustryPUE 2.4

Microsoft GlobalPUE 1.6

DublinPUE 1.25

Page 16: Gaming across Multiple Devices Patric Boscolo Developer Evangelist Microsoft Deutschland GmbH patbosc@microsoft.com  @patricsmsdn
Page 17: Gaming across Multiple Devices Patric Boscolo Developer Evangelist Microsoft Deutschland GmbH patbosc@microsoft.com  @patricsmsdn
Page 18: Gaming across Multiple Devices Patric Boscolo Developer Evangelist Microsoft Deutschland GmbH patbosc@microsoft.com  @patricsmsdn
Page 19: Gaming across Multiple Devices Patric Boscolo Developer Evangelist Microsoft Deutschland GmbH patbosc@microsoft.com  @patricsmsdn

PUE1.06

Page 20: Gaming across Multiple Devices Patric Boscolo Developer Evangelist Microsoft Deutschland GmbH patbosc@microsoft.com  @patricsmsdn
Page 21: Gaming across Multiple Devices Patric Boscolo Developer Evangelist Microsoft Deutschland GmbH patbosc@microsoft.com  @patricsmsdn

Process Management

Memory Management

Device Management

Hypervisor Hypervisor

Page 22: Gaming across Multiple Devices Patric Boscolo Developer Evangelist Microsoft Deutschland GmbH patbosc@microsoft.com  @patricsmsdn

Hypervisor

Windows Azure Operating System

Fabric Controller Host

Page 23: Gaming across Multiple Devices Patric Boscolo Developer Evangelist Microsoft Deutschland GmbH patbosc@microsoft.com  @patricsmsdn

Hypervisor

Windows Azure Operating System

Fabric Controller Host

Page 24: Gaming across Multiple Devices Patric Boscolo Developer Evangelist Microsoft Deutschland GmbH patbosc@microsoft.com  @patricsmsdn

DEMORemote Desktop

Page 25: Gaming across Multiple Devices Patric Boscolo Developer Evangelist Microsoft Deutschland GmbH patbosc@microsoft.com  @patricsmsdn

BACK TO

YOUR

APP

Page 26: Gaming across Multiple Devices Patric Boscolo Developer Evangelist Microsoft Deutschland GmbH patbosc@microsoft.com  @patricsmsdn

Web RoleIIS hosted application

Worker Rolearbitrary application

VM Roleselfconfigured virtual machine

Runtime

Page 27: Gaming across Multiple Devices Patric Boscolo Developer Evangelist Microsoft Deutschland GmbH patbosc@microsoft.com  @patricsmsdn

MY FIRST CLOUD APPHow to get started

Page 28: Gaming across Multiple Devices Patric Boscolo Developer Evangelist Microsoft Deutschland GmbH patbosc@microsoft.com  @patricsmsdn

It’s not aboutAvailability

Quelle: http://www.flickr.com/photos/32975477@N02/4566833793/

Page 29: Gaming across Multiple Devices Patric Boscolo Developer Evangelist Microsoft Deutschland GmbH patbosc@microsoft.com  @patricsmsdn

How does my Appscale?

Page 30: Gaming across Multiple Devices Patric Boscolo Developer Evangelist Microsoft Deutschland GmbH patbosc@microsoft.com  @patricsmsdn

There is no place like

127.0.0.1

Page 31: Gaming across Multiple Devices Patric Boscolo Developer Evangelist Microsoft Deutschland GmbH patbosc@microsoft.com  @patricsmsdn

There is no place like

Production

Page 32: Gaming across Multiple Devices Patric Boscolo Developer Evangelist Microsoft Deutschland GmbH patbosc@microsoft.com  @patricsmsdn

vertical vs. horizontal scale

vertical == more resources horizontal == more instances

Page 33: Gaming across Multiple Devices Patric Boscolo Developer Evangelist Microsoft Deutschland GmbH patbosc@microsoft.com  @patricsmsdn
Page 34: Gaming across Multiple Devices Patric Boscolo Developer Evangelist Microsoft Deutschland GmbH patbosc@microsoft.com  @patricsmsdn

A FEW TIPPS BY SUCCESSFULL APPSLessons learned…

Page 35: Gaming across Multiple Devices Patric Boscolo Developer Evangelist Microsoft Deutschland GmbH patbosc@microsoft.com  @patricsmsdn

SHOWCASERaidgate

Page 36: Gaming across Multiple Devices Patric Boscolo Developer Evangelist Microsoft Deutschland GmbH patbosc@microsoft.com  @patricsmsdn

SHOWCASEAntMe!

Page 37: Gaming across Multiple Devices Patric Boscolo Developer Evangelist Microsoft Deutschland GmbH patbosc@microsoft.com  @patricsmsdn

Table Queue Blob

Page 38: Gaming across Multiple Devices Patric Boscolo Developer Evangelist Microsoft Deutschland GmbH patbosc@microsoft.com  @patricsmsdn

A Bugs life?

Webservices

Sim Manager

SimulatorSimulatorSimulatorSimulator

Website

Replay Blobs

Sim QueueSim Tables

Page 39: Gaming across Multiple Devices Patric Boscolo Developer Evangelist Microsoft Deutschland GmbH patbosc@microsoft.com  @patricsmsdn

Statless vs. Statefull Apps

http://myapp.cloudapp.net

LoadbalancerInstance 1

Instance 2

Different States

Page 40: Gaming across Multiple Devices Patric Boscolo Developer Evangelist Microsoft Deutschland GmbH patbosc@microsoft.com  @patricsmsdn

SQL Azure / Table Storage Windows Azure

Caching

Page 41: Gaming across Multiple Devices Patric Boscolo Developer Evangelist Microsoft Deutschland GmbH patbosc@microsoft.com  @patricsmsdn

SHOWCASEFantasy Kingdom

Page 42: Gaming across Multiple Devices Patric Boscolo Developer Evangelist Microsoft Deutschland GmbH patbosc@microsoft.com  @patricsmsdn

SHOWCASESaudos

Page 43: Gaming across Multiple Devices Patric Boscolo Developer Evangelist Microsoft Deutschland GmbH patbosc@microsoft.com  @patricsmsdn

Table SQL

Context

Logic

Webpage

CDN

oData

WCF

Json via MVC

Browser / Control

WebClient

Proxy

Context

WebClient

Frontend

SocketSocket

Page 44: Gaming across Multiple Devices Patric Boscolo Developer Evangelist Microsoft Deutschland GmbH patbosc@microsoft.com  @patricsmsdn

Frontend

Table SQL

Context

Logic

Webpage

CDN

oData

WCF

Json via MVC

Browser / Control

Json Client

WebClient

SocketSocket

Page 45: Gaming across Multiple Devices Patric Boscolo Developer Evangelist Microsoft Deutschland GmbH patbosc@microsoft.com  @patricsmsdn

Content Delivery Network (CDN)

X

CDN

X

Less hops

Prop. “hops” oder “poor links”

Closest Point of Presence

Blob Storage

Public Container

DNS name resolves to closest POP

Blob header determines time-to-live at the edge

Page 46: Gaming across Multiple Devices Patric Boscolo Developer Evangelist Microsoft Deutschland GmbH patbosc@microsoft.com  @patricsmsdn

Content Delivery Network (CDN)

• 24 global distributed CDNs (99.95% availability)• Setup a CDN via Management Portal– Generate 2 URLs for diffrent distributions

• Direct Access:http://myacct.blob.core.windows.net/images/myimage.jpg

• Access via CDN:http://azXXXX.vo.msecnd.net/images/myimage.jpg

– CNAME Mappings for CDN URLshttp://blog.smarx.com/posts/using-the-new-windows-azure-cdn-with-a-custom-domain

• CDN for WebApps and Windows Azure Storage– CSS, Images, ...

• Smooth streaming available as CTP

Page 47: Gaming across Multiple Devices Patric Boscolo Developer Evangelist Microsoft Deutschland GmbH patbosc@microsoft.com  @patricsmsdn

Lifetime of CDN Content

• Per Default Content stays alive for 72h• Setup TTL via „cache control header“

x-ms-blob-cache-control: public, max-age=<value in seconds>

– hours, days, weeks– longer remaining objects reduces:• costs, latency, other caches

• Usage of versioned URIs to change Content

Page 48: Gaming across Multiple Devices Patric Boscolo Developer Evangelist Microsoft Deutschland GmbH patbosc@microsoft.com  @patricsmsdn

Versioning of URLs

CDN

Superawesome WebApphttp://myapp.cloudapp.net

… <img src="http://azXXXX.vo.msecnd.net/images/logo.2011-09-16.png" />…

logo.2011-09-16.pnglogo.2011-09-16.png

logo.2011-11-22.png

… <img src="http://azXXXX.vo.msecnd.net/images/logo.2011-11-22.png" />… logo.2011-11-22.png

• Easy to manage Rollback and different Versions• Enables A/B Tests

Page 49: Gaming across Multiple Devices Patric Boscolo Developer Evangelist Microsoft Deutschland GmbH patbosc@microsoft.com  @patricsmsdn

CDN für Web Apps

• CDN support for Websiteshttp://blog.smarx.com/posts/using-the-windows-azure-cdn-for-your-web-application

– Default URL: http://foo.cloudapp.net/default.aspx

– CDN URL: http://azXXXX.vo.msecnd.net/default.aspx

– Cached from: http://foo.cloudapp.net/cdn/default.aspx

• CNAME & HTTPS support• Important! The „cache control headers“ must be edited

in order to use the OutputCache Module via Webappshttp://blogs.msdn.com/b/scicoria/archive/2011/07/10/hosted-service-as-a-windows-azure-cdn-origin-tips.aspx

Page 50: Gaming across Multiple Devices Patric Boscolo Developer Evangelist Microsoft Deutschland GmbH patbosc@microsoft.com  @patricsmsdn
Page 51: Gaming across Multiple Devices Patric Boscolo Developer Evangelist Microsoft Deutschland GmbH patbosc@microsoft.com  @patricsmsdn

Why Microsoft?

• Enterprise Business• Security• BizSpark Plus• MSDN• Support• Technical Resources

Page 52: Gaming across Multiple Devices Patric Boscolo Developer Evangelist Microsoft Deutschland GmbH patbosc@microsoft.com  @patricsmsdn

Why Microsoft?

• Enterprise Business• Security

•BizSpark Plus• MSDN• Support• Technical Resources

Page 53: Gaming across Multiple Devices Patric Boscolo Developer Evangelist Microsoft Deutschland GmbH patbosc@microsoft.com  @patricsmsdn

Why Microsoft?

• Enterprise Business• Security• BizSpark Plus• MSDN• Support• Technical Resources

Page 54: Gaming across Multiple Devices Patric Boscolo Developer Evangelist Microsoft Deutschland GmbH patbosc@microsoft.com  @patricsmsdn

GO CHECK IT OUT

www.windowsazure.com