Page 1
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 3
AGENDAWe talk about …
12:38
Page 5
= Managed for You StandaloneServers
IaaS PaaS SaaS
Applications
Runtimes
Database
Operating System
Virtualization
Server
Storage
Networking
Page 6
Cloud Services
Runtime, Storage, Database, Messaging, Identity, Caching, …
Developer Resources
Templates, Deployment Tools, SDK‘s, Emulators, …
What is Windows Azure?
Page 7
Runtime, Storage, Database, Messaging, Identity, Caching, …
Your Application
Your Application
Maintanance in the Cloud
Access to the Cloud
Page 8
Motivation
12:38
Logic
Page 11
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 15
IndustryPUE 2.4
Microsoft GlobalPUE 1.6
DublinPUE 1.25
Page 16
IT Equipment50%
Light3%
Power Supply,
UPS10%
Air Transport12%
Cooling25%
Costs
Page 21
Process Management
Memory Management
Device Management
Hypervisor Hypervisor
Page 22
Hypervisor
Windows Azure Operating System
Fabric Controller Host
Page 23
Hypervisor
Windows Azure Operating System
Fabric Controller Host
Page 25
Web RoleIIS hosted application
Worker Rolearbitrary application
VM Roleselfconfigured virtual machine
Runtime
Page 26
MY FIRST CLOUD APPDeploy to Azure
Page 27
It’s not aboutAvailability
Quelle: http://www.flickr.com/photos/32975477@N02/4566833793/
Page 28
How does my Appscale?
Page 29
There is no place like
127.0.0.1
Page 30
There is no place like
Production
Page 31
vertical vs. horizontal scale
vertical == more resources horizontal == more instances
Page 32
Meine Superawesome Webseitehttp://myapp.cloudapp.netMeine Superawesome Webseite
http://myapp.cloudapp.netMeine Superawesome Webseitehttp://myapp.cloudapp.net
n Webroles1 Database
Scale me too!!! ;-)
• It‘s better to have 50 times 1GB db, then a single 50GB db.• How to scale a db?
• Partitioning• Alpha• User• Usage• Date
Page 34
A FEW TIPPS BY SUCCESSFULL APPSLessons learned…
Page 38
A Bugs life?
Webservices
Sim Manager
SimulatorSimulatorSimulatorSimulator
Website
Replay Blobs
Sim QueueSim Tables
Page 39
Statless vs. Statefull Apps
http://myapp.cloudapp.net
LoadbalancerInstance 1
Instance 2
Different States
Page 40
SQL Azure / Table Storage
Windows AzureCaching
Page 41
SHOWCASEFantasy Kingdom
Page 43
Table SQL
Context
Logic
Webpage
CDN
oData
WCF
Json via MVC
Browser / Control
WebClient
Proxy
Context
WebClient
Frontend
SocketSocket
Page 44
Frontend
Table SQL
Context
Logic
Webpage
CDN
oData
WCF
Json via MVC
Browser / Control
Json Client
WebClient
SocketSocket
Page 45
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
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
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
Versioning of URLs
CDN
Superawesome WebApp
http://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
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 51
Why Microsoft?
• Enterprise Business• Security• BizSpark Plus• MSDN• Support• Technical Resources
Page 52
Why Microsoft?
• Enterprise Business• Security
•BizSpark Plus• MSDN• Support• Technical Resources
Page 53
Why Microsoft?
• Enterprise Business• Security• BizSpark Plus• MSDN• Support• Technical Resources
Page 54
GO CHECK IT OUT
www.windowsazure.com