Presentation is loading. Please wait.

Presentation is loading. Please wait.

Need for Speed: Why Applications With No Database and No Services are Fast ARC334 Nick Randolph – Built to Roam.

Similar presentations


Presentation on theme: "Need for Speed: Why Applications With No Database and No Services are Fast ARC334 Nick Randolph – Built to Roam."— Presentation transcript:

1 Need for Speed: Why Applications With No Database and No Services are Fast
ARC334 Nick Randolph – Built to Roam

2 Cloud Fail Step 1: Agree the cloud is a good thing
6/25/ :32 AM Cloud Fail Step 1: Agree the cloud is a good thing Step 2: Continue with traditional architecture Step 3: Disappointed that cloud isn’t any faster Step 4: Move to a different cloud provider Step 5: Opinion is cloud is slow and expensive Step 6: Go back to self-hosting solution © 2014 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

3 Cloud Success Step 1: Stop what you’re currently doing Step 2: Choices
Step 3: Architect, Build, Test, Deploy, Analyse Step 4: Rinse and repeat Faster solution, lower cost, higher volume – Winning!

4 2-Tier Architecture I have a database, I have an app BAM!
I have a database app © 2014 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

5 3-Tier Architecture Add a service tier Security Separation of concerns
Logging Caching

6 N-Tier Architecture Designed for scale out of intermediary components
Limited by Database – scale up!

7 Offline is a Golden Bullet
Clients download data for offline access Solves connectivity issues Reduces load But… Increases complexity Requires change tracking Increases load during synchronisation

8 Enter the Cloud Many, many, many different components
Many, many, many different ways to build solution

9 Two Scenarios Data retrieval
Traditional: Service returns data from DB to client Cloud: Webjob constructs blob data that’s retrieved by client via the CDN Data processing Traditional: Service updates DB from client request Cloud: Client request goes on queue to be processed; Client notified when processing complete

10 6/25/ :32 AM Data Retrieval © 2014 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

11 Data Retrieval Traditional: Client app request data via a service
Service retrieves data directly from database Service/DB throttles data to limit download size Client makes repetitive calls to retrieve all data

12 Data Retrieval - Traditional
Connectivity Not online, no data Service not online, no data Database not available, no data Database load Queries based on app usage (peak loads) Performance Limited by query performance

13 Data Retrieval Cloud Webjob periodically queries data
Prepares blob data (eg json) Blob accessible via CDN

14 Data Retrieval - Cloud Connectivity
Microsoft Ignite 2016 6/25/ :32 AM Data Retrieval - Cloud Connectivity Clients will cache blobs (immutable) Database load Queries are scheduled so load can be managed Performance Download from CDN Blobs are compressed Locally cached © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

15 Demo Generating Blob Contents via a Webjob Microsoft Ignite 2016
6/25/ :32 AM Demo Generating Blob Contents via a Webjob © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

16 6/25/ :32 AM Data Processing © 2014 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

17 Data Processing Traditional Client sends update request to service
Service processes update Service sends update to database Service responds to client success/failure

18 Data Processing - Traditional
Connectivity Same as for retrieval Except – unknown success/failure on update Performance Operation to complete before timeout End user experience User has to remain on page/app

19 Data Processing Cloud Client prepares update request
Sends update request when service available Service queues update request Webjob picks up request and updates database Notification sent to device Client notifies user that update is complete

20 Data Processing - Client
Connectivity Update queued for when online Updates are idempotent (for connectivity loss) Notification update on completion Performance / User experience No blocking experience

21 Demo Data Processing via a Queue and Webjob Microsoft Ignite 2016
6/25/ :32 AM Demo Data Processing via a Queue and Webjob © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

22 Cloud Fail v’s Cloud Success
Define the problem you’re trying to solve! Architect for Best user experience Scale Beware the Bottlenecks Cost

23 Continue your Ignite learning path
6/25/ :32 AM Continue your Ignite learning path Visit Channel 9 to access a wide range of Microsoft training and event recordings Head to the TechNet Eval Centre to download trials of the latest Microsoft products Visit Microsoft Virtual Academy for free online training visit © 2014 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

24 6/25/ :32 AM Thank you Chat with me in the Speaker Lounge Find or © 2014 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.


Download ppt "Need for Speed: Why Applications With No Database and No Services are Fast ARC334 Nick Randolph – Built to Roam."

Similar presentations


Ads by Google