SlideShare uma empresa Scribd logo
1 de 38
BUILDING CLOUD APPS
WITH IOS
Scott Densmore – Senior SDE patterns &
practices
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
Expectations
   An understanding of how storage, identity, and
    communications work with iOS when using
    Windows Azure
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
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
What will we see today?
   Storage
   Identity
   Communications
   Platform Services
Storage
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
Storage: What are our options?
   SQL Azure
     Relationaldatabase
     Highly available

     Managed for you as a service
Storage: Secrets
   Windows Azure
     Storage name
     Storage key
   SQL Azure
     Username
     Password


Once your share your secret, it’s no longer secret
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)
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
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
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)
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
demo
iOS and Storage
Identity
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
Identity: Authenticating Users with
ACS

                           Web
                           Role


                  Access Control
                     Service
demo
iOS and Identity
Communications
Communications

   Two forms of communication
    with devices
    Device-initiated
    Cloud-initiated
Communications: Device-initiated
   Device-initiated options
    HTTP-based,   request/response
    Framework choices (WCF, OData,
     WebRequest, etc.)
    Wire format choices (SOAP,
     JSON, POX, etc.)
Communications: Cloud-initiated
   Push Notifications
     Single  connecting between the device and the
      notification service
     Bandwidth- and battery-friendly

     No guarantee of delivery
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
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
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)
demo
iOS and Communications
Platform Services
Platform Services
   Traffic Manager
   Content Delivery Network (CDN)
   SQL Azure Data Sync
     SQL Azure

     Windows Azure   Storage
   Caching
Putting it all together
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
Tools and Resources
Toolkits
   Easier for device developers to use
    Windows Azure
       Windows Phone: http://bit.ly/watwp7
       iOS: http://bit.ly/watios
       Android: http://bit.ly/watandroid
       OData: http://bit.ly/odataobjc
   Toolkits include:
       Native libraries (e.g. .NET, Objective-C)
       Samples
       Project templates
       Documentation
Questions
Windows Azure Office Hours
   Talk to an expert
   Download the SDK and toolkits
   Get a free trial
   Enter to WIN a
       Samsung Focus Windows phone
Vote your evaluation

This session was . . .
   A little lite
   Just right
   More than I hoped for!
Coming soon to a
 tent near you!
 www.devcamps.ms

Mais conteúdo relacionado

Mais de Seattle Interactive Conference

Experiencing Extremes: A Design Team's Guide to Accessibility by Jess Vice, S...
Experiencing Extremes: A Design Team's Guide to Accessibility by Jess Vice, S...Experiencing Extremes: A Design Team's Guide to Accessibility by Jess Vice, S...
Experiencing Extremes: A Design Team's Guide to Accessibility by Jess Vice, S...Seattle Interactive Conference
 
Creativity Meets Technology: Framing web3 for Brands by Luis Antezana, CROWN ...
Creativity Meets Technology: Framing web3 for Brands by Luis Antezana, CROWN ...Creativity Meets Technology: Framing web3 for Brands by Luis Antezana, CROWN ...
Creativity Meets Technology: Framing web3 for Brands by Luis Antezana, CROWN ...Seattle Interactive Conference
 
When It’s Time to Treat Yourself Like a True Client by Steve Barrett, Tether ...
When It’s Time to Treat Yourself Like a True Client by Steve Barrett, Tether ...When It’s Time to Treat Yourself Like a True Client by Steve Barrett, Tether ...
When It’s Time to Treat Yourself Like a True Client by Steve Barrett, Tether ...Seattle Interactive Conference
 
Shifting from Me to We: The Rise of Online Community by Paul Peterman, Reddit...
Shifting from Me to We: The Rise of Online Community by Paul Peterman, Reddit...Shifting from Me to We: The Rise of Online Community by Paul Peterman, Reddit...
Shifting from Me to We: The Rise of Online Community by Paul Peterman, Reddit...Seattle Interactive Conference
 
Communicating Clickable Complexities: From Nuclei to AI by Jenny Burns & Rach...
Communicating Clickable Complexities: From Nuclei to AI by Jenny Burns & Rach...Communicating Clickable Complexities: From Nuclei to AI by Jenny Burns & Rach...
Communicating Clickable Complexities: From Nuclei to AI by Jenny Burns & Rach...Seattle Interactive Conference
 
