SlideShare a Scribd company logo
1 of 30
Download to read offline
Cloud Powered Mobile Apps
with Azure
Ken Cenerelli
@KenCenerelli
kencenerelli.wordpress.com Microsoft Azure
Agenda
2
Mobile Services Features and Demos
Advanced Features Scaling and Pricing
Questions
What is Mobile Services?
3
Storage
Authentication
Logic
Push
Scaling
Demo: Getting Started
Your first Mobile Service
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
5Microsoft Azure
The REST API
6
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/*
JSON to SQL Type Mappings
7
JSON Type T-SQL Type
Numeric values (integer, decimal,
floating point)
Float(53)
Boolean bit
DateTime DateTimeOffset(3)
String Nvarchar(max)
Microsoft Azure
Auto-generated Columns
• id – unique guid
• __createdAt – date
• __updatedAt – date
• __version – timestamp
• Helps with concurrency and offline
8Microsoft Azure
Backend Logic:
JavaScript & .NET
Server Side Table Scripts
10
Node.js scripts
Intercept CRUD
requests to tables
Passes through to SQL
by default
Fully customizable
logic flow
.NET Web API
backend in
Visual Studio
MongoDB, Table
Storage, SQL out of the
box
Node Modules
11
request push.*
console mssql
tables azure
sendgrid
pusher
twilio
Demo: Customizing Logic
Adding Data Validation
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
13Microsoft Azure
Push Notifications
Push Notification Flow
15Microsoft 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)
16Microsoft Azure
Authorization
&
Authentication
Authentication
Authenticate with Microsoft Account, Twitter, Facebook,
Google
Table level permissions for each CRUD operation
Everyone
Anyone with the Application Key
Only Authenticated Users
Only Scripts and Admins
More granular control with server side scripts
user.level: {admin, authenticated, anonymous}
user.userId: id or undefined if not authenticated
401 Unauthorized response if security check fails
18
User Auth Flow (server)
19Microsoft Azure
GOOGLE
FACEBOOK
TWITTER
MOBILE SERVICE
DEVICE
MICROSOFT
ACCOUNT
AAD
Script
Source
Control
Script Source Control
• Creates a Git repo in Azure
• Access table, scheduler, custom API, shared scripts and permissions
• Pushing changes triggers a redeploy of your Mobile Service
• Enables installing NPM modules (for Node backends)
• Shared Scripts
• Create scripts that can be used from all other scripts in your Service
21Microsoft Azure
Diagnostics
Logging
Scale
Diagnostics, Logging, Scale
23
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
Mobile Service Scaling
 Free: 500k API calls / month / subscription
 Basic: 1.5M API calls / unit (6) / month
 Standard: 15M API calls / unit (10) / month
Microsoft Azure
Demo: Scaling
Leaving Free Mode and Turning on AutoScale
Mobile Service Tiers
26
General Availability
99.9%
Free Basic Standard
Usage
Restrictions
Up to 10 services,
Up to 500 Active
Devices*
N/A N/A
API Calls 500K
(per subscription)
1.5M
(per unit)
15M
(per unit)
Scale N/A Up to 6 (in portal) Up to 10 (in portal)
Scheduled
Jobs
Limited Included Included
SQL
Database
(required)
20MB free DB 20MB free DB 20MB free DB
*Active devices refers to the number of physical devices and
emulators that make at least one call to or receive a push
notification from your mobile service.
Azure Mobile Services
27
Storage
Authentication
Logic
Push
Scaling
Resources
• Get a FREE Microsoft Azure Trial Account:
• http://azure.microsoft.com
• Videos, Tutorials, and More
• http://azure.microsoft.com/mobile
• Microsoft Virtual Academy
• http://bit.ly/1hYwvaq
• SDK Source Code on GitHub
• https://github.com/Azure/azure-mobile-services
• Contact Details
• @KenCenerelli
• Ken_Cenerelli@Outlook.com
28Microsoft Azure
Get started
Visit azure.microsoft.com
Cloud Powered Mobile Apps with Azure

More Related Content

What's hot

Experiences using CouchDB inside Microsoft's Azure team
Experiences using CouchDB inside Microsoft's Azure teamExperiences using CouchDB inside Microsoft's Azure team
Experiences using CouchDB inside Microsoft's Azure teamBrian Benz
 
Cnam azure ze cloud resource manager
Cnam azure ze cloud  resource managerCnam azure ze cloud  resource manager
Cnam azure ze cloud resource managerAymeric Weinbach
 
Stephane Lapointe, Frank Boucher & Alexandre Brisebois: Les micro-services et...
Stephane Lapointe, Frank Boucher & Alexandre Brisebois: Les micro-services et...Stephane Lapointe, Frank Boucher & Alexandre Brisebois: Les micro-services et...
Stephane Lapointe, Frank Boucher & Alexandre Brisebois: Les micro-services et...MSDEVMTL
 
Azure Functions @ global azure day 2017
Azure Functions  @ global azure day 2017Azure Functions  @ global azure day 2017
Azure Functions @ global azure day 2017Sean Feldman
 
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 PartnerMichael Collier
 
Azure functions: Build apps faster with serverless architecture (March 2018)
Azure functions: Build apps faster with serverless architecture (March 2018)Azure functions: Build apps faster with serverless architecture (March 2018)
Azure functions: Build apps faster with serverless architecture (March 2018)Callon Campbell
 
Serverless on Azure with Functions
Serverless on Azure with FunctionsServerless on Azure with Functions
Serverless on Azure with FunctionsChristos Matskas
 
Developing scalable enterprise serverless applications on azure with .net
Developing scalable enterprise serverless applications on azure with .netDeveloping scalable enterprise serverless applications on azure with .net
Developing scalable enterprise serverless applications on azure with .netCallon Campbell
 
Cloud Powered Mobile Apps With Azure
Cloud Powered Mobile Apps With AzureCloud Powered Mobile Apps With Azure
Cloud Powered Mobile Apps With AzureVinh Nguyen Quang
 
Develop a Messaging App on AWS in One Day
Develop a Messaging App on AWS in One DayDevelop a Messaging App on AWS in One Day
Develop a Messaging App on AWS in One DayAmazon Web Services
 
Introduction to serverless compute with azure functions
Introduction to serverless compute with azure functionsIntroduction to serverless compute with azure functions
Introduction to serverless compute with azure functionsCallon Campbell
 
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, AugustKanio Dimitrov
 
Innovations of .NET and Azure (Recaps of Build 2017 selected sessions)
Innovations of .NET and Azure (Recaps of Build 2017 selected sessions)Innovations of .NET and Azure (Recaps of Build 2017 selected sessions)
Innovations of .NET and Azure (Recaps of Build 2017 selected sessions)Jeff Chu
 
Azure fundamental -Introduction
Azure fundamental -IntroductionAzure fundamental -Introduction
Azure fundamental -IntroductionManishK55
 
Scott Guthrie's Windows Azure Overview
Scott Guthrie's Windows Azure Overview Scott Guthrie's Windows Azure Overview
Scott Guthrie's Windows Azure Overview Michael Meagher
 

What's hot (20)

Azure Functions - Introduction
Azure Functions - IntroductionAzure Functions - Introduction
Azure Functions - Introduction
 
Experiences using CouchDB inside Microsoft's Azure team
Experiences using CouchDB inside Microsoft's Azure teamExperiences using CouchDB inside Microsoft's Azure team
Experiences using CouchDB inside Microsoft's Azure team
 
Cnam azure ze cloud resource manager
Cnam azure ze cloud  resource managerCnam azure ze cloud  resource manager
Cnam azure ze cloud resource manager
 
Stephane Lapointe, Frank Boucher & Alexandre Brisebois: Les micro-services et...
Stephane Lapointe, Frank Boucher & Alexandre Brisebois: Les micro-services et...Stephane Lapointe, Frank Boucher & Alexandre Brisebois: Les micro-services et...
Stephane Lapointe, Frank Boucher & Alexandre Brisebois: Les micro-services et...
 
Azure Functions @ global azure day 2017
Azure Functions  @ global azure day 2017Azure Functions  @ global azure day 2017
Azure Functions @ global azure day 2017
 
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
 
Azure functions: Build apps faster with serverless architecture (March 2018)
Azure functions: Build apps faster with serverless architecture (March 2018)Azure functions: Build apps faster with serverless architecture (March 2018)
Azure functions: Build apps faster with serverless architecture (March 2018)
 
Serverless on Azure with Functions
Serverless on Azure with FunctionsServerless on Azure with Functions
Serverless on Azure with Functions
 
Developing scalable enterprise serverless applications on azure with .net
Developing scalable enterprise serverless applications on azure with .netDeveloping scalable enterprise serverless applications on azure with .net
Developing scalable enterprise serverless applications on azure with .net
 
Azure functions serverless
Azure functions serverlessAzure functions serverless
Azure functions serverless
 
Cloud Powered Mobile Apps With Azure
Cloud Powered Mobile Apps With AzureCloud Powered Mobile Apps With Azure
Cloud Powered Mobile Apps With Azure
 
Develop a Messaging App on AWS in One Day
Develop a Messaging App on AWS in One DayDevelop a Messaging App on AWS in One Day
Develop a Messaging App on AWS in One Day
 
Introduction to serverless compute with azure functions
Introduction to serverless compute with azure functionsIntroduction to serverless compute with azure functions
Introduction to serverless compute with azure functions
 
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
 
Azure ppt
Azure pptAzure ppt
Azure ppt
 
Innovations of .NET and Azure (Recaps of Build 2017 selected sessions)
Innovations of .NET and Azure (Recaps of Build 2017 selected sessions)Innovations of .NET and Azure (Recaps of Build 2017 selected sessions)
Innovations of .NET and Azure (Recaps of Build 2017 selected sessions)
 
Intro to cloud computing
Intro to cloud computingIntro to cloud computing
Intro to cloud computing
 
Azure fundamental -Introduction
Azure fundamental -IntroductionAzure fundamental -Introduction
Azure fundamental -Introduction
 
Cnam azure 2015 storage
Cnam azure 2015  storageCnam azure 2015  storage
Cnam azure 2015 storage
 
Scott Guthrie's Windows Azure Overview
Scott Guthrie's Windows Azure Overview Scott Guthrie's Windows Azure Overview
Scott Guthrie's Windows Azure Overview
 

Viewers also liked

Cloud Assessment and Readiness Tool (CART)
Cloud Assessment and Readiness Tool (CART)Cloud Assessment and Readiness Tool (CART)
Cloud Assessment and Readiness Tool (CART)HCL Technologies
 
Building serverless apps with Node.js
Building serverless apps with Node.jsBuilding serverless apps with Node.js
Building serverless apps with Node.jsJulien SIMON
 
AWS Security Best Practices (March 2017)
AWS Security Best Practices (March 2017)AWS Security Best Practices (March 2017)
AWS Security Best Practices (March 2017)Julien SIMON
 
Capture the Cloud with Azure
Capture the Cloud with AzureCapture the Cloud with Azure
Capture the Cloud with AzureShahed Chowdhuri
 
Account Planning in Salesforce (January 21, 2016)
Account Planning in Salesforce (January 21, 2016)Account Planning in Salesforce (January 21, 2016)
Account Planning in Salesforce (January 21, 2016)Salesforce Partners
 
Cloud Foundry Summit 2015: 12 Factor Apps For Operations
Cloud Foundry Summit 2015: 12 Factor Apps For OperationsCloud Foundry Summit 2015: 12 Factor Apps For Operations
Cloud Foundry Summit 2015: 12 Factor Apps For OperationsVMware Tanzu
 
JavaOne 2015: 12 Factor App
JavaOne 2015: 12 Factor AppJavaOne 2015: 12 Factor App
JavaOne 2015: 12 Factor AppJoe Kutner
 
Cloud Readiness 101: Analyzing and Visualizing Your IT Infrastructure
Cloud Readiness 101: Analyzing and Visualizing Your IT InfrastructureCloud Readiness 101: Analyzing and Visualizing Your IT Infrastructure
Cloud Readiness 101: Analyzing and Visualizing Your IT Infrastructurepanagenda
 
The 12 Factor App
The 12 Factor AppThe 12 Factor App
The 12 Factor Apprudiyardley
 
12 factor app an introduction
12 factor app an introduction12 factor app an introduction
12 factor app an introductionKrishna-Kumar
 
Perform a Cloud Readiness Assessment for Your Own Company
Perform a Cloud Readiness Assessment for Your Own CompanyPerform a Cloud Readiness Assessment for Your Own Company
Perform a Cloud Readiness Assessment for Your Own CompanyAmazon Web Services
 
Viadeo - Cost Driven Development
Viadeo - Cost Driven DevelopmentViadeo - Cost Driven Development
Viadeo - Cost Driven DevelopmentJulien SIMON
 
A cloud readiness assessment framework
A cloud readiness assessment frameworkA cloud readiness assessment framework
A cloud readiness assessment frameworkCarlo Colicchio
 
Cloud Journey- Partner Advantage
Cloud Journey- Partner AdvantageCloud Journey- Partner Advantage
Cloud Journey- Partner AdvantageSalesforce Partners
 
Building Serverless APIs (January 2017)
Building Serverless APIs (January 2017)Building Serverless APIs (January 2017)
Building Serverless APIs (January 2017)Julien SIMON
 
Google Cloud Platform Empowers TensorFlow and Machine Learning
Google Cloud Platform Empowers TensorFlow and Machine LearningGoogle Cloud Platform Empowers TensorFlow and Machine Learning
Google Cloud Platform Empowers TensorFlow and Machine LearningDataWorks Summit/Hadoop Summit
 
Infrastructure as code with Amazon Web Services
Infrastructure as code with Amazon Web ServicesInfrastructure as code with Amazon Web Services
Infrastructure as code with Amazon Web ServicesJulien SIMON
 
Big Data answers in seconds with Amazon Athena
Big Data answers in seconds with Amazon AthenaBig Data answers in seconds with Amazon Athena
Big Data answers in seconds with Amazon AthenaJulien SIMON
 
HA/DR options with SQL Server in Azure and hybrid
HA/DR options with SQL Server in Azure and hybridHA/DR options with SQL Server in Azure and hybrid
HA/DR options with SQL Server in Azure and hybridJames Serra
 
Deep Dive: Amazon Relational Database Service (March 2017)
Deep Dive: Amazon Relational Database Service (March 2017)Deep Dive: Amazon Relational Database Service (March 2017)
Deep Dive: Amazon Relational Database Service (March 2017)Julien SIMON
 

Viewers also liked (20)

Cloud Assessment and Readiness Tool (CART)
Cloud Assessment and Readiness Tool (CART)Cloud Assessment and Readiness Tool (CART)
Cloud Assessment and Readiness Tool (CART)
 
Building serverless apps with Node.js
Building serverless apps with Node.jsBuilding serverless apps with Node.js
Building serverless apps with Node.js
 
AWS Security Best Practices (March 2017)
AWS Security Best Practices (March 2017)AWS Security Best Practices (March 2017)
AWS Security Best Practices (March 2017)
 
Capture the Cloud with Azure
Capture the Cloud with AzureCapture the Cloud with Azure
Capture the Cloud with Azure
 
Account Planning in Salesforce (January 21, 2016)
Account Planning in Salesforce (January 21, 2016)Account Planning in Salesforce (January 21, 2016)
Account Planning in Salesforce (January 21, 2016)
 
Cloud Foundry Summit 2015: 12 Factor Apps For Operations
Cloud Foundry Summit 2015: 12 Factor Apps For OperationsCloud Foundry Summit 2015: 12 Factor Apps For Operations
Cloud Foundry Summit 2015: 12 Factor Apps For Operations
 
JavaOne 2015: 12 Factor App
JavaOne 2015: 12 Factor AppJavaOne 2015: 12 Factor App
JavaOne 2015: 12 Factor App
 
Cloud Readiness 101: Analyzing and Visualizing Your IT Infrastructure
Cloud Readiness 101: Analyzing and Visualizing Your IT InfrastructureCloud Readiness 101: Analyzing and Visualizing Your IT Infrastructure
Cloud Readiness 101: Analyzing and Visualizing Your IT Infrastructure
 
The 12 Factor App
The 12 Factor AppThe 12 Factor App
The 12 Factor App
 
12 factor app an introduction
12 factor app an introduction12 factor app an introduction
12 factor app an introduction
 
Perform a Cloud Readiness Assessment for Your Own Company
Perform a Cloud Readiness Assessment for Your Own CompanyPerform a Cloud Readiness Assessment for Your Own Company
Perform a Cloud Readiness Assessment for Your Own Company
 
Viadeo - Cost Driven Development
Viadeo - Cost Driven DevelopmentViadeo - Cost Driven Development
Viadeo - Cost Driven Development
 
A cloud readiness assessment framework
A cloud readiness assessment frameworkA cloud readiness assessment framework
A cloud readiness assessment framework
 
Cloud Journey- Partner Advantage
Cloud Journey- Partner AdvantageCloud Journey- Partner Advantage
Cloud Journey- Partner Advantage
 
Building Serverless APIs (January 2017)
Building Serverless APIs (January 2017)Building Serverless APIs (January 2017)
Building Serverless APIs (January 2017)
 
Google Cloud Platform Empowers TensorFlow and Machine Learning
Google Cloud Platform Empowers TensorFlow and Machine LearningGoogle Cloud Platform Empowers TensorFlow and Machine Learning
Google Cloud Platform Empowers TensorFlow and Machine Learning
 
Infrastructure as code with Amazon Web Services
Infrastructure as code with Amazon Web ServicesInfrastructure as code with Amazon Web Services
Infrastructure as code with Amazon Web Services
 
Big Data answers in seconds with Amazon Athena
Big Data answers in seconds with Amazon AthenaBig Data answers in seconds with Amazon Athena
Big Data answers in seconds with Amazon Athena
 
HA/DR options with SQL Server in Azure and hybrid
HA/DR options with SQL Server in Azure and hybridHA/DR options with SQL Server in Azure and hybrid
HA/DR options with SQL Server in Azure and hybrid
 
Deep Dive: Amazon Relational Database Service (March 2017)
Deep Dive: Amazon Relational Database Service (March 2017)Deep Dive: Amazon Relational Database Service (March 2017)
Deep Dive: Amazon Relational Database Service (March 2017)
 

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 servicesAymeric Weinbach
 
Mobile Services for Windows Azure
Mobile Services for Windows AzureMobile Services for Windows Azure
Mobile Services for Windows AzureAbhishek Sur
 
2015.04.23 Azure Mobile Services
2015.04.23 Azure Mobile Services2015.04.23 Azure Mobile Services
2015.04.23 Azure Mobile ServicesMarco Parenzan
 
Windows Azure - Mobile Services
Windows Azure - Mobile ServicesWindows Azure - Mobile Services
Windows Azure - Mobile ServicesJose R Jara
 
Cloud Powered Mobile Apps with Azure
Cloud Powered Mobile Apps with AzureCloud Powered Mobile Apps with Azure
Cloud Powered Mobile Apps with AzureGameLandVN
 
Антон Бойко (Microsoft Azure MVP, Ukrainian Azure Community Founder) «Azure M...
Антон Бойко (Microsoft Azure MVP, Ukrainian Azure Community Founder) «Azure M...Антон Бойко (Microsoft Azure MVP, Ukrainian Azure Community Founder) «Azure M...
Антон Бойко (Microsoft Azure MVP, Ukrainian Azure Community Founder) «Azure M...DataArt
 
What's New for the Windows Azure Developer? Lots! (July 2013)
What's New for the Windows Azure Developer?  Lots! (July 2013)What's New for the Windows Azure Developer?  Lots! (July 2013)
What's New for the Windows Azure Developer? Lots! (July 2013)Michael Collier
 
Get started azure- Azure Mobile Services
Get started azure- Azure Mobile ServicesGet started azure- Azure Mobile Services
Get started azure- Azure Mobile ServicesSenthamil Selvan
 
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, augustTokyo Azure Meetup
 
Building a chat app with windows azure mobile
Building a chat app with windows azure mobileBuilding a chat app with windows azure mobile
Building a chat app with windows azure mobileFlavius-Radu Demian
 
Serverless Application Development with Azure
Serverless Application Development with AzureServerless Application Development with Azure
Serverless Application Development with AzureCallon Campbell
 
Cross platform mobile backend with mobile services
Cross platform mobile backend with mobile servicesCross platform mobile backend with mobile services
Cross platform mobile backend with mobile servicesJames Quick
 
Azure app service to create web and mobile apps
Azure app service to create web and mobile appsAzure app service to create web and mobile apps
Azure app service to create web and mobile appsKen Cenerelli
 
Microsoft Azure in der Praxis
Microsoft Azure in der PraxisMicrosoft Azure in der Praxis
Microsoft Azure in der PraxisYvette Teiken
 
AWS 2016 re:Invent Launch Summary
AWS 2016 re:Invent Launch SummaryAWS 2016 re:Invent Launch Summary
AWS 2016 re:Invent Launch SummaryAmazon Web Services
 
Azure integration services from the IT Professional perspective
Azure integration services from the IT Professional perspectiveAzure integration services from the IT Professional perspective
Azure integration services from the IT Professional perspectiveAlessandro Moura
 
Architecting IoT solutions with Microsoft Azure
Architecting IoT solutions with Microsoft AzureArchitecting IoT solutions with Microsoft Azure
Architecting IoT solutions with Microsoft AzureAlon Fliess
 
Build intelligent solutions using ms azure
Build intelligent solutions using ms azureBuild intelligent solutions using ms azure
Build intelligent solutions using ms azureMostafa
 
KoprowskiT_SQLSatMoscow_WASDforBeginners
KoprowskiT_SQLSatMoscow_WASDforBeginnersKoprowskiT_SQLSatMoscow_WASDforBeginners
KoprowskiT_SQLSatMoscow_WASDforBeginnersTobias Koprowski
 

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
 
Mobile Services for Windows Azure
Mobile Services for Windows AzureMobile Services for Windows Azure
Mobile Services for Windows Azure
 
2015.04.23 Azure Mobile Services
2015.04.23 Azure Mobile Services2015.04.23 Azure Mobile Services
2015.04.23 Azure Mobile Services
 
Windows Azure - Mobile Services
Windows Azure - Mobile ServicesWindows Azure - Mobile Services
Windows Azure - 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
 
Антон Бойко (Microsoft Azure MVP, Ukrainian Azure Community Founder) «Azure M...
Антон Бойко (Microsoft Azure MVP, Ukrainian Azure Community Founder) «Azure M...Антон Бойко (Microsoft Azure MVP, Ukrainian Azure Community Founder) «Azure M...
Антон Бойко (Microsoft Azure MVP, Ukrainian Azure Community Founder) «Azure M...
 
What's New for the Windows Azure Developer? Lots! (July 2013)
What's New for the Windows Azure Developer?  Lots! (July 2013)What's New for the Windows Azure Developer?  Lots! (July 2013)
What's New for the Windows Azure Developer? Lots! (July 2013)
 
Get started azure- Azure Mobile Services
Get started azure- Azure Mobile ServicesGet started azure- Azure Mobile Services
Get started azure- Azure Mobile Services
 
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
 
Building a chat app with windows azure mobile
Building a chat app with windows azure mobileBuilding a chat app with windows azure mobile
Building a chat app with windows azure mobile
 
Serverless Application Development with Azure
Serverless Application Development with AzureServerless Application Development with Azure
Serverless Application Development with Azure
 
Cross platform mobile backend with mobile services
Cross platform mobile backend with mobile servicesCross platform mobile backend with mobile services
Cross platform mobile backend with mobile services
 
Azure app service to create web and mobile apps
Azure app service to create web and mobile appsAzure app service to create web and mobile apps
Azure app service to create web and mobile apps
 
Microsoft Azure in der Praxis
Microsoft Azure in der PraxisMicrosoft Azure in der Praxis
Microsoft Azure in der Praxis
 
AWS 2016 re:Invent Launch Summary
AWS 2016 re:Invent Launch SummaryAWS 2016 re:Invent Launch Summary
AWS 2016 re:Invent Launch Summary
 
Azure integration services from the IT Professional perspective
Azure integration services from the IT Professional perspectiveAzure integration services from the IT Professional perspective
Azure integration services from the IT Professional perspective
 
Architecting IoT solutions with Microsoft Azure
Architecting IoT solutions with Microsoft AzureArchitecting IoT solutions with Microsoft Azure
Architecting IoT solutions with Microsoft Azure
 
Build intelligent solutions using ms azure
Build intelligent solutions using ms azureBuild intelligent solutions using ms azure
Build intelligent solutions using ms azure
 
Azure Mobile Services
Azure Mobile ServicesAzure Mobile Services
Azure Mobile Services
 
KoprowskiT_SQLSatMoscow_WASDforBeginners
KoprowskiT_SQLSatMoscow_WASDforBeginnersKoprowskiT_SQLSatMoscow_WASDforBeginners
KoprowskiT_SQLSatMoscow_WASDforBeginners
 

More from Ken Cenerelli

ASP.NET Core deployment options
ASP.NET Core deployment optionsASP.NET Core deployment options
ASP.NET Core deployment optionsKen Cenerelli
 
No SQL, No Problem: Use Azure DocumentDB
No SQL, No Problem: Use Azure DocumentDBNo SQL, No Problem: Use Azure DocumentDB
No SQL, No Problem: Use Azure DocumentDBKen Cenerelli
 
ASP.NET Core: The best of the new bits
ASP.NET Core: The best of the new bitsASP.NET Core: The best of the new bits
ASP.NET Core: The best of the new bitsKen Cenerelli
 
Analyze Your Code With Visual Studio 2015 Diagnostic Tools
Analyze Your Code With Visual Studio 2015 Diagnostic ToolsAnalyze Your Code With Visual Studio 2015 Diagnostic Tools
Analyze Your Code With Visual Studio 2015 Diagnostic ToolsKen Cenerelli
 
Building high performance software with Microsoft Application Insights
Building high performance software with Microsoft Application InsightsBuilding high performance software with Microsoft Application Insights
Building high performance software with Microsoft Application InsightsKen Cenerelli
 
An Introduction to Universal Windows Apps
An Introduction to Universal Windows AppsAn Introduction to Universal Windows Apps
An Introduction to Universal Windows Apps Ken Cenerelli
 
Build end-to-end video experiences with Azure Media Services
Build end-to-end video experiences with Azure Media ServicesBuild end-to-end video experiences with Azure Media Services
Build end-to-end video experiences with Azure Media ServicesKen Cenerelli
 
Building Windows 8.1 Apps with Mobile Services
Building Windows 8.1 Apps with Mobile ServicesBuilding Windows 8.1 Apps with Mobile Services
Building Windows 8.1 Apps with Mobile ServicesKen Cenerelli
 
Maximizing code reuse between Windows Phone 8 and Windows 8 (That Conference ...
Maximizing code reuse between Windows Phone 8 and Windows 8 (That Conference ...Maximizing code reuse between Windows Phone 8 and Windows 8 (That Conference ...
Maximizing code reuse between Windows Phone 8 and Windows 8 (That Conference ...Ken Cenerelli
 
Maximizing code reuse between Windows Phone 8 and Windows 8 (DevTeach Toronto...
Maximizing code reuse between Windows Phone 8 and Windows 8 (DevTeach Toronto...Maximizing code reuse between Windows Phone 8 and Windows 8 (DevTeach Toronto...
Maximizing code reuse between Windows Phone 8 and Windows 8 (DevTeach Toronto...Ken Cenerelli
 
An Introduction to Windows Phone 7 Development
An Introduction to Windows Phone 7 DevelopmentAn Introduction to Windows Phone 7 Development
An Introduction to Windows Phone 7 DevelopmentKen Cenerelli
 
Introduction To Umbraco
Introduction To UmbracoIntroduction To Umbraco
Introduction To UmbracoKen Cenerelli
 

More from Ken Cenerelli (13)

ASP.NET Core deployment options
ASP.NET Core deployment optionsASP.NET Core deployment options
ASP.NET Core deployment options
 
No SQL, No Problem: Use Azure DocumentDB
No SQL, No Problem: Use Azure DocumentDBNo SQL, No Problem: Use Azure DocumentDB
No SQL, No Problem: Use Azure DocumentDB
 
ASP.NET Core: The best of the new bits
ASP.NET Core: The best of the new bitsASP.NET Core: The best of the new bits
ASP.NET Core: The best of the new bits
 
Analyze Your Code With Visual Studio 2015 Diagnostic Tools
Analyze Your Code With Visual Studio 2015 Diagnostic ToolsAnalyze Your Code With Visual Studio 2015 Diagnostic Tools
Analyze Your Code With Visual Studio 2015 Diagnostic Tools
 
Azure Data Storage
Azure Data StorageAzure Data Storage
Azure Data Storage
 
Building high performance software with Microsoft Application Insights
Building high performance software with Microsoft Application InsightsBuilding high performance software with Microsoft Application Insights
Building high performance software with Microsoft Application Insights
 
An Introduction to Universal Windows Apps
An Introduction to Universal Windows AppsAn Introduction to Universal Windows Apps
An Introduction to Universal Windows Apps
 
Build end-to-end video experiences with Azure Media Services
Build end-to-end video experiences with Azure Media ServicesBuild end-to-end video experiences with Azure Media Services
Build end-to-end video experiences with Azure Media Services
 
Building Windows 8.1 Apps with Mobile Services
Building Windows 8.1 Apps with Mobile ServicesBuilding Windows 8.1 Apps with Mobile Services
Building Windows 8.1 Apps with Mobile Services
 
Maximizing code reuse between Windows Phone 8 and Windows 8 (That Conference ...
Maximizing code reuse between Windows Phone 8 and Windows 8 (That Conference ...Maximizing code reuse between Windows Phone 8 and Windows 8 (That Conference ...
Maximizing code reuse between Windows Phone 8 and Windows 8 (That Conference ...
 
Maximizing code reuse between Windows Phone 8 and Windows 8 (DevTeach Toronto...
Maximizing code reuse between Windows Phone 8 and Windows 8 (DevTeach Toronto...Maximizing code reuse between Windows Phone 8 and Windows 8 (DevTeach Toronto...
Maximizing code reuse between Windows Phone 8 and Windows 8 (DevTeach Toronto...
 
An Introduction to Windows Phone 7 Development
An Introduction to Windows Phone 7 DevelopmentAn Introduction to Windows Phone 7 Development
An Introduction to Windows Phone 7 Development
 
Introduction To Umbraco
Introduction To UmbracoIntroduction To Umbraco
Introduction To Umbraco
 

Recently uploaded

Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxfnnc6jmgwh
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
Kuma Meshes Part I - The basics - A tutorial
Kuma Meshes Part I - The basics - A tutorialKuma Meshes Part I - The basics - A tutorial
Kuma Meshes Part I - The basics - A tutorialJoão Esperancinha
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Kaya Weers
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)Mark Simos
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkPixlogix Infotech
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructureitnewsafrica
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesManik S Magar
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Nikki Chapple
 
Landscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdfLandscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdfAarwolf Industries LLC
 

Recently uploaded (20)

Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
Kuma Meshes Part I - The basics - A tutorial
Kuma Meshes Part I - The basics - A tutorialKuma Meshes Part I - The basics - A tutorial
Kuma Meshes Part I - The basics - A tutorial
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App Framework
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
 
Landscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdfLandscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdf
 

Cloud Powered Mobile Apps with Azure

  • 1. Cloud Powered Mobile Apps with Azure Ken Cenerelli @KenCenerelli kencenerelli.wordpress.com Microsoft Azure
  • 2. Agenda 2 Mobile Services Features and Demos Advanced Features Scaling and Pricing Questions
  • 3. What is Mobile Services? 3 Storage Authentication Logic Push Scaling
  • 4. Demo: Getting Started Your first Mobile Service
  • 5. 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 5Microsoft Azure
  • 6. The REST API 6 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/*
  • 7. JSON to SQL Type Mappings 7 JSON Type T-SQL Type Numeric values (integer, decimal, floating point) Float(53) Boolean bit DateTime DateTimeOffset(3) String Nvarchar(max) Microsoft Azure
  • 8. Auto-generated Columns • id – unique guid • __createdAt – date • __updatedAt – date • __version – timestamp • Helps with concurrency and offline 8Microsoft Azure
  • 10. Server Side Table Scripts 10 Node.js scripts Intercept CRUD requests to tables Passes through to SQL by default Fully customizable logic flow .NET Web API backend in Visual Studio MongoDB, Table Storage, SQL out of the box
  • 11. Node Modules 11 request push.* console mssql tables azure sendgrid pusher twilio
  • 13. 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 13Microsoft Azure
  • 16. 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) 16Microsoft Azure
  • 18. Authentication Authenticate with Microsoft Account, Twitter, Facebook, Google Table level permissions for each CRUD operation Everyone Anyone with the Application Key Only Authenticated Users Only Scripts and Admins More granular control with server side scripts user.level: {admin, authenticated, anonymous} user.userId: id or undefined if not authenticated 401 Unauthorized response if security check fails 18
  • 19. User Auth Flow (server) 19Microsoft Azure GOOGLE FACEBOOK TWITTER MOBILE SERVICE DEVICE MICROSOFT ACCOUNT AAD
  • 21. Script Source Control • Creates a Git repo in Azure • Access table, scheduler, custom API, shared scripts and permissions • Pushing changes triggers a redeploy of your Mobile Service • Enables installing NPM modules (for Node backends) • Shared Scripts • Create scripts that can be used from all other scripts in your Service 21Microsoft Azure
  • 23. Diagnostics, Logging, Scale 23 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
  • 24. Mobile Service Scaling  Free: 500k API calls / month / subscription  Basic: 1.5M API calls / unit (6) / month  Standard: 15M API calls / unit (10) / month Microsoft Azure
  • 25. Demo: Scaling Leaving Free Mode and Turning on AutoScale
  • 26. Mobile Service Tiers 26 General Availability 99.9% Free Basic Standard Usage Restrictions Up to 10 services, Up to 500 Active Devices* N/A N/A API Calls 500K (per subscription) 1.5M (per unit) 15M (per unit) Scale N/A Up to 6 (in portal) Up to 10 (in portal) Scheduled Jobs Limited Included Included SQL Database (required) 20MB free DB 20MB free DB 20MB free DB *Active devices refers to the number of physical devices and emulators that make at least one call to or receive a push notification from your mobile service.
  • 28. Resources • Get a FREE Microsoft Azure Trial Account: • http://azure.microsoft.com • Videos, Tutorials, and More • http://azure.microsoft.com/mobile • Microsoft Virtual Academy • http://bit.ly/1hYwvaq • SDK Source Code on GitHub • https://github.com/Azure/azure-mobile-services • Contact Details • @KenCenerelli • Ken_Cenerelli@Outlook.com 28Microsoft Azure

Editor's Notes

  1. Speaking Points: Topics covered in the session include What is Mobile Services, a feature of Azure Features and demos Advanced features throughout the session Scaling and pricing details Questions at the end
  2. 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 Scaling – so you can meet the demand of your mobile apps when they get featured
  3. 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
  4. Speaking points Without having to do more on the server side than say we wanted a table named TodoItem, we were able to start storing data in our database We created a new DB for this Mobile Service, but, we can use the same database for multiple mobile services. This is possible because each table created has it’s own schema set to the name of that mobile service 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)
  5. Speaking points This is the mapping for the REST API exposed by table storage Whenever you generate a table, the REST API is auto created for you Standard REST Anything that can talk REST can connect to your Mobile Service
  6. Speaking points JSON to SQL mapping Whatever JSON data type on left is passed in generates column of SQL type on right Mobile Services uses Dynamic Schematization to inspect the data you send over to create new columns
  7. Speaking notes Auto-generated columns id – unique id used to handle querying, updating, and deleting specific rows createdAt, updatedAt, version help with optimistic concurrency (first update wins) Last three columns not pulled to client by default (Need to specify query parameter to get those back)
  8. Speaking points * Section change: Backend Logic
  9. Speaking points Node backend generates Node scripts for each table action Scripts intercept CRUD requests against a table Pass through to SQL by default Custom logic can be added here Edit in portal (NODE) .NET Backend creates Visual Studio project
  10. Speaking points Node backend comes with pre-included modules Request – make web requests against 3rd party services Push.* - perform push notifications Console – log information MSSQL – call stored procedures / perform custom SQL queries Tables – OO way of accessing tables in backend Azure – access service bus, blob, table storage, notification hubs, queues, etc. Partners that offer other abilities Sendgrid – send emails Pusher – web socket style real-time communications Twilio – SMS messaging and voice capabilities Most have a free tier you can use
  11. Speaking Points: Let’s add some server scripts to validate our todo item before we Insert it When Dynamic Schema is enabled, your Mobile Service will automatically add columns to tables as necessary to store incoming data We’ll make it so the data will only be saved if the todo item’s text is at least 5 characters Demo: Customizing logic If using quick start Go into insert script and add validation to check length of item.text field Run app and show validation catching Show app still working if validation is fulfilled
  12. 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
  13. Speaking points Section change: Push Notifications
  14. Speaking points Push notifications work the same no matter which client you’re working with STEP 1 – Client talks to PNS to register for push STEP 2 – Client receives token and passes to Mobile Service for storage STEP 3 – Mobile Service asks PNS to deliver payload to token / channel URI / registration ID STEP 4 – PNS delivers push to client app PNS = Push Notification Service (i.e. MPNS, WNS, GCM, ADM, APNS)
  15. 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
  16. Speaking points Section change: Authorization and Authentication Controlling who can access what
  17. Speaking Points Server auth flow uses OAUTH Mobile Service is registered with provider to allow auth Client calls auth method and passes in provider name User authenticates, Mobile Service and provider do OAUTH User ID and token (for Mobile Service) returned to client Provider token / secret accessible in Mobile Service To interact with Facebook you can talk to their REST-based Graph API To get the user information, we send a request passing the access token as a query string parameter With the access token you can also call other functions on the Graph API, depending on user access
  18. Speaking points Subject change: Script source control
  19. Speaking points Script source control creates GIT repo for all scripts and permission JSON files Enables you to pull scripts down and edit locally Lets you create shared scripts to reuse code Enables installing of NPM modules (Node) SWITCH to Azure Portal to show them (Dashboard | right side | “Set up source control”)
  20. Speaking points Subject change: diagnostics, logging, scale
  21. 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 based All console statements and errors go to logging area Auto-scaling helps save money Free tier for Mobile Services and SQL while developing
  22. Speaking points Scaling Free 500k / month / sub (across entire subscription is important distinction) Basic 1.5M / unit / month (up to 6 units) Standard 15M / unit / month (up to 10 units) More units available by contacting support
  23. Demo: Scaling Go to scaling tab Go to Standard mode Turn on auto-scaling Explain that additional units will only be turned on / used if you need them based off daily API calls
  24. Speaking points Review different tiers For SQL Database, explain there is a 20mb free DB you can use (one per subscription) SQL database bills separately but is a full SQL DB and can be accessed from other resources (i.e. web sites, VMs)
  25. 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 Scaling – so you can meet the demand of your mobile apps when they get featured
  26. 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