connecting windows phones and slates to windows azure

32
Connecting Windows Phones and Slates to Windows Azure Rob Tiffany Mobility Architect Microsoft WPH307

Upload: angie

Post on 22-Feb-2016

31 views

Category:

Documents


0 download

DESCRIPTION

WPH307. Connecting Windows Phones and Slates to Windows Azure. Rob Tiffany Mobility Architect Microsoft. During this Session You have a Chance to Win a Windows Phone. announcement. Who Am I?. Architect in the Microsoft Mobility Center of Excellence. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Connecting Windows Phones and Slates to Windows Azure

Connecting Windows Phones and Slates to Windows Azure

Rob TiffanyMobility ArchitectMicrosoft

WPH307

Page 2: Connecting Windows Phones and Slates to Windows Azure

During this Session You have a Chance to Win a Windows Phone

announcement

Page 3: Connecting Windows Phones and Slates to Windows Azure

Who Am I?

Architect in the Microsoft Mobility Center of Excellence

Created the Microsoft Mobile Line of Business Accelerator for Windows Mobile

Writer :: Entrepreneur :: Former Embedded MVP :: Submariner :: Disk Jockey :: Blogger :: Hiker

Page 4: Connecting Windows Phones and Slates to Windows Azure

AgendaWhat are we talking about today?

The State of Mobile | Wireless + Scalability | Performance

Introduction to Travel Scenario

Stepping through the ArchitectureWindows Azure

SQL AzureWorker RolesAzure Table StorageWCF ServicesAzure Queues

Windows Phones + SlatesWCF Service ConsumptionNoSQL Object CacheLINQChange Tracking

Page 5: Connecting Windows Phones and Slates to Windows Azure

The Current State of WirelessWhere’s the bandwidth?

AT&T: “We will deliver as much data over our network in the first 5 weeks of 2015 as we did all year in 2010”

Congestion factorsMore subscribers with smartphones (data | photos | videos)Spectrum + cell towers + antennas + home usersMobile operator bandwidth capsLatency cell tower backhaul network internet final destination back to the device

Mobile developers must acknowledge and deal with these issues to ensure a delightful user experience

Page 6: Connecting Windows Phones and Slates to Windows Azure

Supporting Millions of Connected DevicesHow do they scale?

Database(s) that nobody touches

Thousands of web servers on commodity hardware

Replicated, horizontally-scaled NoSQL databases at the edge; Data sharding using small tables for fast access

Load-balancing at every tier

Hundreds of terabytes of data in an in-RAM, distributed cache

Compiling slow, web server scripting code into native

MapReduce for parallel analysis of “big data”

Page 7: Connecting Windows Phones and Slates to Windows Azure

How will You Scale?Windows Azure

SQL Azure is never touched by devicesWorker Roles replicate outbound data from SQL Azure to NoSQL Azure Table StorageWorker Roles move inbound data from Azure queues to SQL Azure

Scale-out Windows Azure instances as needed

Wireless efficiency is realized via Web Roles that use of REST + JSON WCF Services

Distributed caching is handled by AppFabric Caching

Devices cache data and work offline

Page 8: Connecting Windows Phones and Slates to Windows Azure

Puget Sound Executive Submarine ServiceTravel Scenario

Residents of Bainbridge Island have long employed a variety of methods of getting to work in Seattle ranging from ferries to sea planes. A new way of traversing the Sound has arrived… it’s underwater.

Two submarines carry passengers between Seattle and Bainbridge Island every day. Each luxury submarine carries eight passengers with all first-class seating plus free Wi-Fi and coffee.

Passengers arrive at their destination quickly due to a submerged transit time of just 15 minutes plus limousines waiting at the dock to whisk them to their office.

Page 9: Connecting Windows Phones and Slates to Windows Azure

Architecture

Retrieve From Database

PopulateTables

PopulateTables

AzureTable

WorkerRole

AzureTable

AzureTable

AzureTable

AzureTable

Page 10: Connecting Windows Phones and Slates to Windows Azure

demo

