2. Agenda
This talk is focused on building iOS
applications with Windows Azure
We’ll talk about storage, identity,
communications, platform services, and tools
I’ll show a few demos for the concepts
3. Expectations
An understanding of how storage, identity, and
communications work with iOS when using
Windows Azure
4. Why Device + Cloud?
The cloud levels the playing
field
The cloud provides a larger
pool of resources from
which to pull
The cloud provides a way
to reach across device
platforms
5. Why Windows Azure?
Platform as a Service (PaaS): you build it,
Windows Azure runs it
Automatic O/S patching
Elasticity and scale
Utility billing
Higher-level services
ACS, Traffic Manager, Caching, CDN
6. What will we see today?
Storage
Identity
Communications
Platform Services
8. Storage: What are our options?
Windows Azure Tables
Non-relational structured storage
Massive scale-out
OData
Windows Azure Blobs
Big files
REST
Windows Azure Queues
Persistent Async Messaging
Enqueue, Dequeue
9. Storage: What are our options?
SQL Azure
Relationaldatabase
Highly available
Managed for you as a service
10. Storage: Secrets
Windows Azure
Storage name
Storage key
SQL Azure
Username
Password
Once your share your secret, it’s no longer secret
11. Storage: How to keep secrets
secret?
Proxy the requests (2)
1. Client sends data
to web role Web
Role
2. Web role sends
data to storage
(1)
12. Storage: Shared Access
Signatures
1. Client makes request of
Web Role for SAS (4)
Web
2. Web Role sends client Role
SAS (2)
(3)
3. Client makes request
(1)
4. Client gets response
13. Storage: SQL Azure
1. Client sends request to
proxy (2)
Web
2. Proxy makes SQL call Role (3)
against SQL Azure
(4)
3. SQL Azure returns a
response
4. Proxy returns response to (1)
device
14. Storage: Offloading work with
queues
1. Client writes a message
to a queue Worker
(2 Role
2. Worker role is polling )
the queue (3)
3. Worker role finds the
message (1)
15. Storage: What are the options?
Choices Direct Proxy Other
Blob (private) x x x (SAS)
Blob (public) x x (write) x (read-
only)
Table x x
Queue x x
Database x
18. Identity: What are the options?
Create your own
Username + password, token, etc.
ASP.NET Membership Providers
Use a single existing identity system
Live Id, Facebook, etc.
Develop directly against Identity Provider protocol
Outsource identity management
Access Control Service
24. Communications: Cloud-initiated
Push Notifications
Single connecting between the device and the
notification service
Bandwidth- and battery-friendly
No guarantee of delivery
25. Communications: Subscribing to
Push
Device requests a
channel
Web
*NS returns channel Role
*NS
Device sends URL to
cloud
Channel URL is stored
in cloud
Cloud sends notification
*NS pushes to device
26. Communications: Cloud to Device
Common pattern
Use cloud-initiated push to
tell the device to call to a
service Web
*NS
Role
Cloud sends notification
Notification services pushes
to device
Device receives message
and calls to a service
Web Role sends a
response
27. Communications: Different
notifications
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)
32. Any pictures?
WAZ
SAS Storage
Process Image
Store Image in Windows Azure
UserAuthenticate
Shared Token
Access Access
Send Notification
WindowsImage
Process Signature
Azure
Authentication
Blob Storage
Translated Translated Text
Send Image
Translated
Text
Apple Push Text
Notification
Service Hawaii OCR &
Bing Translator