UX Localization: Design for the global audience by Shantelle Liu, Zoom
UX Localization: Design for the global audience by Shantelle Liu, ZoomUX Localization: Design for the global audience by Shantelle Liu, Zoom
UX Localization: Design for the global audience by Shantelle Liu, ZoomSeattle Interactive Conference
 
How the Story of You Gets Created and Told by Dominique Luster, The Luster Co...
How the Story of You Gets Created and Told by Dominique Luster, The Luster Co...How the Story of You Gets Created and Told by Dominique Luster, The Luster Co...
How the Story of You Gets Created and Told by Dominique Luster, The Luster Co...Seattle Interactive Conference
 
Photography In the Metaverse by Bryan O'Neil Hughes, Adobe | SIC 2022
Photography In the Metaverse by Bryan O'Neil Hughes, Adobe | SIC 2022Photography In the Metaverse by Bryan O'Neil Hughes, Adobe | SIC 2022
Photography In the Metaverse by Bryan O'Neil Hughes, Adobe | SIC 2022Seattle Interactive Conference
 
What Does Cinderella Have to Do with Blogging by Alison Ver Halen, AV Writing...
What Does Cinderella Have to Do with Blogging by Alison Ver Halen, AV Writing...What Does Cinderella Have to Do with Blogging by Alison Ver Halen, AV Writing...
What Does Cinderella Have to Do with Blogging by Alison Ver Halen, AV Writing...Seattle Interactive Conference
 
A Renaissance for the Web: Moving on from Cookies by Ruben Ayala, Viant | SIC...
A Renaissance for the Web: Moving on from Cookies by Ruben Ayala, Viant | SIC...A Renaissance for the Web: Moving on from Cookies by Ruben Ayala, Viant | SIC...
A Renaissance for the Web: Moving on from Cookies by Ruben Ayala, Viant | SIC...Seattle Interactive Conference
 
Craft Killer Headlines: Embracing Creativity as an Analytical Copywriter by B...
Craft Killer Headlines: Embracing Creativity as an Analytical Copywriter by B...Craft Killer Headlines: Embracing Creativity as an Analytical Copywriter by B...
Craft Killer Headlines: Embracing Creativity as an Analytical Copywriter by B...Seattle Interactive Conference
 
How to Bring Social Media In-House and Make it thrive! by Marisa Peacock, The...
How to Bring Social Media In-House and Make it thrive! by Marisa Peacock, The...How to Bring Social Media In-House and Make it thrive! by Marisa Peacock, The...
How to Bring Social Media In-House and Make it thrive! by Marisa Peacock, The...Seattle Interactive Conference
 
Websites for Humans: Holistic SEO in 2022 by Kavi Kardos, Director of SEO | S...
Websites for Humans: Holistic SEO in 2022 by Kavi Kardos, Director of SEO | S...Websites for Humans: Holistic SEO in 2022 by Kavi Kardos, Director of SEO | S...
Websites for Humans: Holistic SEO in 2022 by Kavi Kardos, Director of SEO | S...Seattle Interactive Conference
 
Pushing the Boundaries: How the Wildest Ideas Make the Best Campaigns by Rebe...
Pushing the Boundaries: How the Wildest Ideas Make the Best Campaigns by Rebe...Pushing the Boundaries: How the Wildest Ideas Make the Best Campaigns by Rebe...
Pushing the Boundaries: How the Wildest Ideas Make the Best Campaigns by Rebe...Seattle Interactive Conference
 
From AI-Generated Stories to Interactive Volumetric Content by Adam Myhill, U...
From AI-Generated Stories to Interactive Volumetric Content by Adam Myhill, U...From AI-Generated Stories to Interactive Volumetric Content by Adam Myhill, U...
From AI-Generated Stories to Interactive Volumetric Content by Adam Myhill, U...Seattle Interactive Conference
 
Growing as a Designer: How to Master a Craft in 100 Days | Seattle Interactive
Growing as a Designer: How to Master a Craft in 100 Days | Seattle InteractiveGrowing as a Designer: How to Master a Craft in 100 Days | Seattle Interactive
Growing as a Designer: How to Master a Craft in 100 Days | Seattle InteractiveSeattle Interactive Conference
 
Parker's Big Adventure in the Land of Digital Data | Seattle Interactive 2019
Parker's Big Adventure in the Land of Digital Data | Seattle Interactive 2019Parker's Big Adventure in the Land of Digital Data | Seattle Interactive 2019
Parker's Big Adventure in the Land of Digital Data | Seattle Interactive 2019Seattle Interactive Conference
 