Worker Role Pulls Data from SQL Azure to Populate Azure TablesRob TiffanyMobility ArchitectMicrosoft Mobility Center of Excellence

Page 11: Connecting Windows Phones and Slates to Windows Azure

Architecture

Read from Tableswith LINQ

Reads

Multichannel Transports and Data Formats

HTTP + REST + JSON

OutputCaching

WCFWeb Role

AzureTable

AzureTable

AzureTable

AzureTable

AzureTable

Page 12: Connecting Windows Phones and Slates to Windows Azure

demo

WCF Services Retrieve and Cache Data from Azure TablesRob TiffanyMobility ArchitectMicrosoft Mobility Center of Excellence

Page 13: Connecting Windows Phones and Slates to Windows Azure

Architecture

Reads

Multichannel Transports and Data Formats

HTTP + REST + JSON

Serialize Object Collections

to Isolated Storage

OutputCaching

WCFWeb Role

MobileClient

OfflineData

OfflineData

OfflineData

Page 14: Connecting Windows Phones and Slates to Windows Azure

demo

Windows Phone/Slate Retrieves Data from WCF Service and Stores in NoSQL Object CacheRob TiffanyMobility ArchitectMicrosoft Mobility Center of Excellence

Page 15: Connecting Windows Phones and Slates to Windows Azure

Architecture

Write Serialized Objects to Queues

Writes

Multichannel Transports and Data Formats

HTTP + REST + JSON

WCFWeb Role

AzureQueue

MobileClient

AzureQueue

MobileClient

MobileClient

AzureQueue

Page 16: Connecting Windows Phones and Slates to Windows Azure

demo

Windows Phone/Slate Uploads Data to WCF Service Which Drops It in an Azure QueueRob TiffanyMobility ArchitectMicrosoft Mobility Center of Excellence

Page 17: Connecting Windows Phones and Slates to Windows Azure

Architecture

Read Serialized Objects from

Queues

Insert Objects

into Database

WorkerRole

AzureQueue

AzureQueue

AzureQueue

Page 18: Connecting Windows Phones and Slates to Windows Azure

demo

Worker Role Retrieves Data from Azure Queues and Populates SQL AzureRob TiffanyMobility ArchitectMicrosoft Mobility Center of Excellence

Page 19: Connecting Windows Phones and Slates to Windows Azure

Architecture

Write Serialized Objects to Queues

Read Serialized Objects from

Queues

Insert Objects

into Database

Retrieve from Database

PopulateTables

PopulateTables

Read from Tableswith LINQ

Writes

Reads

Multichannel Transports and Data Formats

HTTP + REST + JSON

Serialize Object Collections

to Isolated Storage

OutputCaching

WCFWeb Role

WorkerRole

AzureTable

WorkerRole

AzureTable

AzureTable

AzureQueue

MobileClient

MobileClient

OfflineData

AzureQueue

AzureTable

AzureTable

MobileClient

MobileClient

OfflineData

OfflineData

AzureQueue

DONE

Page 20: Connecting Windows Phones and Slates to Windows Azure

Call to ActionLearning + takeaways

What did you learn?The reality of the wireless world around usHow to move to the next level of Internet ScaleHow to build a complete device to cloud systemLearn even more at http://robtiffany.com Download the tools at http://create.msdn.com

TakeawaysYou should now be equipped with the building blocks and architectural blueprint needed to build large-scale cloud systems designed to support millions of devices.

Page 21: Connecting Windows Phones and Slates to Windows Azure

Related Content

WPH304 | New Windows Phone Data Access Features

WPH301 | Deploying Windows Phone in the Enterprise

WPH305 | Internet Explorer 9 on Windows Phone

WPH311 | Lessons Learned about App Performance on Windows Phone

WPH312 | What’s New for Windows Phone Development with Silverlight?

Find Me Later at the Windows Phone Booth After this Session

Page 22: Connecting Windows Phones and Slates to Windows Azure

Windows Phone Related Content Monday, May 16

WPH201: Windows Phone: What’s New?

WPH371-INT: Building a Mobile Message Queue for Windows Phone

WPH312: What’s New for Windows Phone Development with Microsoft Silverlight?

