SlideShare a Scribd company logo
Cloud Powered Mobile Apps
with Azure
Toan Huynh
Microsoft Azure
What is Mobile Services?
2
Storage
Authentication
Logic
Push
Scheduler
Structured Storage
• Powered by SQL Database
• Supports rich querying capabilities
• Dynamic Schematization
• Data management in:
• Azure Portal
• SQL Portal (Silverlight)
• SQL Management Studio
• REST API
• Azure CLI Tools
• SQL CLI
3Microsoft Azure
The REST API
4
Action HTTP Method URL Suffix
Create POST /TodoItem
Read GET /TodoItem?filter=id%3D42
Update PATCH /TodoItem/id
Delete DELETE /TodoItem/id
Microsoft Azure
Base Endpoint: https://MobileService.azure-
mobile.net/tables/*
Server Side Table Scripts
5
Node.js scripts
Intercept CRUD
requests to tables
Passes through to SQL
by default
Fully customizable
.NET Web API
backend in
Visual Studio
MongoDB, Table
Storage, SQL out of the
box
.NET Backend
• Web API based w/ additional functionality, developed in and deployed
from Visual Studio
• TableController data context can map to SQL, Table Storage, Mongo, etc
• Pull in NuGet modules and other .NET libraries
• Set permissions with attributes on classes
• Local Debug
6Microsoft Azure
Custom API
• Non-table based endpoints
• Accessible from
• GET
• POST
• PUT
• PATCH
• DELETE
• For node.js logic in scripts like table endpoints
• For .NET delivered through a WebAPI
• Expose any functionality you want
7Microsoft Azure
File Storage
• Don’t store files in Mobile Services DB
• Use Mobile Service to provide a Valet Key Pattern to Blob Storage,
aka BLOB SAS
• Create table / custom API script to talk to Blob Storage
• Script generates Shared Access Signature (SAS) URL
• Script returns SAS URL to client app
• Client app uploads data to blob storage directly
• Store file URL in Mobile Service DB as needed
• Blob storage costs less and is built for redundant file storage
• Resource Broker extension for .NET and Node backends
8Microsoft Azure
Notification Hubs
• Separate from Mobile Services
• Can be used regardless of whether you’re storing data in Azure
• Extremely scalable push notifications
• Cross platform support
• Push to iOS, Android, Kindle, Windows Phone, Windows Store
• Tags (i.e. tie my registration to this topic or user ID)
• Templates (i.e. when I get a push, send it in this format)
• Server SDKs for .NET, Java, and Node (also open as REST API)
9Microsoft Azure
Data Authorization
Per HTTP method auth options:
• App Key Required
• Not ideal for production use
• Everyone
• Authenticated Users
• Admins and other scripts
• Requires Master Key as header
401 Unauthorized response if security check fails
10Microsoft Azure
Offline support
TableController
(with optimistic
concurrency)
Mobile ServiceDevice
SQL Database
BYOD
MongoDB
Table Storage
SQLite
Explicit Push/Pull
Conflict resolution
Offline Sync: Potential Uses
• Improve app responsiveness by caching server data
locally on the device
• Make apps resilient against intermittent network
connectivity
• Allow end-users to create and modify data even when
there is no network access, supporting scenarios with
little or no connectivity
• Sync data across multiple devices and detect conflicts
when the same record is modified by two devices
12
Scheduled Jobs
• Executes a script on defined schedule
• Can be run on demand
• Ideal for any backend data processing job
• Length / frequency based of Mobile Service tier
13Microsoft Azure
Diagnostics, Logging, Scale
14
API Calls, # of Devices,
Data Out
Console Logging (auto
error logging)
Scale Service Based off API
Calls
Auto-scale to Save Money
Free Tier for Mobile Free Tier for SQL
Azure Mobile Services
15
Storage
Authentication
Logic
Push
Scheduler
Demo: Mobile Services .NET
Backend
Creating a Leaderboard App
Resources
• Get a FREE Microsoft Azure Trial Account:
• http://azure.microsoft.com
• Videos, Tutorials, and More
• http://azure.microsoft.com/mobile
• SDK Source Code on GitHub
• https://github.com/Azure/azure-mobile-services
• Contact Details
• <Contact Info>
17Microsoft Azure
Get started
Visit azure.microsoft.com
Cloud Powered Mobile Apps With Azure

More Related Content

What's hot

Windows Azure Active Directory
Windows Azure Active DirectoryWindows Azure Active Directory
Windows Azure Active DirectoryPavel Revenkov
 
Windows Azure Active Directory
Windows Azure Active DirectoryWindows Azure Active Directory
Windows Azure Active Directory
Krunal Trivedi
 
Programming with Azure Active Directory
Programming with Azure Active DirectoryProgramming with Azure Active Directory
Programming with Azure Active Directory
Joonas Westlin
 
Azure Active Directory
Azure Active DirectoryAzure Active Directory
Azure Active Directory
Sovelto
 
Azure Active Directory - An Introduction
Azure Active Directory  - An IntroductionAzure Active Directory  - An Introduction
Azure Active Directory - An Introduction
Venkatesh Narayanan
 
Authentication & Authorization in ASPdotNet MVC
Authentication & Authorization in ASPdotNet MVCAuthentication & Authorization in ASPdotNet MVC
Authentication & Authorization in ASPdotNet MVC
Mindfire Solutions
 
Azure Active Directory
Azure Active DirectoryAzure Active Directory
Azure Active Directory
Thurupathan Vijayakumar
 
Zero Credential Development with Managed Identities
Zero Credential Development with Managed IdentitiesZero Credential Development with Managed Identities
Zero Credential Development with Managed Identities
Joonas Westlin
 
Web App Security
Web App SecurityWeb App Security
Web App Security
Shahed Chowdhuri
 
Zero Credential Development with Managed Identities for Azure resources
Zero Credential Development with Managed Identities for Azure resourcesZero Credential Development with Managed Identities for Azure resources
Zero Credential Development with Managed Identities for Azure resources
Joonas Westlin
 
O365Con18 - Azure Active Directory - Sasha Kranjac & Mustafa Toroman
O365Con18 - Azure Active Directory - Sasha Kranjac & Mustafa ToromanO365Con18 - Azure Active Directory - Sasha Kranjac & Mustafa Toroman
O365Con18 - Azure Active Directory - Sasha Kranjac & Mustafa Toroman
NCCOMMS
 
Building Android, iOS and Windows 8 Apps with Windows Azure Mobile Services
Building Android, iOS and Windows 8 Apps with Windows Azure Mobile ServicesBuilding Android, iOS and Windows 8 Apps with Windows Azure Mobile Services
Building Android, iOS and Windows 8 Apps with Windows Azure Mobile ServicesPranav Ainavolu
 
Windows azure active directory
Windows azure active directoryWindows azure active directory
Windows azure active directory
Krunal Trivedi
 
Azure active directory
Azure active directoryAzure active directory
Azure active directory
Raju Kumar
 
Authentication and Authorization in Asp.Net
Authentication and Authorization in Asp.NetAuthentication and Authorization in Asp.Net
Authentication and Authorization in Asp.Net
Shivanand Arur
 
Windows azure
Windows azureWindows azure
Windows azure
Önder Değer
 
Identity in ASP.NET Core
Identity in ASP.NET CoreIdentity in ASP.NET Core
Identity in ASP.NET Core
ondrejbalas
 
Microsoft Azure Identity and O365
Microsoft Azure Identity and O365Microsoft Azure Identity and O365
Microsoft Azure Identity and O365
Kris Wagner
 

What's hot (18)

Windows Azure Active Directory
Windows Azure Active DirectoryWindows Azure Active Directory
Windows Azure Active Directory
 
Windows Azure Active Directory
Windows Azure Active DirectoryWindows Azure Active Directory
Windows Azure Active Directory
 
Programming with Azure Active Directory
Programming with Azure Active DirectoryProgramming with Azure Active Directory
Programming with Azure Active Directory
 
Azure Active Directory
Azure Active DirectoryAzure Active Directory
Azure Active Directory
 
Azure Active Directory - An Introduction
Azure Active Directory  - An IntroductionAzure Active Directory  - An Introduction
Azure Active Directory - An Introduction
 
Authentication & Authorization in ASPdotNet MVC
Authentication & Authorization in ASPdotNet MVCAuthentication & Authorization in ASPdotNet MVC
Authentication & Authorization in ASPdotNet MVC
 
Azure Active Directory
Azure Active DirectoryAzure Active Directory
Azure Active Directory
 
Zero Credential Development with Managed Identities
Zero Credential Development with Managed IdentitiesZero Credential Development with Managed Identities
Zero Credential Development with Managed Identities
 
Web App Security
Web App SecurityWeb App Security
Web App Security
 
Zero Credential Development with Managed Identities for Azure resources
Zero Credential Development with Managed Identities for Azure resourcesZero Credential Development with Managed Identities for Azure resources
Zero Credential Development with Managed Identities for Azure resources
 
O365Con18 - Azure Active Directory - Sasha Kranjac & Mustafa Toroman
O365Con18 - Azure Active Directory - Sasha Kranjac & Mustafa ToromanO365Con18 - Azure Active Directory - Sasha Kranjac & Mustafa Toroman
O365Con18 - Azure Active Directory - Sasha Kranjac & Mustafa Toroman
 
Building Android, iOS and Windows 8 Apps with Windows Azure Mobile Services
Building Android, iOS and Windows 8 Apps with Windows Azure Mobile ServicesBuilding Android, iOS and Windows 8 Apps with Windows Azure Mobile Services
Building Android, iOS and Windows 8 Apps with Windows Azure Mobile Services
 
Windows azure active directory
Windows azure active directoryWindows azure active directory
Windows azure active directory
 
Azure active directory
Azure active directoryAzure active directory
Azure active directory
 
Authentication and Authorization in Asp.Net
Authentication and Authorization in Asp.NetAuthentication and Authorization in Asp.Net
Authentication and Authorization in Asp.Net
 
Windows azure
Windows azureWindows azure
Windows azure
 
Identity in ASP.NET Core
Identity in ASP.NET CoreIdentity in ASP.NET Core
Identity in ASP.NET Core
 
Microsoft Azure Identity and O365
Microsoft Azure Identity and O365Microsoft Azure Identity and O365
Microsoft Azure Identity and O365
 

Similar to Cloud Powered Mobile Apps With Azure

Cnam cours azure zecloud mobile services
Cnam cours azure zecloud mobile servicesCnam cours azure zecloud mobile services
Cnam cours azure zecloud mobile services
Aymeric Weinbach
 
Cloud Powered Mobile Apps with Azure
Cloud Powered Mobile Apps  with AzureCloud Powered Mobile Apps  with Azure
Cloud Powered Mobile Apps with Azure
Kris Wagner
 
2015.04.23 Azure Mobile Services
2015.04.23 Azure Mobile Services2015.04.23 Azure Mobile Services
2015.04.23 Azure Mobile Services
Marco Parenzan
 
Mobile Services for Windows Azure
Mobile Services for Windows AzureMobile Services for Windows Azure
Mobile Services for Windows Azure
Abhishek Sur
 
Azure Mobile Services
Azure Mobile ServicesAzure Mobile Services
Azure Mobile Services
Anubhav Ranjan
 
Microservices in Azure
Microservices in AzureMicroservices in Azure
Microservices in Azure
Doug Vanderweide
 
Tokyo azure meetup #8 azure update, august
Tokyo azure meetup #8   azure update, augustTokyo azure meetup #8   azure update, august
Tokyo azure meetup #8 azure update, august
Tokyo Azure Meetup
 
Tokyo azure meetup #8 - Azure Update, August
Tokyo azure meetup #8 - Azure Update, AugustTokyo azure meetup #8 - Azure Update, August
Tokyo azure meetup #8 - Azure Update, August
Kanio Dimitrov
 
Microsoft Azure in der Praxis
Microsoft Azure in der PraxisMicrosoft Azure in der Praxis
Microsoft Azure in der Praxis
Yvette Teiken
 
Windows Azure Mobile Services at ReBOOT Cloud Camp , Bangalore
Windows Azure Mobile Services at ReBOOT Cloud Camp , BangaloreWindows Azure Mobile Services at ReBOOT Cloud Camp , Bangalore
Windows Azure Mobile Services at ReBOOT Cloud Camp , Bangalore
Senthil Kumar
 
Microsoft Azure catch-up
Microsoft Azure catch-upMicrosoft Azure catch-up
Microsoft Azure catch-up
François Boucher
 
Microservices in Azure
Microservices in AzureMicroservices in Azure
Microservices in Azure
Doug Vanderweide
 
[Rakuten TechTalk] Microsoft Azure (August 20, 2014)
[Rakuten TechTalk] Microsoft Azure (August 20, 2014)[Rakuten TechTalk] Microsoft Azure (August 20, 2014)
[Rakuten TechTalk] Microsoft Azure (August 20, 2014)
Naoki (Neo) SATO
 
Azure Mobile Service - Techdays 2014
Azure Mobile Service - Techdays 2014Azure Mobile Service - Techdays 2014
Azure Mobile Service - Techdays 2014
Puja Pramudya
 
Tokyo Azure Meetup #4 - Build 2016 Overview
Tokyo Azure Meetup #4 -  Build 2016 OverviewTokyo Azure Meetup #4 -  Build 2016 Overview
Tokyo Azure Meetup #4 - Build 2016 Overview
Tokyo Azure Meetup
 
Simplify hybrid data integration at an enterprise scale. Integrate all your d...
Simplify hybrid data integration at an enterprise scale. Integrate all your d...Simplify hybrid data integration at an enterprise scale. Integrate all your d...
Simplify hybrid data integration at an enterprise scale. Integrate all your d...
varanasisatyanvesh
 
Windows Azure Mobile Services - The Perfect Partner
Windows Azure Mobile Services - The Perfect PartnerWindows Azure Mobile Services - The Perfect Partner
Windows Azure Mobile Services - The Perfect Partner
Michael Collier
 
London .NET Developers Azure Camp Keynote
London .NET Developers Azure Camp KeynoteLondon .NET Developers Azure Camp Keynote
London .NET Developers Azure Camp Keynote
Tom Walker
 
2014.10.22 Building Azure Solutions with Office 365
2014.10.22 Building Azure Solutions with Office 3652014.10.22 Building Azure Solutions with Office 365
2014.10.22 Building Azure Solutions with Office 365
Marco Parenzan
 
Microsoft-Azure-Overvi2222222222222ew.pptx
Microsoft-Azure-Overvi2222222222222ew.pptxMicrosoft-Azure-Overvi2222222222222ew.pptx
Microsoft-Azure-Overvi2222222222222ew.pptx
saidbilgen
 

Similar to Cloud Powered Mobile Apps With Azure (20)

Cnam cours azure zecloud mobile services
Cnam cours azure zecloud mobile servicesCnam cours azure zecloud mobile services
Cnam cours azure zecloud mobile services
 
Cloud Powered Mobile Apps with Azure
Cloud Powered Mobile Apps  with AzureCloud Powered Mobile Apps  with Azure
Cloud Powered Mobile Apps with Azure
 
2015.04.23 Azure Mobile Services
2015.04.23 Azure Mobile Services2015.04.23 Azure Mobile Services
2015.04.23 Azure Mobile Services
 
Mobile Services for Windows Azure
Mobile Services for Windows AzureMobile Services for Windows Azure
Mobile Services for Windows Azure
 
Azure Mobile Services
Azure Mobile ServicesAzure Mobile Services
Azure Mobile Services
 
Microservices in Azure
Microservices in AzureMicroservices in Azure
Microservices in Azure
 
Tokyo azure meetup #8 azure update, august
Tokyo azure meetup #8   azure update, augustTokyo azure meetup #8   azure update, august
Tokyo azure meetup #8 azure update, august
 
Tokyo azure meetup #8 - Azure Update, August
Tokyo azure meetup #8 - Azure Update, AugustTokyo azure meetup #8 - Azure Update, August
Tokyo azure meetup #8 - Azure Update, August
 
Microsoft Azure in der Praxis
Microsoft Azure in der PraxisMicrosoft Azure in der Praxis
Microsoft Azure in der Praxis
 
Windows Azure Mobile Services at ReBOOT Cloud Camp , Bangalore
Windows Azure Mobile Services at ReBOOT Cloud Camp , BangaloreWindows Azure Mobile Services at ReBOOT Cloud Camp , Bangalore
Windows Azure Mobile Services at ReBOOT Cloud Camp , Bangalore
 
Microsoft Azure catch-up
Microsoft Azure catch-upMicrosoft Azure catch-up
Microsoft Azure catch-up
 
Microservices in Azure
Microservices in AzureMicroservices in Azure
Microservices in Azure
 
[Rakuten TechTalk] Microsoft Azure (August 20, 2014)
[Rakuten TechTalk] Microsoft Azure (August 20, 2014)[Rakuten TechTalk] Microsoft Azure (August 20, 2014)
[Rakuten TechTalk] Microsoft Azure (August 20, 2014)
 
Azure Mobile Service - Techdays 2014
Azure Mobile Service - Techdays 2014Azure Mobile Service - Techdays 2014
Azure Mobile Service - Techdays 2014
 
Tokyo Azure Meetup #4 - Build 2016 Overview
Tokyo Azure Meetup #4 -  Build 2016 OverviewTokyo Azure Meetup #4 -  Build 2016 Overview
Tokyo Azure Meetup #4 - Build 2016 Overview
 
Simplify hybrid data integration at an enterprise scale. Integrate all your d...
Simplify hybrid data integration at an enterprise scale. Integrate all your d...Simplify hybrid data integration at an enterprise scale. Integrate all your d...
Simplify hybrid data integration at an enterprise scale. Integrate all your d...
 
Windows Azure Mobile Services - The Perfect Partner
Windows Azure Mobile Services - The Perfect PartnerWindows Azure Mobile Services - The Perfect Partner
Windows Azure Mobile Services - The Perfect Partner
 
London .NET Developers Azure Camp Keynote
London .NET Developers Azure Camp KeynoteLondon .NET Developers Azure Camp Keynote
London .NET Developers Azure Camp Keynote
 
2014.10.22 Building Azure Solutions with Office 365
2014.10.22 Building Azure Solutions with Office 3652014.10.22 Building Azure Solutions with Office 365
2014.10.22 Building Azure Solutions with Office 365
 
Microsoft-Azure-Overvi2222222222222ew.pptx
Microsoft-Azure-Overvi2222222222222ew.pptxMicrosoft-Azure-Overvi2222222222222ew.pptx
Microsoft-Azure-Overvi2222222222222ew.pptx
 

More from Vinh Nguyen Quang

JOY Entertainment Short Introduction
JOY Entertainment Short IntroductionJOY Entertainment Short Introduction
JOY Entertainment Short Introduction
Vinh Nguyen Quang
 
Microsoft support - Ca Nguyen
Microsoft support - Ca NguyenMicrosoft support - Ca Nguyen
Microsoft support - Ca Nguyen
Vinh Nguyen Quang
 
Microsoft azure & mobile developers
Microsoft azure & mobile developersMicrosoft azure & mobile developers
Microsoft azure & mobile developers
Vinh Nguyen Quang
 
IDC Game Intro
IDC Game IntroIDC Game Intro
IDC Game Intro
Vinh Nguyen Quang
 
Multi-geo Deployment
Multi-geo DeploymentMulti-geo Deployment
Multi-geo Deployment
Vinh Nguyen Quang
 
Game dev start-up and Microsoft Azure
Game dev start-up and Microsoft AzureGame dev start-up and Microsoft Azure
Game dev start-up and Microsoft Azure
Vinh Nguyen Quang
 
Microsoft azure - the cloud for modern business
Microsoft azure - the cloud for modern businessMicrosoft azure - the cloud for modern business
Microsoft azure - the cloud for modern business
Vinh Nguyen Quang
 
Wowzapp vietgamedev gangnam_game
Wowzapp vietgamedev gangnam_gameWowzapp vietgamedev gangnam_game
Wowzapp vietgamedev gangnam_gameVinh Nguyen Quang
 
Schedule wowzapp2012
Schedule wowzapp2012Schedule wowzapp2012
Schedule wowzapp2012
Vinh Nguyen Quang
 
X dict presentation
X dict presentationX dict presentation
X dict presentation
Vinh Nguyen Quang
 
Gideros introduction
Gideros introductionGideros introduction
Gideros introduction
Vinh Nguyen Quang
 

More from Vinh Nguyen Quang (15)

JOY Entertainment Short Introduction
JOY Entertainment Short IntroductionJOY Entertainment Short Introduction
JOY Entertainment Short Introduction
 
Microsoft support - Ca Nguyen
Microsoft support - Ca NguyenMicrosoft support - Ca Nguyen
Microsoft support - Ca Nguyen
 
Microsoft azure & mobile developers
Microsoft azure & mobile developersMicrosoft azure & mobile developers
Microsoft azure & mobile developers
 
IDC Game Intro
IDC Game IntroIDC Game Intro
IDC Game Intro
 
Multi-geo Deployment
Multi-geo DeploymentMulti-geo Deployment
Multi-geo Deployment
 
Game dev start-up and Microsoft Azure
Game dev start-up and Microsoft AzureGame dev start-up and Microsoft Azure
Game dev start-up and Microsoft Azure
 
Microsoft azure - the cloud for modern business
Microsoft azure - the cloud for modern businessMicrosoft azure - the cloud for modern business
Microsoft azure - the cloud for modern business
 
Windows 8 challenge
Windows 8 challengeWindows 8 challenge
Windows 8 challenge
 
Asha competition 2013
Asha competition 2013Asha competition 2013
Asha competition 2013
 
Wowzapp vietgamedev gangnam_game
Wowzapp vietgamedev gangnam_gameWowzapp vietgamedev gangnam_game
Wowzapp vietgamedev gangnam_game
 
Schedule wowzapp2012
Schedule wowzapp2012Schedule wowzapp2012
Schedule wowzapp2012
 
Porting contest
Porting contestPorting contest
Porting contest
 
X dict presentation
X dict presentationX dict presentation
X dict presentation
 
X dict presentation
X dict presentationX dict presentation
X dict presentation
 
Gideros introduction
Gideros introductionGideros introduction
Gideros introduction
 

Cloud Powered Mobile Apps With Azure

  • 1. Cloud Powered Mobile Apps with Azure Toan Huynh Microsoft Azure
  • 2. What is Mobile Services? 2 Storage Authentication Logic Push Scheduler
  • 3. Structured Storage • Powered by SQL Database • Supports rich querying capabilities • Dynamic Schematization • Data management in: • Azure Portal • SQL Portal (Silverlight) • SQL Management Studio • REST API • Azure CLI Tools • SQL CLI 3Microsoft Azure
  • 4. The REST API 4 Action HTTP Method URL Suffix Create POST /TodoItem Read GET /TodoItem?filter=id%3D42 Update PATCH /TodoItem/id Delete DELETE /TodoItem/id Microsoft Azure Base Endpoint: https://MobileService.azure- mobile.net/tables/*
  • 5. Server Side Table Scripts 5 Node.js scripts Intercept CRUD requests to tables Passes through to SQL by default Fully customizable .NET Web API backend in Visual Studio MongoDB, Table Storage, SQL out of the box
  • 6. .NET Backend • Web API based w/ additional functionality, developed in and deployed from Visual Studio • TableController data context can map to SQL, Table Storage, Mongo, etc • Pull in NuGet modules and other .NET libraries • Set permissions with attributes on classes • Local Debug 6Microsoft Azure
  • 7. Custom API • Non-table based endpoints • Accessible from • GET • POST • PUT • PATCH • DELETE • For node.js logic in scripts like table endpoints • For .NET delivered through a WebAPI • Expose any functionality you want 7Microsoft Azure
  • 8. File Storage • Don’t store files in Mobile Services DB • Use Mobile Service to provide a Valet Key Pattern to Blob Storage, aka BLOB SAS • Create table / custom API script to talk to Blob Storage • Script generates Shared Access Signature (SAS) URL • Script returns SAS URL to client app • Client app uploads data to blob storage directly • Store file URL in Mobile Service DB as needed • Blob storage costs less and is built for redundant file storage • Resource Broker extension for .NET and Node backends 8Microsoft Azure
  • 9. Notification Hubs • Separate from Mobile Services • Can be used regardless of whether you’re storing data in Azure • Extremely scalable push notifications • Cross platform support • Push to iOS, Android, Kindle, Windows Phone, Windows Store • Tags (i.e. tie my registration to this topic or user ID) • Templates (i.e. when I get a push, send it in this format) • Server SDKs for .NET, Java, and Node (also open as REST API) 9Microsoft Azure
  • 10. Data Authorization Per HTTP method auth options: • App Key Required • Not ideal for production use • Everyone • Authenticated Users • Admins and other scripts • Requires Master Key as header 401 Unauthorized response if security check fails 10Microsoft Azure
  • 11. Offline support TableController (with optimistic concurrency) Mobile ServiceDevice SQL Database BYOD MongoDB Table Storage SQLite Explicit Push/Pull Conflict resolution
  • 12. Offline Sync: Potential Uses • Improve app responsiveness by caching server data locally on the device • Make apps resilient against intermittent network connectivity • Allow end-users to create and modify data even when there is no network access, supporting scenarios with little or no connectivity • Sync data across multiple devices and detect conflicts when the same record is modified by two devices 12
  • 13. Scheduled Jobs • Executes a script on defined schedule • Can be run on demand • Ideal for any backend data processing job • Length / frequency based of Mobile Service tier 13Microsoft Azure
  • 14. Diagnostics, Logging, Scale 14 API Calls, # of Devices, Data Out Console Logging (auto error logging) Scale Service Based off API Calls Auto-scale to Save Money Free Tier for Mobile Free Tier for SQL
  • 16. Demo: Mobile Services .NET Backend Creating a Leaderboard App
  • 17. Resources • Get a FREE Microsoft Azure Trial Account: • http://azure.microsoft.com • Videos, Tutorials, and More • http://azure.microsoft.com/mobile • SDK Source Code on GitHub • https://github.com/Azure/azure-mobile-services • Contact Details • <Contact Info> 17Microsoft Azure

Editor's Notes

  1. Speaking Notes Azure Mobile Services is a Backend-as-a-Service Instead of you having to design, build, test, deploy, manage, and upgrade your whole backend, we do it for you Features of Mobile Services Storage – SQL DB Authentication – built in support for social providers w/ ability to custom auth Backend logic – data validation, logical flows, etc Push Notifications – across all major mobile platforms Scheduler – backend job processing
  2. Speaking points Mobile Service easily connects to SQL Database SQL offers rich querying and indexing capabilities Dynamic Schematization means you don’t have to be a DBA and manage schema Data can be managed in: Azure Portal (read and delete data) SQL Portal (Silverlight) SQL Management Studio (windows) REST API (used by SDKs) Azure CLI tools SQL CLI (Node module)
  3. Speaking points This is the mapping for the REST API exposed by table storage Standard REST Anything that can talk REST can connect to your Mobile Service
  4. Speaking points Node backend generates Node scripts for each table action Scripts intercept CRUD requests Pass to SQL by default Custom logic added here Edit in portal (NODE) .NET Backend creates Visual Studio project
  5. Speaking points .NET backend is currently in preview Bases off of Web API Develop and deploy in VS (also create new Mobile Services with VS project template) Debug locally Can pull in NuGet and other .NET libs TableController is base for accessing data, can be overridden to talk to Table Storage, Mongo, etc Permissions handled as attributes on classes
  6. Speaking points All scripts so far tied to a table action Custom APIs are non-table based endpoints Script functionality for normal HTTP methods
  7. File storage SQL DB for Mobile Services not ideal for file data storage Best practice is to use Mobile Service as Proxy Mobile Service script generates SAS URL Client uploads file to SAS URL Valet Key Pattern http://msdn.microsoft.com/en-us/library/dn568102.aspx
  8. Speaking points Notification Hubs are a separate service from Mobile Services but also used by Mobile Services Pushes to iOS, Android, Kindle, Windows Phone, Windows Store Extremely scalable (millions of pushes in minutes) Tags and templates Server SDKs: .NET, Java (beta), Node, REST API
  9. Speaking points Data auth – locking data down Default is App Key Required, great for pre-release time period Not production ready due to key’s accessibility in public apps Authenticated users – requests must contain user ID and matching auth token Admins and other scripts – only external requests with Master Key make it through Otherwise 401 is returned
  10. Speaking points Schedule jobs (scripts) can be run by the scheduler Ideal for any backend job processing (regular push notification, remove old data, etc) Length and how often you can run job based off tier of your mobile service
  11. Speaking points Some default stats like # of api calls, # of devices connecting, amount of data out Api calls are important because that’s how mobile services’ scale is baed All console statements and errors go to logging area Auto-scaling helps save money Free tier for Mobile Services and SQL while developing
  12. Speaking Notes Summarize earlier slide Azure Mobile Services is a Backend-as-a-Service Instead of you having to design, build, test, deploy, manage, and upgrade your whole backend, we do it for you Features of Mobile Services Storage – SQL DB Authentication – built in support for social providers w/ ability to custom auth Backend logic – data validation, logical flows, etc Push Notifications – across all major mobile platforms Scheduler – backend job processing
  13. Demo: Getting Started Go to the portal Create a new mobile service (Node backend works with most of deck) Walk through Getting started screen Choose platform Download quick start Run quick start Save and update data Show data in portal (Node) Walk through client code that deals with Mobile Service
  14. Speaking points Sign up for a free Azure trial Mobile Services are free to develop with (to a point) on non-trial subscription Additional videos, tutorials, samples available SDK source code (for Mobile Services and Notification Hubs) available in GitHub