Application Scenarios Name Title Microsoft Corporation
Slide 2
Slide 3
Web
Slide 4
Brown Field
Slide 5
Web Role Table Storage SQL Azure Web Role Cache Queue Blob
Storage ACS Web RoleWorker
Slide 6
Identity Stateless MultiTenancy Deployment
Slide 7
Slide 8
Slide 9
Windows Azure Load Balancer uses round-robin allocation.
Session state must persist to client or storage on every request LB
session[foo] = 1;session[foo] = 2; What is the value of
session[foo]? SQL Azure Windows Azure Storage
Slide 10
Dont forget ASP.NET MVC TempData relies on Session State
provider by default
Slide 11
Multi-Tenancy SaaS Applications often need to serve multiple
tenants out of a single service deployment LB
tenant1.saasservice.comtenant2.saasservice.com SQL Azure 1 DB per
Tenant resolve tenant by examining host header Web Roles Shared by
all Tenants
http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition
tenant1.saasservice.com www.litware.com...
Slide 12
Slide 13 "> "> " title="
- Drivers http://localhost:33779/WcfDataService1.svc/Drivers
2010-05-24T22:12:38Z -
http://localhost:33779/WcfDataService1.svc/Drivers(1)
2010-05-24T22:12:38Z - - - 1 1 Rob Tiffany -
http://localhost:33779/WcfDataService1.svc/Drivers(2)
2010-05-24T22:12:38Z - - - 2 1 Loke Uei Tan -
http://localhost:33779/WcfDataService1.svc/Drivers(3)
2010-05-24T22:12:38Z - - - 3 1 Dan Bouie -
http://localhost:33779/WcfDataService1.svc/Drivers(4)
2010-05-24T22:12:38Z - - - 4 1 John Dietz -
http://localhost:33779/WcfDataService1.svc/Drivers(5)
2010-05-24T22:12:38Z - - - 5 2 Derek Snyder -
http://localhost:33779/WcfDataService1.svc/Drivers(6)
2010-05-24T22:12:38Z - - - 6 2 Steve Hegenderfer -
http://localhost:33779/WcfDataService1.svc/Drivers(7)
2010-05-24T22:12:38Z - - - 7 2 Chip Vollers -
http://localhost:33779/WcfDataService1.svc/Drivers(8)
2010-05-24T22:12:38Z - - - 8 2 James Pratt
http://localhost:33779/WcfDataService1.svc/"http://schemas.microsoft.com/ado/2007/08/dataservices"http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"http://www.w3.org/2005/Atom"http://localhost:33779/WcfDataService1.svc/Drivershttp://localhost:33779/WcfDataService1.svc/Drivers(1)http://schemas.microsoft.com/ado/2007/08/dataservices/related/DistributionCenter"http://schemas.microsoft.com/ado/2007/08/dataservices/related/Todays"http://schemas.microsoft.com/ado/2007/08/dataservices/scheme"http://localhost:33779/WcfDataService1.svc/Drivers(2)http://schemas.microsoft.com/ado/2007/08/dataservices/related/DistributionCenter"http://schemas.microsoft.com/ado/2007/08/dataservices/related/Todays"http://schemas.microsoft.com/ado/2007/08/dataservices/scheme"http://localhost:33779/WcfDataService1.svc/Drivers(3)http://schemas.microsoft.com/ado/2007/08/dataservices/related/DistributionCenter"http://schemas.microsoft.com/ado/2007/08/dataservices/related/Todays"http://schemas.microsoft.com/ado/2007/08/dataservices/scheme"http://localhost:33779/WcfDataService1.svc/Drivers(4)http://schemas.microsoft.com/ado/2007/08/dataservices/related/DistributionCenter"http://schemas.microsoft.com/ado/2007/08/dataservices/related/Todays"http://schemas.microsoft.com/ado/2007/08/dataservices/scheme"http://localhost:33779/WcfDataService1.svc/Drivers(5)http://schemas.microsoft.com/ado/2007/08/dataservices/related/DistributionCenter"http://schemas.microsoft.com/ado/2007/08/dataservices/related/Todays"http://schemas.microsoft.com/ado/2007/08/dataservices/scheme"http://localhost:33779/WcfDataService1.svc/Drivers(6)http://schemas.microsoft.com/ado/2007/08/dataservices/related/DistributionCenter"http://schemas.microsoft.com/ado/2007/08/dataservices/related/Todays"http://schemas.microsoft.com/ado/2007/08/dataservices/scheme"http://localhost:33779/WcfDataService1.svc/Drivers(7)http://schemas.microsoft.com/ado/2007/08/dataservices/related/DistributionCenter"http://schemas.microsoft.com/ado/2007/08/dataservices/related/Todays"http://schemas.microsoft.com/ado/2007/08/dataservices/scheme"http://localhost:33779/WcfDataService1.svc/Drivers(8)http://schemas.microsoft.com/ado/2007/08/dataservices/related/DistributionCenter"http://schemas.microsoft.com/ado/2007/08/dataservices/related/Todays"http://schemas.microsoft.com/ado/2007/08/dataservices/scheme"
The same list of 8 Customers using SOAP and a DataSet dropped us
down to 3 kb but still too big for my taste. 1 1 Rob Tiffany 2 1
Loke Uei Tan 3 1 Dan Bouie 4 1 John Dietz 5 2 Derek Snyder 6 2
Steve Hegenderfer 7 2 Chip Vollers 8 2 James Pratt
http://tempuri.org/"http://www.w3.org/2001/XMLSchema" 1 1 Rob
Tiffany 1 2 Loke Uei Tan 1 3 Dan Bouie 1 4 John Dietz 2 5 Derek
Snyder 2 6 Steve Hegenderfer 2 7 Chip Vollers 2 8 James Pratt
http://www.w3.org/2001/XMLSchema-instance"
[{"DistributionCenterId":1,"DriverId":1,"FirstName":"Rob","LastName":"Tiffany"},
{"DistributionCenterId":1,"DriverId":2,"FirstName":"Loke
Uei","LastName":"Tan"},
{"DistributionCenterId":1,"DriverId":3,"FirstName":"Dan","LastName":"Bouie"},
{"DistributionCenterId":1,"DriverId":4,"FirstName":"John","LastName":"Dietz"},
{"DistributionCenterId":2,"DriverId":5,"FirstName":"Derek","LastName":"Snyder"},
{"DistributionCenterId":2,"DriverId":6,"FirstName":"Steve","LastName":Harris"},
{"DistributionCenterId":2,"DriverId":7,"FirstName":"Chip","LastName":"Vollers"},
{"DistributionCenterId":2,"DriverId":8,"FirstName":"James","LastName":"Pratt"}]
Slide 32
Push Notifications
Slide 33
Windows 8: Windows Push Notification Service (WNS) Windows
Phone: Microsoft Push Notification Service (MPNS) iOS: Apple Push
Notification Service (APNS) Android: Cloud To Device Messaging
(C2DM)
Authentication User Settings State Storage Real-Time
Communication Game Services: i.e. Leaderboard &
Achievements
Slide 42
Weapons Gifts Achievements User Profiles Notifications
Slide 43
Slide 44
Game Play Worker Role Drew (user id) blob John (user id) blob
Game 718AB13 blob Game 1A297EA blob Game E3772AE blob Game Queue
12FC638 blob Game Play API Web Role Mike (user id) blob Game Queue
9B6A6E1 blob Game Queue A62DDE1 blob WriteRead
Slide 45
Slide 46
Social Apps
Slide 47
Reach an audience of more than 800 million active users Connect
to Facebooks rich application platform Broad Reach across
devices
Slide 48
Facebook Core Apps Communication Games Media - Music, Movies,
TV, News, and Books Lifestyle - Fitness, Eating, Fashion, and
Recreation
Slide 49
Scale when needed Pay for only what you use Focus on code
Iterate rapidly Benefits Client Side Facebook JavaScript SDK Server
Side Facebook C# SDK Facebook PHP SDK Tools
Slide 50
Thuzi: Outback Steakhouse App Scenario Outback Steakhouse
wanted to encourage repeat guests by creating a social networking
presence. Marketing Campaign with a short cycle Free Bloomin Onion
coupon to the First 500,000 guests on the Outback Facebook Fan Page
Company Goal was to reach 500,000 fans in 30 days. Outcome No
outlay for on premise hardware Needed to scale quickly for spikes
and cost-effectively support an unknown number of respondents
Solution used Windows Azure with an asynchronous architecture. Web
+ Worker roles, Cache, SQL Azure, Table Storage 8 weeks development
using familiar development tools Viral campaign achieved its
500,000 fans in just 18 days. www.outback.com
Slide 51
Slide 52
Thank you
Slide 53
2011 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.