The Fetishization of Innovation | Seattle Interactive 2019
The Fetishization of Innovation | Seattle Interactive 2019The Fetishization of Innovation | Seattle Interactive 2019
The Fetishization of Innovation | Seattle Interactive 2019Seattle Interactive Conference
 

Mais de Seattle Interactive Conference (20)

Experiencing Extremes: A Design Team's Guide to Accessibility by Jess Vice, S...
Experiencing Extremes: A Design Team's Guide to Accessibility by Jess Vice, S...Experiencing Extremes: A Design Team's Guide to Accessibility by Jess Vice, S...
Experiencing Extremes: A Design Team's Guide to Accessibility by Jess Vice, S...
 
Creativity Meets Technology: Framing web3 for Brands by Luis Antezana, CROWN ...
Creativity Meets Technology: Framing web3 for Brands by Luis Antezana, CROWN ...Creativity Meets Technology: Framing web3 for Brands by Luis Antezana, CROWN ...
Creativity Meets Technology: Framing web3 for Brands by Luis Antezana, CROWN ...
 
When It’s Time to Treat Yourself Like a True Client by Steve Barrett, Tether ...
When It’s Time to Treat Yourself Like a True Client by Steve Barrett, Tether ...When It’s Time to Treat Yourself Like a True Client by Steve Barrett, Tether ...
When It’s Time to Treat Yourself Like a True Client by Steve Barrett, Tether ...
 
Shifting from Me to We: The Rise of Online Community by Paul Peterman, Reddit...
Shifting from Me to We: The Rise of Online Community by Paul Peterman, Reddit...Shifting from Me to We: The Rise of Online Community by Paul Peterman, Reddit...
Shifting from Me to We: The Rise of Online Community by Paul Peterman, Reddit...
 
Communicating Clickable Complexities: From Nuclei to AI by Jenny Burns & Rach...
Communicating Clickable Complexities: From Nuclei to AI by Jenny Burns & Rach...Communicating Clickable Complexities: From Nuclei to AI by Jenny Burns & Rach...
Communicating Clickable Complexities: From Nuclei to AI by Jenny Burns & Rach...
 
UX Localization: Design for the global audience by Shantelle Liu, Zoom
UX Localization: Design for the global audience by Shantelle Liu, ZoomUX Localization: Design for the global audience by Shantelle Liu, Zoom
UX Localization: Design for the global audience by Shantelle Liu, Zoom
 
How the Story of You Gets Created and Told by Dominique Luster, The Luster Co...
How the Story of You Gets Created and Told by Dominique Luster, The Luster Co...How the Story of You Gets Created and Told by Dominique Luster, The Luster Co...
How the Story of You Gets Created and Told by Dominique Luster, The Luster Co...
 
Photography In the Metaverse by Bryan O'Neil Hughes, Adobe | SIC 2022
Photography In the Metaverse by Bryan O'Neil Hughes, Adobe | SIC 2022Photography In the Metaverse by Bryan O'Neil Hughes, Adobe | SIC 2022
Photography In the Metaverse by Bryan O'Neil Hughes, Adobe | SIC 2022
 
What Does Cinderella Have to Do with Blogging by Alison Ver Halen, AV Writing...
What Does Cinderella Have to Do with Blogging by Alison Ver Halen, AV Writing...What Does Cinderella Have to Do with Blogging by Alison Ver Halen, AV Writing...
What Does Cinderella Have to Do with Blogging by Alison Ver Halen, AV Writing...
 
A Renaissance for the Web: Moving on from Cookies by Ruben Ayala, Viant | SIC...
A Renaissance for the Web: Moving on from Cookies by Ruben Ayala, Viant | SIC...A Renaissance for the Web: Moving on from Cookies by Ruben Ayala, Viant | SIC...
A Renaissance for the Web: Moving on from Cookies by Ruben Ayala, Viant | SIC...
 
Craft Killer Headlines: Embracing Creativity as an Analytical Copywriter by B...
Craft Killer Headlines: Embracing Creativity as an Analytical Copywriter by B...Craft Killer Headlines: Embracing Creativity as an Analytical Copywriter by B...
Craft Killer Headlines: Embracing Creativity as an Analytical Copywriter by B...
 
