Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Windows Phone 7 and Windows Azure – A Match Made in the Cloud
1. Windows Phone 7 and Windows Azure –
A Match Made in the Cloud
Day of Azure
Saturday, March 24th 2012
2. About Me
Michael S. Collier
National Architect,
Windows Azure
michael.collier@neudesic.com
@MichaelCollier
www.MichaelSCollier.com
3. The Perfect Match?
Contestants
• Windows Azure
• Windows Phone 7
Dimensions of Compatibility
The Dating Game
• Do I Know You?
• Dinner (setting the Table)
• Movie (featuring “The Blob!”)
• Following Up
Speed Dating
• Scalability
Image courtesy of Steve Marx
4. Profile: Windows Phone 7
• Connectivity
• Easy to develop for
• Familiar development
environment
• Growing marketplace
• Best Feature: Transparency
5. Profile: Windows Azure
• Cloud == Connectivity
• Easy to develop for
• Familiar development
environments
(.NET, Ruby, PHP, Java
, etc.)
• Scalability
• Best Feature – Levels
the Playing Field
6. Dimensions of Compatibility
Windows Phone 7 Windows Azure
• Connectivity • Cloud Connectivity
• Easy/Familiar • Easy/Familiar
Environment Environment
• Marketplace • Scalability
• Transparency • Levels the Field
7. Windows Azure: Behind the Scenes
Windows Server 2008 / R2
.NET Framework 3.5 SP1 & 4.0
Runs on Windows Server -> Runs on Windows Azure
Virtual Machine – image/instance replicated as needed
Automatic load balancing (web roles)
Fabric Controller
• Resource allocation
• Recovery
8. Windows Azure: Behind the Scenes
Web Role Worker Role
• IIS7 (Automatic Setup) • Executable – Windows
Service
• Requires at least 1 input
endpoint • Serve as a host
– Web server, database, etc.
• Ideal for web applications
• Generalized development
• ASP.NET
• Long running or intermittent
• Fast CGI + PHP
tasks
9. The Key to Any Good Relationship -
Communication
Windows Phone Windows Azure
• WCF • HTTP
• OData • ASP.NET
• JSON • WCF
• POX • WCF Data Services
(OData)
• Node.js
request response
direct
11. Windows Azure Service Bus
Robust messaging and routing services
Ability to connect services across networks
• Defeats NATs and firewalls
• Great for hybrid application scenarios!
Uses ACS for security
Examples at http://servicebus.codeplex.com
12. Do I Know You? – Identity Management
No need to build your own identity management
• Another component to maintain
Likely not a distinguishable part of your application
Deal with user management
• User support
• Password management (including resets)
13. Do I Know You? – Identity Management
Roll Your Own
ASP.NET Membership Providers
• Table Storage
• SQL Azure
Integrate with Facebook, Windows Live, etc. via Access
Control Services
• Leverage ACS to handle authentication
• Claims-based approach
15. The First Date – Table Time
Phone provides limited storage
Windows Azure
Non-relational data storage
Massive scalability (100 TB per Storage Account)
WCF Data Services (OData)
Security
• HTTPS
• Account Name and Key
Accessibility
• Direct – Secure you key?
• Web service (proxy)
TABLE
16. Second Date – A Movie
Blobs provide mechanism for storage & retrieval of
unstructured data.
Private by default.
Public read for web/phone apps.
Web role -> Blob?
Extra stress on the role instance
17. A Better Option
Get a little closer with Shared Access Signatures
• Secure, limited access direct to Blob storage.
• Create/Get Blob Container
• Create SAS
• Return SAS to WP7
• WP7 will PUT data to Blob using the SAS
• WP7 will GET data from Blob storage
18. Second Date – A Movie: CDN Edition
Windows Azure CDN
• 24+ edge cache servers worldwide
• Better user experience
• HTTP/HTTPS
CDN CDN CDN CDN CDN CDN
20. Don’t call me . . . I’ll Call You
Ability for app provider to indirectly push data to phone.
Application alerts
Exchanging Numbers
21. Microsoft
Push
Notification
Service
2. Register channel with app My Cloud App
22. Scalability Options
Decompose – scalable work units
Worker
• Web role(s) Worker
Role
Web Worker
Role
Worker
• Worker role(s) Web
Role
Web Role
Worker
Role
RoleWeb Worker
Role Role
Role Role
Plan for scale out and in
• Smallest unit that gets the job
done.
• Direct financial impact
23. NuGet Packages
Quickly build new apps with advanced features and update
existing apps
Windows Phone Windows Azure
– Phone.Identity.* – WindowsAzure.Notifications.*
– Phone.Notifications.* – WindowsAzure.Storage.*
– Phone.Storage.*
More at http://www.wadewegner.com/2011/11/nuget-packages-for-
windows-azure-and-windows-phone-developers/
https://github.com/WindowsAzure-Toolkits/wa-toolkit-wp-nugets
25. Windows Azure & Mobility
Scalable mobile apps for iOS, Android, and WP
Windows Azure platform
• Compute allows the app to quickly scale
• Storage with tables, blobs, and SQL Azure
• Messaging via storage queues or Service Bus
• CDN provides content worldwide with low latency
• Traffic Manager deploy globally & optimal routing
• Identity authenticate users via social & corporate
Windows Azure toolkits and NuGet packages
26. Get Started!
http://bit.ly/AzureTrialMC
http://bit.ly/AzureSDKMC
http://bit.ly/WindowsPhoneSDKMC
27. Resources
Windows Azure Toolkit for Windows Phone 7
http://watoolkitwp7.codeplex.com/
Windows Azure Training Kit
http://bit.ly/hRxBEC
Windows Phone 7 Training Kit
http://create.msdn.com/en-US/education/catalog/article/wp7_training_kit
Vittorio Bertocci
http://blogs.msdn.com/b/vbertocci/
Steve Marx
http://blog.smarx.com
Wade Wegner
http://www.WadeWegner.com
28. www.clouddevelop.org Friday, August 3rd
The Ohio Union
@CloudDevConf The Ohio State University
Speakers – Early April
Registration opens in early
Editor's Notes
Windows Azure National ArchitectWindows Azure MVPHelp customers nationwide with their Windows Azure projects. This can include architectural design sessions, training, development, evangelism, etc.Reach me via email, Twitter, or my blog.
Looking at Windows Azure & Windows Phone as if they’re dating.Do I know you? Asking a little about each other.
ConnectivityWiFi and mobile data connectionsNearly anywhere you are you can get connected to the internetEasy to develop forIf you’re comfortable with Silverlight, XNA, and generally .NET, you’re ready to goFamiliarSilverlight.NETVisual StudioMarketplaceWP7 rapidly growing in marketshareLegion of Microsoft developers ready and able to write for the platformBest Feature – TransparencyNot hiding the important information (using Live Tiles & Push Notifications)
Cloud is connectivity. If you can get to the internet, you’re on!Easy to developWindows Azure is a PAASMany Windows Server features same or similarRuns on Windows Server, likely to run on Windows AzureDevelopment environments – many options to choose from. Many languagesScalability – increase capacity within minutes4.5 million mobile devices worldwideBest Feature – Levels the playing field.Anybody can have the infrastructure and features previously reserved only for those with the capital to spend. Startup that needs 50 servers – go for it!
Data storage options – applicable to WP7/mobile computing.Windows Azure Storage100 TB Max / account3 replicas for High AvailabilityBriefly explain tables (structured data), blobs (unstructured data like pics and movies), and queues (role communication, “work ticket”)SQL Azure150GB Max / account
Are they who they say they are?
Find out a little about the person – their name, where they live, their age, etc. Claims
Dinner went well . . .time for a second date.Let’s talk a little about blob storage.Just like using the proxy for table storage, we can route requests for blob storage through that same proxy.
Windows Phone 7: Need a place to store and retrieve pictures.
First 2 dates have gone well. WP7 and WA need to exchange numbers – do that with Microsoft Push Notification Service.
Picture goes here
1 XL VM = $.48/hr4 SM VM = $.48/HRAdd 1 XL VM = $.96/hrAdd 1 SM VM = $.60/hrDifference of $3,153.60/yr
More at http://www.wadewegner.com/2011/11/nuget-packages-for-windows-azure-and-windows-phone-developers/