WPH302: Windows Phone Productivity Scenarios with Microsoft Exchange Server 2010 and Microsoft Office 365

WPH373: Meet the Windows Phone Application Platform Engineering Team

Page 23: Connecting Windows Phones and Slates to Windows Azure

Windows Phone Related Content Tuesday, May 17

WPH308: Multi-tasking and Application Switching for Windows Phone

OSP312: Developing Microsoft Office Business Solutions that Span the PC, Windows Phone, and the Web

WPH309: Enhanced Push Notifications and Live Tiles for Windows Phone

WPH303: Understanding the Windows Phone Development Tools

COS315: Building Windows Phone Applications with the Windows Azure Platform

Page 24: Connecting Windows Phones and Slates to Windows Azure

Windows Phone Related Content Tuesday, May 17

WPH305: Internet Explorer 9 on Windows Phone

OSP209 Building Your First Windows Phone Application for Microsoft SharePoint 2010

WPH203: Understanding Windows Phone Marketplace

WPH375-INT: Building Multi-tasking Enabled Windows Phone Applications

Page 25: Connecting Windows Phones and Slates to Windows Azure

Windows Phone Related Content Wednesday, May 18

WPH202: Windows Phone at Microsoft

DEV317: Using Microsoft Visual Basic to Build Windows Phone Applications

WPH310: Building Your First Windows Phone Game with XNA

WPH374-INT: Hardcore Windows Phone Development Questions

DEV205: Microsoft Expression for Developers: Demystifying User Interface Design

WPH306: Building Windows Phone Applications with Microsoft Silverlight and XNA

WPH304: New Windows Phone Data Access Features

Page 26: Connecting Windows Phones and Slates to Windows Azure

Windows Phone Related Content Thursday, May 19

WPH301: Deploying Windows Phone in the Enterprise

DPR303: Developing Enterprise-Grade Mobile Solutions

WPH307: Connecting Windows Phones and Slates to Windows Azure

WPH372-INT: Windows Phone Marketplace: Interactive

WPH311: Lessons Learned about Application Performance on Windows Phone

WPH311: Lessons Learned about Application Performance on Windows Phone

SIM323: User Identity and Authentication for Desktop and Phone Applications

Page 27: Connecting Windows Phones and Slates to Windows Azure

Windows Phone ResourcesQuestions? Demos? The latest phones?

Visit the Windows Phone Technical Learning Center for demos and more…

Business IT resourcesblogs.technet.com/b/windows_phone_4_it_pros

Developer resources

craete.msdn.com

Experience Windows Phone 7 on-line and get a backstage pass

www.windowsphone.com

Page 28: Connecting Windows Phones and Slates to Windows Azure

Win a Windows Phone Contest

QUESTIONS?

Go to the WPC Information Counter

at the TLC

HAT CONTEST*

How do you enter?Enter by visiting the Windows Phone booth, accepting a free Windows Phone branded hat, and wearing that hat during the Event

How am I selected?Each day of the event, a Windows Phone representative will randomly select up to 5 people who are observed wearing their Windows Phone branded hat

SESSION CONTEST*

During each Windows Phone session the moderator will post a question; the first person to correctly answer the question and is called on by the moderator will potentially win

* Restrictions apply please see contest rules for eligibility and restrictions. Contest rules are displayed in the Technical Learning Center at the WPH info counter

Page 29: Connecting Windows Phones and Slates to Windows Azure

Resources

www.microsoft.com/teched

Sessions On-Demand & Community Microsoft Certification & Training Resources

Resources for IT Professionals Resources for Developers

www.microsoft.com/learning

http://microsoft.com/technet http://microsoft.com/msdn

Learning

http://northamerica.msteched.com

Connect. Share. Discuss.

Page 30: Connecting Windows Phones and Slates to Windows Azure

Complete an evaluation on CommNet and enter to win!

Page 31: Connecting Windows Phones and Slates to Windows Azure

Scan the Tag to evaluate this session now on myTech•Ed Mobile

Page 32: Connecting Windows Phones and Slates to Windows Azure