How to Bring Social Media In-House and Make it thrive! by Marisa Peacock, The...
How to Bring Social Media In-House and Make it thrive! by Marisa Peacock, The...How to Bring Social Media In-House and Make it thrive! by Marisa Peacock, The...
How to Bring Social Media In-House and Make it thrive! by Marisa Peacock, The...
 
Websites for Humans: Holistic SEO in 2022 by Kavi Kardos, Director of SEO | S...
Websites for Humans: Holistic SEO in 2022 by Kavi Kardos, Director of SEO | S...Websites for Humans: Holistic SEO in 2022 by Kavi Kardos, Director of SEO | S...
Websites for Humans: Holistic SEO in 2022 by Kavi Kardos, Director of SEO | S...
 
Modern Marketing by Ashley Royalty, Add3 | SIC 2022
Modern Marketing by Ashley Royalty, Add3 | SIC 2022Modern Marketing by Ashley Royalty, Add3 | SIC 2022
Modern Marketing by Ashley Royalty, Add3 | SIC 2022
 
Pushing the Boundaries: How the Wildest Ideas Make the Best Campaigns by Rebe...
Pushing the Boundaries: How the Wildest Ideas Make the Best Campaigns by Rebe...Pushing the Boundaries: How the Wildest Ideas Make the Best Campaigns by Rebe...
Pushing the Boundaries: How the Wildest Ideas Make the Best Campaigns by Rebe...
 
From AI-Generated Stories to Interactive Volumetric Content by Adam Myhill, U...
From AI-Generated Stories to Interactive Volumetric Content by Adam Myhill, U...From AI-Generated Stories to Interactive Volumetric Content by Adam Myhill, U...
From AI-Generated Stories to Interactive Volumetric Content by Adam Myhill, U...
 
Growing as a Designer: How to Master a Craft in 100 Days | Seattle Interactive
Growing as a Designer: How to Master a Craft in 100 Days | Seattle InteractiveGrowing as a Designer: How to Master a Craft in 100 Days | Seattle Interactive
Growing as a Designer: How to Master a Craft in 100 Days | Seattle Interactive
 
Parker's Big Adventure in the Land of Digital Data | Seattle Interactive 2019
Parker's Big Adventure in the Land of Digital Data | Seattle Interactive 2019Parker's Big Adventure in the Land of Digital Data | Seattle Interactive 2019
Parker's Big Adventure in the Land of Digital Data | Seattle Interactive 2019
 
Future of Content | Seattle Interactive 2019
Future of Content | Seattle Interactive 2019Future of Content | Seattle Interactive 2019
Future of Content | Seattle Interactive 2019
 
The Fetishization of Innovation | Seattle Interactive 2019
The Fetishization of Innovation | Seattle Interactive 2019The Fetishization of Innovation | Seattle Interactive 2019
The Fetishization of Innovation | Seattle Interactive 2019
 

Último

Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 

Último (20)

Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 

Scott densmore-sic-2011

  • 1. BUILDING CLOUD APPS WITH IOS Scott Densmore – Senior SDE patterns & practices
  • 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
  • 19. Identity: Authenticating Users with ACS Web Role Access Control Service
  • 22. Communications  Two forms of communication with devices Device-initiated Cloud-initiated
  • 23. Communications: Device-initiated  Device-initiated options HTTP-based, request/response Framework choices (WCF, OData, WebRequest, etc.) Wire format choices (SOAP, JSON, POX, etc.)
  • 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)
  • 30. Platform Services  Traffic Manager  Content Delivery Network (CDN)  SQL Azure Data Sync  SQL Azure  Windows Azure Storage  Caching
  • 31. Putting it all together
  • 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
  • 34. Toolkits  Easier for device developers to use Windows Azure  Windows Phone: http://bit.ly/watwp7  iOS: http://bit.ly/watios  Android: http://bit.ly/watandroid  OData: http://bit.ly/odataobjc  Toolkits include:  Native libraries (e.g. .NET, Objective-C)  Samples  Project templates  Documentation
  • 36. Windows Azure Office Hours  Talk to an expert  Download the SDK and toolkits  Get a free trial  Enter to WIN a Samsung Focus Windows phone
  • 37. Vote your evaluation This session was . . .  A little lite  Just right  More than I hoped for!
  • 38. Coming soon to a tent near you! www.devcamps.ms